在群表示论的领域中,杨图和杨表是对称群及相关结构表示分类和分析的基本工具。
杨图其实就是整数分割(或者说是配分数)的可视化表示,整数分割与对称群不可约表示之间存在密切的对应关系(一组配分数就对应了对称群的一个不可约表示),杨图的形状包含了表示的重要信息,包括对称群不可约表示的维度和对称性。
杨表是在杨图的基础上构建的,通过在框格中填入整数,并遵循特定规则。标准杨表要求每行和每列的填充值严格递增,而半标准杨表允许重复填充值,但仍需要满足行递增和列递增的条件。
除了在群表示论中,杨图和杨表在组合学、代数几何、数学物理等领域也有应用。
因为我最近在写的笔记用到了杨图、杨表、杨算符的内容,查了一下知乎没有人写怎么在 LaTeX 里绘制杨图和杨表,所以我这里简单写一篇文章以做介绍。
本文选自:https://zhuanlan.zhihu.com/p/4908403199
在 LaTeX 中绘制杨图杨表可以有三个宏包来支持,即 young, youngtab 和 ytableau,前两个宏包已经过时,我这里以第三个宏包 ytabelau 为例做说明。
首先第一件事当然是导入宏包:\usepackage{ytableau}
。
绘制杨图的基本命令是:
\ydiagram [⟨general formatting⟩] {[⟨offset⟩ +]⟨number⟩,...}
这里的 ⟨offset⟩ 是可选项,表示每一行表格的起始位置,后面的 ⟨number⟩ 代表着每一行表格的个数。
以 \ydiagram{2 + 1, 3, 1}
为例子:
完整地写出来就是:
\documentclass[border=5pt]{standalone}
\usepackage{ytableau}
\begin{document}
\ydiagram{2 + 1, 3, 1}
\end{document}
注意这里的 ydiagram 默认是行内显示的,如果需要用行间显示,可以在外面套一个 begin{equation} …… end{equation} 就可以了。
例如置换群表示外积 [2]⊙[1] 的约化,用杨图写出来就是:
\documentclass[border=5pt]{standalone}
\usepackage{ytableau}
\begin{document}
$
\ytableausetup{aligntableaux=center}
\ydiagram{2} \odot \ydiagram{1} \simeq \ydiagram{3} \oplus \ydiagram{2,1}
$
\end{document}
这里的 ytableausetup{aligntableaux=center} 就是对杨图的统一样式设置,其中 aligntableaux=center 是令杨表居中对齐。
你也可以在 ⟨general formatting⟩ 设置表格的格式,比如所有表格的颜色、所有表格填充的数字等。
绘制杨表的基本命令就是
\begin{ytableau}[⟨general formatting⟩]
⟨entry⟩ & *(⟨color name⟩) ⟨entry⟩ & ... \\
...
\end{ytableau}
一个简单的例子:
\documentclass[border=5pt]{standalone}
\usepackage{ytableau}
\begin{document}
\begin{ytableau}
a & d & f \\
b & e & g \\
c
\end{ytableau}
\end{document}
以及
\documentclass[border=5pt]{standalone}
\usepackage{ytableau}
\begin{document}
\ytableausetup{mathmode, boxframe=normal, boxsize=2em}
\begin{ytableau}
1 & 2 & 3 & \none[\dots]
& \scriptstyle 2n - 1 & 2n \\
2 & 3 & 4 & \none[\dots]
& 2n \\
\none[\vdots] & \none[\vdots]
& \none[\vdots] \\
\scriptstyle 2n - 1 & 2n \\
2n
\end{ytableau}
\end{document}
杨表
这里的 none 是使得对应表格内容为空,且表格边框消失。
\documentclass[border=5pt]{standalone}
\usepackage{ytableau}
\begin{document}
\ytableausetup{tabloids}
\ytableaushort{
123, 45, 6
}
\end{document}
这里的 \ytableausetup{tabloids}
是取消杨表中的所有竖线。
当然你也可以给每个杨表加颜色,如
\documentclass[border=5pt]{standalone}
\usepackage{ytableau}
\begin{document}
\begin{ytableau}
*(red) 1& *(red) 3 &*(red) 5 \\
*(pink) 2 & *(pink) 4 \\
*(pink) 6
\end{ytableau}
\end{document}
ytableau 宏包提供了另一种更简洁的绘制杨表方式,实际效果和上面使用 ytableau 环境没什么差别,只是使用起来更加方便。
\ytableaushort [⟨general formatting⟩] {⟨line⟩,⟨line⟩,...}
这里的 ⟨line⟩ 就是每一行杨表填充的内容。
例如
\documentclass[border=5pt]{standalone}
\usepackage{ytableau}
\begin{document}
\ytableaushort{adf,be,c}
\end{document}
这里的连锁其实是原文档 chanining 的翻译(我也找不到好的翻译词),从理解上来看,更像是将多个杨表重叠组成一张新的杨表,这可以更方便地绘制较复杂的杨表,它的基本格式是:
\ydiagram ⟨arguments⟩ * ⟨arguments⟩ * ...
\ytableaushort ⟨tableau arguments⟩ * ⟨diagram arguments⟩ * ...
这里的每一个 ⟨arguments⟩ 都是一个杨图或杨表。
例如
\documentclass[border=5pt]{standalone}
\usepackage{ytableau}
\begin{document}
\ytableaushort{135,24,6}
*[*(red)]{3} *[*(pink)]{3,2,1}
\end{document}
其他例子:
\documentclass[border=5pt]{standalone}
\usepackage{ytableau}
\begin{document}
\ytableaushort{\none,\none ab, \none c}
* {4,3,2,1}
* [*(yellow)]{4,1,1,1}
\quad
\ydiagram[*(white) \bullet]
{3+2,3+1,2,2}
*[*(green)]{5,4,3,2,1}
\end{document}
ytableau 提供了一些选项,也就是 ⟨general formatting⟩ 的内容,支持对杨图和杨表样式进行修改。这里就不再一一翻译了,有需要可以查询宏包手册。
宏包手册:ytableau – Many-featured Young tableaux and Young diagrams