经典晶体

经典晶体是有限(经典)类型的晶体 A_r, B_r, C_r, D_r, E_{{6,7,8}}, F_4G_2 . 在这里,我们描述了一些背景知识,然后进入晶体的一般理论和类型相关的组合学。

表和表示 GL(n)

lambda 做一个隔断。这个 杨氏图 属于 lambda 一排盒子有 lambda_i 盒子在里面 i -第四排,左调整。因此如果 lambda = (3, 2) 图为:

thematic_tutorials/lie/../media/tableau1.png

A semi-standard Young tableau 形状 lambda 严格地说,在一个方框中,整数的行是通过弱填充递增的。因此

thematic_tutorials/lie/../media/tableau2.png

是一个半标准的年轻画面。Sage有一个 Tableau 类,您可以按如下方式创建此表:

sage: T = Tableau([[1,2,2], [2,3]]); T
[[1, 2, 2], [2, 3]]

长度的划分 le r+1GL(r+1, mathbf{{C}}) 根据环境空间的描述 环境空间的标准实现 . 因此它对应于一个不可约表示 pi_lambda = pi_lambda^{{GL(r+1)}} 属于 GL(r+1, mathbf{{C}}) .

的确,不是每一个占主导地位的权重 lambda 是一个分区,因为主权重可能有一些值 lambda_i 没有。主导权 lambda 当且仅当 lambda 是一个多项式作为空间上的函数 hbox{{Mat}}_n(mathbf{{C}}) . 例如 det^{{-1}} = pi_lambda 具有 lambda = (-1, dots, -1) ,它是一个支配权,但不是一个分划,而且特征不是多项式函数 hbox{{Mat}}_n(mathbf{{C}}) .

Theorem [Littlewood] If lambda is a partition, then the number of semi-standard Young tableaux with shape lambda and entries in {1,2,ldots,r+1} is the dimension of pi_lambda.

例如,如果 lambda = (3,2)r = 2 ,然后我们找到了15个有形状的表格 lambda 和条目 {{1,2,3}}

thematic_tutorials/lie/../media/tableaux.png

这与定理是一致的,因为不可约表示的维数 GL(3) 最重的 (3,2,0) 尺寸为15::

sage: A2 = WeylCharacterRing("A2")
sage: A2(3,2,0).degree()
15

实际上,我们可以从表的集合中得到表征的特征。实际上,Schur多项式的定义之一(由于Littlewood)是下面的组合定义。如果 T 是一个表格,定义 重量 属于 T 成为 hbox{{wt}}(T) = (k_1,dots,k_n) 在哪里? k_ii 在表格里。那么多重性 mu 在角色中 chi_lambda 是重量的表格数 lambda . 因此如果 mathbf{{z}} = (z_1,dots,z_n) ,我们有

\[chilambda(mathbf{z})=summathbf{z}^{hbox{wt}(T)}\]

和是所有半标准的年轻人的外形 lambda{{1, 2, ldots, r+1}} .

Frobenius-Schur对偶

Frobenius-Schur对偶是对称群和一般线性群的表示理论之间的关系。我们将在下一节将其与tableaux联系起来。

对称群的表示 S_k 由分区参数化 lambda 属于 k . 参数化的特征如下。让 n 任意整数 ge k . 然后两者都有 GL(n,mathbf{{C}})S_k 采取行动 otimes^k V 在哪里? V = mathbf{{C}}^n . 的确, GL(n) 作用于每一个 VS_k 对它们进行置换。那么如果 pi_lambda^{{GL(n)}} 代表 GL(n,mathbf{{C}}) 具有最高权重向量 lambdapi_lambda^{{S_k}} 是的不可约表示 S_k 参数化者 lambda 然后

\[其他时间^k Vcongbigopluslambdavdash k}pi^{GL(n)}Uulambdaotimespi^{S}}}\]

作为两组的双模块。这是 Frobenius-Schur duality 它用来刻画不可约表示的参数化 S_kk .

对表的计数

在两种表象理论中 GL(n) 以及 S_k ,不可约表示的程度可以用适当类型的表的个数来表示。我们已经陈述了 GL(n) . 为了 S_k ,具体如下。

让我们说一个半标准的年轻画面 T 形状 lambdavdash k标准 如果 T 包含每个条目 1,2,dots,k 就一次。因此,行和列都严格增加。

Theorem [Young, 1927] The degree of pi_lambda is the number of standard tableaux of shape lambda.

现在让我们来考虑弗罗贝尼乌斯-舒尔二重性的含义。尺寸 otimes^k Vn^k . 因此 n^k 对的数目等于 (T1,T2) 同样形状的画面 lambdavdash k ,其中第一个tableaux是标准的(在字母表中 1,2,ldots,k ),第二个是第二个半标准(在字母表中 1,2,ldots,n

罗宾逊-申斯特德-克努斯通信

最后一个纯组合语句有一个组合证明,基于Robinson-Schensted-Knuth(RSK)对应关系。

参考文献:

RSK对应给出了不同类型的表对和不同类型的组合对象之间的双射。我们将不在这里详细审查信件,但请参阅参考资料。我们注意到Schensted插入是作为方法实现的 schensted_insertion 在萨奇的舞台类。

因此,我们有以下双射:

  • 对表 T_1T_2 形状 lambda 在哪里? lambda 穿过的分区 k 这样的话 T_1 是一个标准的画面 T_2 是一个半标准的画面 1,2,dots,nn^k 长篇大论 k 在里面 1,2,dots,n .

  • 一对形状相同的标准表格 lambda 作为 lambda 穿过的分区 kk! 要素 S_k .

  • 对表 T_1T_2 形状相同的 lambda 但大小不一 1,2,3,dots,nn times n 正整数矩阵。

  • 对表 T_1T_2 共轭形状的 lambdalambda'n times n 带条目的矩阵 01 .

这四个双射中的第二个给出了上述事实的组合证明,即对的数目 (T1,T2) 同样形状的画面 lambdavdash k ,其中第一个tableaux是标准的(在字母表中 1,2,cdots,k ),第二个是第二个半标准(在字母表中 1,2,cdots,n ). 所以第二个双射是 combinatorial analog of Frobenius-Schur duality .

表示论与组合学的类比

上面引用的四个组合双射(RSK的变体)在表示理论中有以下类似之处。

  • 第一个组合事实对应于Frobenius-Schur对偶,我们已经解释过了。

  • 第二个组合事实在表现理论上也有类似之处。群代数 mathbf{{C}}[S_k] 是一个 S_k times S_k 尺寸为的双模块 k! . 它分解为 pi_lambda^{{S_k}} otimes pi_lambda^{{S_k}} .

组合事实与分解 mathbf{{C}}[S_k] 显示标准表的对数大小 k 同样的形状等于 k! .

  • 第三个组合事实类似于多项式函数环的分解 hbox{{Mat}}(n, mathbf{{C}}) 在哪 GL(n, mathbf{{C}}) times GL(n, mathbf{{C}}) 根据 (g_1, g_2)f(X) = f({{^t g_1}}X g_2) . 多项式环分解为 pi^{{GL(n)}}_lambda otimes pi^{{GL(n)}}_lambda .

通过追踪 柯西同一性

\[sumlambda s_ulambda(x_1,cdots,xu n)sλ(y_1,cdots,y_n)=prod{i,j}(1-x_i y_j)^{1}\]

在哪里? x_i 是的特征值 g_1y_j 是的特征值 g_2 . 总和在所有分区上 lambda .

  • 最后一个组合事实类似于外部代数的分解 hbox{{Mat}}(n, mathbf{{C}}) .

通过追踪 双重柯西恒等式

\[sumlambda s_ulambda(xu 1,cdots,xu n)s{lambda'}(y_1,cdots,y_n)=prod zu{i,j}(1+x_i y_j)。\]

又一次求和在分区上 lambda 这里呢 lambda' 是共轭分划。

表示论与组合数学的插值

量子群理论在表示理论图和组合图之间插入,从而解释了这些类比。代表 pi_lambda^{{GL(n)}} 被重新解释为量子化包络代数的一个模块 U_q(mathfrak{{gl}}_n(mathbf{{C}})) ,以及表示 pi_lambda^{{S_k}} 被重新解释为Iwahori-Hecke代数的一个模块。然后弗罗贝尼乌斯舒尔二元性继续存在。看到了吗 [Jimbo1986]. 什么时候? q to 1 ,我们恢复了代表故事。什么时候? q to 0 ,我们恢复了组合故事。

Kashiwara水晶

参考文献:

Kashiwara认为量子化包络代数的最高权模 U_q(mathfrak{{g}}) 在极限的时候 q to 0 . 在下列情况下不能定义包络代数 q = 0 ,但仍能检测到极限结构。这是 晶基 模块的。

Kashiwara的晶体基底有一种组合结构,即使是在比量子群更早的tableaux上的纯组合结构上也能发光。它为其他Cartan类型(或者更一般地说是Kac-Moody代数)提供了一个很好的推广。

Lambda 是具有根系统的Cartan类型的权重格 Phi . 我们现在定义 晶体 类型的 Phi . 让 mathcal{{B}} 做一套,让 0 notin mathcal{{B}} 作为辅助元素。对于每个索引 1 le i le r 我们假设有给定的地图 e_i, f_i : mathcal{{B}} longrightarrow mathcal{{B}} cup {{0}} ,地图 varepsilon_i, varphi_i : mathcal{{B}} longrightarrow mathbf{{Z}} 还有一张地图 hbox{{wt}} : mathcal{{B}} longrightarrow Lambda 满足我们现在描述的某些假设。假设如果 x, y in mathcal{{B}} 然后 e_i (x) = y 当且仅当 f_i (y) = x . 在这种情况下,假设

\[hbox{wt}(y)=hbox{wt}(x)+alpha_i,qquadvarepsilon_i(x)=varepsilon_i(y)+1,qquadvarphi_i(x)=varphi_i(y)-1。\]

此外,我们假设

\[varphi_i(x)-varepsilon_i(x)=leftlanglehbox{wt}(x),alpha^{vee}u i右r角度\]

为了所有 x in mathcal{{B}} .

我们称之为水晶 有规律的 如果它满足附加假设 varepsilon_i(v) 是指 e_i 可应用于 vphi_i(v) 是指 f_i 可以应用。也就是说, varphi_i (x) = max {{k | f_i^k x neq 0}}varepsilon_i (x) = max {{k | e_i^k (x) neq 0}} . Kashiwara也允许 varepsilon_ivarphi_i 以获取价值 -infty .

注解

我们所关注的大多数晶体都是规则的。

给水晶 mathcal{{B}} , the 性格 chi_{{mathcal{{B}}}} 是:

\[和{vinmathcal{B}}{mathbf{z}}^{wt(v)}。\]

给予任何最高的重量 lambda Kashiwara和Nakashima、Littelmann和其他人的建筑产生了晶体 chi_{{mathcal{{B}}_lambda}} 这样的话 chi_{{mathcal{{B}}_lambda}} = chi_lambda 在哪里 chi_lambda 是权重最大的不可约性 lambda ,如 表示和字符 .

水晶 mathcal{{B}}_lambda 并不是我们所说的唯一的特征。对于Cartan类型 A, D, E (更普遍地说,任何简单的花边类型)它的特点可能是这些属性和某些其他属性 斯特布里奇公理 . 我们会想当然地认为有一种独特的“正确”水晶 mathcal{{B}}_lambda 并讨论这些是如何在Sage中构建的。

安装dot2tex

在给出晶体的例子之前,我们先转移话题帮助你安装 dot2tex ,你需要它来制作水晶的 Latex 图像。

dot2tex 是sage的可选软件包,最新版本可通过以下方式安装:

$ sage -i dot2tex

这也需要各种 Latex 包。以下命令检查这些是否可用:

sage: from sage.graphs.graph_latex import check_tkz_graph
sage: check_tkz_graph() # random

Sage水晶

所有的水晶都可以通过 crystals.<tab> .

对于类型 A_r Kashiwara和Nakashima将一个晶体结构放在了这组有形状的画面上 lambda 在里面 1, 2, ldots, r+1 ,这是实现 mathcal{{B}}_{{lambda}} . 此外,正如我们将要解释的那样,这种结构扩展到了其他卡坦类型。目前,我们将考虑如何绘制这些晶体的图片。

一旦你拥有 dot2tex 像水晶一样,你可以用这个命令制作图像:

sage: fn = tmp_filename(ext=".tex")
sage: crystals.Tableaux("A2", shape=[2,1]).latex_file(fn)

在这里 lambda = (2,1)=(2,1,0) . 水晶 Cmathcal{{B}}_{{lambda}} . 角色 chi_lambda 因此将是八维不可约字符的最高权重。然后可以对该文件运行pdflatex a2rho.tex . 这也可以通过以下方式实现,无需绕道保存latex文件:

sage: B = crystals.Tableaux(['A',2], shape=[2,1])
sage: view(B, tightpage=True) # optional - dot2tex graphviz, not tested (opens external window)

这将生成水晶图:

thematic_tutorials/lie/../media/a2rho_color.png

您还可以通过指定其他 Latex 选项为边着色:

sage: B = crystals.Tableaux(['A',2], shape=[2,1])
sage: G = B.digraph()
sage: G.set_latex_options(color_by_label = {1:"red", 2:"yellow"})
sage: view(G, tightpage=True) # optional - dot2tex graphviz, not tested (opens external window)

正如你所见,这个水晶的元素正是形状的八个表 lambda 包含条目 {{1,2,3}} . 惯例是如果 x,y in mathcal{{B}}f_i(x) = y ,或等效 e_i(y) = x ,然后我们从 x to y . 因此,最重的画面是没有射入箭头的画面。事实上,这是:

\[\]
thematic_tutorials/lie/../media/tableau3.png

我们还记得,画面的重量是 (k_1,k_2,k_3) 在哪里? k_ii 在画面中,所以这个画面有分量 (2,1,0) ,实际上等于 lambda .

一旦创建了水晶,您就可以通过该方法访问环境空间及其方法 weight_lattice_realization() ::

sage: C = crystals.Tableaux("A2", shape=[2,1])
sage: L = C.weight_lattice_realization(); L
Ambient space of the Root system of type ['A', 2]
sage: L.fundamental_weights()
Finite family {1: (1, 0, 0), 2: (1, 1, 0)}

最高权重向量如下所示:

sage: C = crystals.Tableaux("A2", shape=[2,1])
sage: v = C.highest_weight_vector(); v
[[1, 1], [2]]

或者更简单地说:

sage: C = crystals.Tableaux("A2", shape=[2,1])
sage: C[0]
[[1, 1], [2]]

现在我们可以应用运算符 e_if_i 在水晶中移动:

sage: C = crystals.Tableaux("A2", shape=[2,1])
sage: v = C.highest_weight_vector()
sage: v.f(1)
[[1, 2], [2]]
sage: v.f(1).f(1)
sage: v.f(1).f(1) is None
True
sage: v.f(1).f(2)
[[1, 3], [2]]
sage: v.f(1).f(2).f(2)
[[1, 3], [3]]
sage: v.f(1).f(2).f(2).f(1)
[[2, 3], [3]]
sage: v.f(1).f(2).f(2).f(1) == v.f(2).f(1).f(1).f(2)
True

如果您首先制作一个Weyl字符环,则可以构造角色:

sage: A2 = WeylCharacterRing("A2")
sage: C = crystals.Tableaux("A2", shape=[2,1])
sage: C.character(A2)
A2(2,1,0)

字母晶体

每种经典的卡坦类型都有一个 标准晶体 mathcal{{B}}_{{hbox{{standard}}}} 通过张量积和提取不可约晶体组分,可以从中构造出其他晶体。对于Cartan类型,此过程已足够 A_rC_r . 对于类型 B_rD_r 标准水晶必须用 自旋晶体 . 见 [KashiwaraNakashima1994][HongKang2002] 更多详情。

这是标准的晶体类型 A_r .

thematic_tutorials/lie/../media/stand-a.png

您可以创建水晶并按如下方式使用它:

sage: C = crystals.Letters("A6")
sage: v0 = C.highest_weight_vector(); v0
1
sage: v0.f(1)
2
sage: v0.f(1).f(2)
3
sage: [v0.f(1).f(2).f(x) for x in [1..6]]
[None, None, 4, None, None, None]
sage: [v0.f(1).f(2).e(x) for x in [1..6]]
[None, 2, None, None, None, None]

这是标准的晶体类型 B_r .

thematic_tutorials/lie/../media/stand-b.png

另外,还有一个自旋晶体 B_r ,对应于 2^r -维自旋表示。我们不会画它,但我们会描述它。它的元素是向量 epsilon_1otimescdotsotimesepsilon_r ,其中每个 spin epsilon_i=pm .

如果 i<r ,则运算符的效果 f_i 就是消灭 v = epsilon_1 otimes cdots otimes epsilon_r 除非 epsilon_i otimes epsilon_{{i+1}} = + otimes - . 如果是这样,那么 f_i(v) 是从 v 通过替换 epsilon_i otimes epsilon_{{i+1}} 通过 - otimes + .如果 i=r 然后 f_r 消灭 v 除非 epsilon_r=+ ,在这种情况下,它将替换 epsilon_r 通过 - .

创建自旋晶体如下。晶体元素在签名表示中表示 epsilon_i ::

sage: C = crystals.Spins("B3")
sage: C.list()
[+++, ++-, +-+, -++, +--, -+-, --+, ---]

这是标准的晶体类型 C_r .

thematic_tutorials/lie/../media/stand-c.png

这是标准的晶体类型 D_r .

thematic_tutorials/lie/../media/stand-d.png

有两种类型的自旋晶体 D_r . 每一个都由 epsilon_1 otimes cdots otimes epsilon_r 具有 epsilon_i = pm ,旋转次数要么总是偶数,要么总是奇数。我们将不描述根运算符的效果 f_i ,但我们邀请您创建它们并与它们一起玩来猜规则:

sage: Cplus = crystals.SpinsPlus("D4")
sage: Cminus = crystals.SpinsMinus("D4")

也有可能为铅字构造标准晶体 G_2E_6E_7 . 这是打字的那个 G_2 (对应7度表示):

thematic_tutorials/lie/../media/stand-g.png

字母的水晶是一个特殊的情况下,水晶的表,在这个意义上 mathcal{{B}}_{{hbox{{standard}}}} 与重量最高的tableaux水晶同构 lambda 是标准表示的最高权重向量。因此比较:

sage: crystals.Letters("A3")
The crystal of letters for type ['A', 3]
sage: crystals.Tableaux("A3", shape=[1])
The crystal of tableaux of type ['A', 3] and shape(s) [[1]]

这两种晶体在实现上是不同的,但它们是同构的。实际上,第二个晶体是由第一个晶体构成的。我们可以测试晶体之间的同构,如下所示:

sage: Cletter = crystals.Letters(['A',3])
sage: Ctableaux = crystals.Tableaux(['A',3], shape = [1])
sage: Cletter.digraph().is_isomorphic(Ctableaux.digraph())
True
sage: Cletter.digraph().is_isomorphic(Ctableaux.digraph(), certificate = True)
(True, {1: [[1]], 2: [[2]], 3: [[3]], 4: [[4]]})

在最后一步中给出了晶体顶点之间的显式映射。

字母晶体在理论中有着特殊的作用,因为它们特别简单,然而正如Kashiwara和Nakashima所展示的那样,tableaux的晶体可以从中创造出来。我们将回顾这是如何工作的。

晶体张量积

Kashiwara用纯组合的方法定义了晶体的张量积。这种结构的优点在于它完全平行于表示晶体的张量积。也就是说,如果 lambdamu 那么,是主导权重 mathcal{{B}}_lambda otimes mathcal{{B}}_mu 是一个(通常是断开连接的)水晶,它可能包含 mathcal{{B}}_nu (另一个主要重量 nu ),以及 mathcal{{B}}_nu 正是 chi_nu 在里面 chi_lambda chi_mu .

我们将描述晶体张量积的两个约定。

卡西瓦拉的定义

作为一个集合,张量积 mathcal{{B}} otimes mathcal{{C}} 晶体的 mathcal{{B}}mathcal{{C}} 是笛卡尔积,但我们表示有序对 (x, y) 具有 x in mathcal{{B}}y in mathcal{{C}} 通过 x otimes y . 我们定义 hbox{{wt}} (x otimes y) = hbox{{wt}} (x) + hbox{{wt}}(y) . 我们定义

\[f_i(xotimes y)=begin{cases}f_i(x)otimes y&text{if$varphi_i(x)>varepsilon_i(y)$},\xotimes f_i(y)&text{如果$varphi_i(x)levarepsilon_i(y)$},结束{cases}\]

\[e_i(xotimes y)=begin{cases}e_i(x)otimes y&text{if$varphi_i(x)gevarepsilon_i(y)$},\xotimes e_i(y)&text{如果$varphi_i(x)<varepsilon_i(y)$}。结束{cases}\]

据了解 x otimes 0 = 0 otimes x = 0 . 我们还定义:

\[varphi_i(xo时间y)=max(varphi_i(y),varphi_i(x)+varphi_i(y)-varepsilon_i(y)),\]
\[varepsilon_i(xotimes y)=max(varepsilon_i(x),varepsilon_i(x)+varepsilon_i(y)-varphi_i(x))。\]

替代定义

作为一个集合,张量积 mathcal{{B}} otimes mathcal{{C}} 晶体的 mathcal{{B}}mathcal{{C}} 是笛卡尔积,但我们表示有序对 (y, x) 具有 y in mathcal{{B}}x in mathcal{{C}} 通过 x otimes y . 我们定义 hbox{{wt}} (x otimes y) = hbox{{wt}} (y) + hbox{{wt}}(x) . 我们定义

\[f_i(xotimes y)=begin{cases}f_i(x)otimes y&text{if$varphi_i(y)levarepsilon_i(x)$},\xotimes f_i(y)&text{如果$varphi_i(y)>varepsilon_i(x)$},结束{cases}\]

\[e_i(xotimes y)=begin{cases}e_i(x)otimes y&text{if$varphi_i(y)<varepsilon_i(x)$},\xotimes e_i(y)&text{如果$varphi_i(y)gevarepsilon_i(x)$}。结束{cases}\]

据了解 y otimes 0 = 0 otimes y = 0 . 我们还定义

\[varphi_i(xo时间y)=max(varphi_i(x),varphi_i(y)+varphi_i(x)-varepsilon_i(x)),\]
\[varepsilon_i(xotimes y)=max(varepsilon_i(y),varepsilon_i(y)+varepsilon_i(x)-varphi_i(y))。\]

张量积是相联的: (x otimes y) otimes z mapsto x otimes(y otimes z) 是同构的 (mathcal{{B}} otimes mathcal{{C}}) otimes mathcal{{D}} to mathcal{{B}} otimes (mathcal{{C}} otimes mathcal{{D}}) ,所以我们可以考虑任意数量晶体的张量积。

两种定义之间的关系

这两个定义之间的关系就是Kashiwara张量积 mathcal{{B}} otimes mathcal{{C}} 是交替张量积 mathcal{{C}} otimes mathcal{{B}} 以相反的顺序。Sage使用替代张量积。即使张量积结构是 先验的 不对称的,这两种结构产生同构的晶体,特别是Sage的tableaux晶体与Kashiwara的完全相同。

注解

使用抽象晶体(即,它们满足公理,但不是由 U_q(mathfrak{{g}}) ),我们可以建造晶体 mathcal{{B}}, mathcal{{C}} 这样的话 mathcal{{B}} otimes mathcal{{C}} neq mathcal{{C}} otimes mathcal{{B}} (当然,使用相同的约定)。

Sage晶体的张量积

你可以用 crystals.TensorProduct ::

sage: C = crystals.Letters("A2")
sage: T = crystals.TensorProduct(C,C,C); T
Full tensor product of the crystals [The crystal of letters for type ['A', 2],
The crystal of letters for type ['A', 2], The crystal of letters for type ['A', 2]]
sage: T.cardinality()
27
sage: T.highest_weight_vectors()
([1, 1, 1], [2, 1, 1], [1, 2, 1], [3, 2, 1])

这个晶体有四个最高的重量向量。我们可以这样理解:

sage: A2 = WeylCharacterRing("A2")
sage: C = crystals.Letters("A2")
sage: T = crystals.TensorProduct(C,C,C)
sage: chi_C = C.character(A2)
sage: chi_T = T.character(A2)
sage: chi_C
A2(1,0,0)
sage: chi_T
A2(1,1,1) + 2*A2(2,1,0) + A2(3,0,0)
sage: chi_T == chi_C^3
True

不出所料 TC ,以及权重最高的表示 (1,1,1)(3,0,0)(2,1,0) . 这种分解是由Frobenius-Schur对偶性预测的:多重性 pi_lambda^{{GL(n)}} 在里面 otimes^3mathbf{{C}}^3 是的程度 pi_lambda^{{S_3}} .

能够选择一个不可约的组成部分是有用的 T . 如果我们只需要 T ,我们可以通过选项指定最高权重向量的列表 generators . 如果列表只有一个元素,那么我们得到一个不可约晶体。我们可以制造四种晶体:

sage: A2 = WeylCharacterRing("A2")
sage: C = crystals.Letters("A2")
sage: T = crystals.TensorProduct(C,C,C)
sage: [T1,T2,T3,T4] = \
  [crystals.TensorProduct(C,C,C,generators=[v]) for v in T.highest_weight_vectors()]
sage: [B.cardinality() for B in [T1,T2,T3,T4]]
[10, 8, 8, 1]
sage: [B.character(A2) for B in [T1,T2,T3,T4]]
[A2(3,0,0), A2(2,1,0), A2(2,1,0), A2(1,1,1)]

我们看到其中两个晶体是同构的,具有特征 A2(2,1,0) . 尝试::

sage: A2 = WeylCharacterRing("A2")
sage: C = crystals.Letters("A2")
sage: T = crystals.TensorProduct(C,C,C)
sage: [T1,T2,T3,T4] = \
  [crystals.TensorProduct(C,C,C,generators=[v]) for v in T.highest_weight_vectors()]
sage: T1.plot()
Graphics object consisting of 35 graphics primitives
sage: T2.plot()
Graphics object consisting of 25 graphics primitives
sage: T3.plot()
Graphics object consisting of 25 graphics primitives
sage: T4.plot()
Graphics object consisting of 2 graphics primitives

要素 crystals.TensorProduct(A,B,C, ...) 用序列表示 [a,b,c, ...] 具有 a 在里面 Ab 在里面 B 等等,这当然代表 a otimes b otimes c otimes cdots .

作为晶体张量积的表观晶体

Sage实现 CrystalOfTableaux 作为 ClassicalCrystalOfLetters . 你可以看到它是如何做到的:

sage: T = crystals.Tableaux("A4",shape=[3,2])
sage: v = T.highest_weight_vector().f(1).f(2).f(3).f(2).f(1).f(4).f(2).f(3); v
[[1, 2, 5], [3, 4]]
sage: list(v)
[3, 1, 4, 2, 5]

我们已经研究了 v ,其中它表示为 ClassicalCrystalOfLetters . 我们看到画面:

\[\]
thematic_tutorials/lie/../media/tableau4.png

被解释为张量:

\[\]
thematic_tutorials/lie/../media/tensor.png

画面的元素是从下到上,从左到右读的。这是 inverse middle-Eastern reading 画面的。见洪和康, 位置。引文。 讨论一个表格的读物。

自旋晶体

对于Cartan类型 A_rC_rG_2CrystalOfTableaux 能够制造任何有限晶体。(对于类型 A_r 有必要 lambda 做一个隔断。)

对于Cartan类型 B_rD_r ,也存在自旋表象。相应的晶体实现为 自旋晶体 . 对于这些类型, CrystalOfTableaux 也允许输入形状 lambda 如果是高度,则为半积分 r . 例如::

sage: C = crystals.Tableaux(['B',2], shape = [3/2, 1/2])
sage: C.list()
[[++, [[1]]], [++, [[2]]], [++, [[0]]], [++, [[-2]]], [++, [[-1]]], [+-, [[-2]]],
[+-, [[-1]]], [-+, [[-1]]], [+-, [[1]]], [+-, [[2]]], [-+, [[2]]], [+-, [[0]]],
[-+, [[0]]], [-+, [[-2]]], [--, [[-2]]], [--, [[-1]]]]

这里是 +- 给出了一个spin列,在下一节将更详细地讨论,第二个条目是 lambda = (lfloor lambda_1 rfloor, lfloor lambda_2 rfloor, ldots ) . 对于类型 D_r ,我们还有另外一个特点,有两种类型的自旋晶体。因此 CrystalOfTableaux 这个 r -第条入口 lambda 在这种情况下,也可以取负值:

sage: C = crystals.Tableaux(['D',3], shape = [1/2, 1/2,-1/2])
sage: C.list()
[[++-, []], [+-+, []], [-++, []], [---, []]]

对于排名第二的卡坦类型,我们也有 crystals.FastRankTwo 这给了这些晶体不同的快速实现方式:

sage: B = crystals.FastRankTwo(['B',2], shape=[3/2,1/2]); B
The fast crystal for B2 with shape [3/2,1/2]
sage: v = B.highest_weight_vector(); v.weight()
(3/2, 1/2)

B型自旋晶体

自旋晶体的重量最高 (1/2,dots,1/2) . 这是最后一个基本权重。这个权重的不可约表示是度的自旋表示 2^r . 它的水晶是用Sage手工编码的:

sage: Cspin = crystals.Spins("B3"); Cspin
The crystal of spins for type ['B', 3]
sage: Cspin.cardinality()
8

重量最大的晶体 lambda 在哪里 lambda 是一个半整数权重,被构造为一个张量积的自旋列和最高权晶体的整数部分 lambda . 例如,假设 lambda = (3/2, 3/2, 1/2) . 对应的不可约字符的度数为112::

sage: B3 = WeylCharacterRing("B3")
sage: B3(3/2,3/2,1/2).degree()
112

所以 mathcal{{B}}_lambda 将有112个元素。我们可以发现它是 Cspin otimes mathcal{{B}}_mu 在哪里 mu = lambda-(1/2,1/2,1/2) = (1,1,0) ::

sage: B3 = WeylCharacterRing("B3")
sage: B3(1,1,0)*B3(1/2,1/2,1/2)
B3(1/2,1/2,1/2) + B3(3/2,1/2,1/2) + B3(3/2,3/2,1/2)

我们看到,只要取这两个晶体的张量积,就会产生一个含有三个组分的可约晶体,我们要提取出我们想要的那一个。我们的做法如下:

sage: B3 = WeylCharacterRing("B3")
sage: C1 = crystals.Tableaux("B3", shape=[1,1])
sage: Cspin = crystals.Spins("B3")
sage: C = crystals.TensorProduct(C1, Cspin, generators=[[C1[0],Cspin[0]]])
sage: C.cardinality()
112

或者,我们可以直接从 CrystalOfTableaux ::

sage: C = crystals.Tableaux(['B',3], shape = [3/2,3/2,1/2])
sage: C.cardinality()
112

这是你想要的水晶。

D型自旋晶体

类似的情况也适用于类型 D_r ,但现在有两个自旋晶体,都是度 2^{{r-1}} . 这些都是用sage手工编码的:

sage: SpinPlus = crystals.SpinsPlus("D4")
sage: SpinMinus = crystals.SpinsMinus("D4")
sage: SpinPlus[0].weight()
(1/2, 1/2, 1/2, 1/2)
sage: SpinMinus[0].weight()
(1/2, 1/2, 1/2, -1/2)
sage: [C.cardinality() for C in [SpinPlus,SpinMinus]]
[8, 8]

类似于B型晶体,我们通过允许具有半整数值的分区来获得具有自旋权重的晶体,并且最后一项可以是负的,这取决于自旋的类型。

结论对合

有限维最高重量晶体上的Lusztig对合 B(lambda) 最重的 lambda 将最高权重向量映射到最低权重向量和Kashiwara操作符 f_ie_{{i^*}} 在哪里 i^* 定义为 alpha_{{i^*}} = -w_0(alpha_i) . 在这里 w_0 是作用于 i -th单根 alpha_i . 例如,对于类型 A_n 我们有 i^*=n+1-i ,而对于类型 C_n 我们有 i^*=i . 对于类型 D_nn 甚至还有 i^*=i ,但是为了 n 奇数这个地图交换节点 n-1n . 以下是如何在Sage中实现这一点:

sage: B = crystals.Tableaux(['A',3],shape=[2,1])
sage: b = B(rows=[[1,2],[3]])
sage: b.lusztig_involution()
[[2, 4], [3]]

对于类型 A_n ,Lusztig对合与Schuetzenberger对合相同(Sage中定义见表aux):

sage: t = Tableau([[1,2],[3]])
sage: t.schuetzenberger_involution(n=4)
[[2, 4], [3]]

对于给定晶体中的所有tableaux,可以通过以下方式进行测试:

sage: B = crystals.Tableaux(['A',3],shape=[2])
sage: all(b.lusztig_involution().to_tableau() == b.to_tableau().schuetzenberger_involution(n=4) for b in B)
True

Lusztig对合也适用于特殊类型的有限维最高重量晶体:

sage: C = CartanType(['E',6])
sage: La = C.root_system().weight_lattice().fundamental_weights()
sage: T = crystals.HighestWeight(La[1])
sage: t = T[4]; t
[(-2, 5)]
sage: t.lusztig_involution()
[(-3, 2)]

晶体的Levi分枝规则

G 成为一个谎言团体 H 列维亚群。我们已经看到了 H 是从 G 删除一个或多个节点。

如果 mathcal{{C}} 是水晶 G ,我们就可以得到 H 通过类似的过程。例如,如果 H 从Dynkin图中获得 G 通过删除 i -如果我们抹去晶体中的所有边缘 mathcal{{C}} 标签上有 i ,我们得到了一个水晶 H .

在Sage中,这是通过指定有向图方法中使用的索引集来实现的:

sage: T = crystals.Tableaux(['D',4],shape=[1])
sage: G = T.digraph(index_set=[1,2,3])

我们看到 D_4 晶体确实分解为两种类型 A_3 组件。

thematic_tutorials/lie/../media/parabolic_subcrystal.png

有关分支规则的更多信息,请参见 极大子群与分支规则Levi子群 关于Levi小组的细节。

亚晶体

有时可能需要与晶体的亚晶体一起工作。例如,你可能想看看 {{2,3,ldots,n}} 晶体中最高的元素,看一看这种特殊的成分:

sage: T = crystals.Tableaux(['D',4],shape=[2,1])
sage: hw = [ t for t in T if t.is_highest_weight(index_set = [2,3,4]) ]; hw
[[[1, 1], [2]],
 [[1, 2], [2]],
 [[2, -1], [-2]],
 [[2, -1], [-1]],
 [[1, -1], [2]],
 [[2, -1], [3]],
 [[1, 2], [3]],
 [[2, 2], [3]],
 [[1, 2], [-2]],
 [[2, 2], [-2]],
 [[2, 2], [-1]]]
sage: C = T.subcrystal(generators = [T(rows=[[2,-1],[3]])], index_set = [2,3,4])
sage: G = T.digraph(subset = C, index_set=[2,3,4])