仿射李代数的可积最高权表示

在本节中 mathfrak{{g}} 可以是一个任意的Kac-Moody-Lie代数,由一个可对称的不可分解的Cartan矩阵构成。

假设如此 V 是具有权重空间分解的表示,如中所示 根和重量 . 让 alpha 做一个真正的根,让 mathfrak{{g}}_alpha 是对应的根空间,即一维权重空间 alpha 在伴随表示中 mathfrak{{g}} 就自己而言。那么 -alpha 也是根。两个一维空间 mathfrak{{g}}_alphamathfrak{{g}}_{{-alpha}} 生成同构的李代数 mathfrak{{sl}}_2 . 模块 V 被称为 可积 如果是这样的话 alpha 代表 mathfrak{{sl}}_2 用这种方法得到的李群的一个表示 operatorname{{SL}}_2 . 因为这个组包含一个稳定的元素 mathfrak{{h}} 并在权格上给出了相应的简单反射,可积性表明在Weyl群的作用下,权重数是不变的。

如果Kac-Moody李代数 mathfrak{{g}} 是有限维的,那么可积的最高权表示就是不可约的有限维表示。对于一般的Kac-Moody-Lie代数,可积的最高权表示与有限维的表示类似,即 WeylCharacterRing 元素。它们的理论与有限维单李代数的有限维表示有许多共同之处,如由主权的参数化,以及分别由Macdonald和Kac推广的Weyl分母和特征公式。

如果 Lambda 不可约权是最大的不可约权 L(Lambda) 定义在 根和重量 是可积的。而且每个最高权可积表示都是这样产生的,所以这些表示与锥是双射的 P^+ 占主导地位的权重。

仿射情形

现在我们假设 mathfrak{{g}} 有亲缘关系。可积的最高重量表示(及其晶体)是非常有趣的。的可积最高权表示 mathfrak{{g}} 产生于各种背景下,从弦理论到对称群的模表示理论,以及模形式理论。代表 L(Lambda_0) 特别是无处不在,被称为 基本表示法 .

因此 [KMPS] (1990年出版)其中许多表示的列表数据。他们写道

我们以表格的形式呈现了大量的数值数据,这是这些信息的唯一来源。当需要单独进行计算时,这些计算是乏味的,并且不是特别直接。我们希望这本书的出现能激发人们对这一领域的兴趣,这个领域在短短20年的时间里,已经变得非常有回报,对未来充满了希望。如果在2040年的科学家看来,这些表格会像我们今天看到的超越函数集尘集一样过时,因为它们在每个袖珍计算器上都能找到,那就真是令人欣慰了。

正如我们将要解释的,Sage可以复制这些表的内容。而且还有 [KMPS] 仅限于未扭曲类型,但Sage也实现了扭曲类型。

虽然Sage可以复制第二卷的表格 [KMPS], 这项工作仍然很有用。第一卷是对仿射李代数可积表示理论的一个实际和非常有帮助的阐述,有明确的例子和解释与数学物理和顶点算符的联系。

可积最高权表示的支持性

Lambda in P^+V = L(Lambda) 是权重最大的可积表示 Lambda .如果 mu 是另一种重量,让 operatorname{{mult}}(mu) 表示权重的多重性 mu 在里面 L(Lambda) . 定义 支持 代表性的 operatorname{{supp}}(V) 成为 mu 这样的话 operatorname{{mult}}(mu) > 0 .

如果 operatorname{{mult}}(mu) > 0 然后 lambda-mu 是具有非负整系数的单根的线性组合。而且 operatorname{{supp}}(V) 包含在抛物面中

\[(Lambda+rho |Lambda+rho)-(mu+rho |mu+rho)geq 0\]

在哪里? (, | ,) 是权格上不变的内积 rho 是Weyl向量 (无扭仿射Kac-Moody李代数 ). 而且如果 mu in operatorname{{supp}}(V) 然后 Lambda - mu 是根格的一个元素 Q ([Kac], 命题11.3和11.4)。

我们将权重多重性组织成一个称为 字符串函数字符串 具体如下。通过 [Kac], 命题11.3或推论11.9,用于固定 mu 功能 operatorname{{mult}}(mu - kdelta) 属于 k 是一个递增序列。我们调整 mu 乘以 delta 到序列正部分的开始。因此我们定义 mu 成为 最大 如果 operatorname{{mult}}(mu) neq 0 但是 operatorname{{mult}}(mu + delta) = 0 .

自从 delta 在仿射Weyl群的作用下是固定的,由于权重数是Weyl群不变量,因此函数 k mapsto operatorname{{mult}}(mu - k delta) 如果 mu 被替换 w(mu) 对于一些Weyl群元素 w . 现在每个Weyl轨道都包含一个主导权重。因此,在枚举字符串时,我们可以假定 mu 占主导地位。只有有限数量的优势最大权重。因此,只有有限数量的这样的字符串需要计算。

模块化形式

值得注意的是, [KacPeterson] 证明了每个串都是弱全纯模形式的Fourier系数的集合;另见 [Kac] 第12章和第13章。在这里 弱全纯模 意味着形状允许在尖端有极点。

为此,我们定义 模数特性

\[m_Lambda=frac{Lambda+rho | ^2}{2(k+h^vee)}-frac{124;rho^2}{2h^vee}。\]

在这里 k = (Lambda | delta)水平 代表和 h^vee 是双号的吗 (标签和Coxeter编号 )如果 mu 是重量,定义

\[m{Lambda,mu}=mLambda-frac{mu | ^2}{2k}。\]

Lambda 是一个重量,我们可以假设它是最大的。然后科航和彼得森定义了 字符串函数

\[cmu^Lambda=q^{m{Lambda,mu}sum{ninZZ}operatorname{mult}(mu-ndelta)q^n。\]

虽然在弦理论中,这些确实是作为配分函数出现的,但这里的术语“字符串”并不指物理字符串。

字符串函数 c_mu^Lambda 是一个弱全纯模形式,可能是半整数权。看到了吗 [Kac], 推论13.10,或 [KacPeterson]. 它可以在无穷远处有极点,但会倍增 c_mu^Lambda 通过 eta(tau)^{{dim,mathfrak{{g}}^circ}} 给出了一个全纯模形式(对于某个层次)。在这里 eta 是Dedekind eta函数:

\[eta(tau)=q^{1/24}prod{k=1}^infty(1-q^k),qquad q=e^{2pi itau}。\]

这个模块形式的重量 eta(tau)^{{dim,mathfrak{{g}}^circ}} c^Lambda_lambda 的正根数 mathfrak{{g}}^circ .

可积表示的Sage方法

在这一节中,我们将展示如何使用Sage来计算仿射李代数的可积最高权表示。有关更多文档,请参阅参考手册 IntegrableRepresentation .

在下面的例子中,我们使用权重最高的可积表示 2 Lambda_0 对于 widehat{{mathfrak{{sl}}}}_2 也就是说, A_1^{{(1)}} . 首先,我们在扩展权重晶格中创建一个主导权重,然后创建 IntegrableRepresentation 班级。我们计算弦。有两个,因为有两个主要的最大权重。其中一个是最重的 2Lambda_0 ,另一个是 2Lambda_1 - delta ::

sage: L = RootSystem("A1~").weight_lattice(extended=True)
sage: Lambda = L.fundamental_weights()
sage: delta = L.null_root()
sage: W = L.weyl_group(prefix="s")
sage: s0, s1 = W.simple_reflections()
sage: V = IntegrableRepresentation(2*Lambda[0])
sage: V.strings()
{2*Lambda[0]: [1, 1, 3, 5, 10, 16, 28, 43, 70, 105, 161, 236],
 2*Lambda[1] - delta: [1, 2, 4, 7, 13, 21, 35, 55, 86, 130, 196, 287]}
sage: mw1, mw2 = V.dominant_maximal_weights(); mw1, mw2
(2*Lambda[0], 2*Lambda[1] - delta)

我们看到有两个主要的最大权重, 2 Lambda_02 Lambda_1 - delta . 我们通过应用Weyl基元素从中得到每个最大权重。它们位于中描述的抛物面内 可积最高权表示的支持性 . 以下是一些更大的权重:

sage: pairs = [(s0*s1*s0, mw1), (s0*s1, mw2), (s0, mw1), (W.one(), mw2),
....:          (W.one(), mw1), (s1, mw2), (s1*s0, mw1), (s1*s0*s1, mw2)]
sage: [w.action(mw) for (w, mw) in pairs]
[-6*Lambda[0] + 8*Lambda[1] - 8*delta,
 -4*Lambda[0] + 6*Lambda[1] - 5*delta,
 -2*Lambda[0] + 4*Lambda[1] - 2*delta,
 2*Lambda[1] - delta,
 2*Lambda[0],
 4*Lambda[0] - 2*Lambda[1] - delta,
 6*Lambda[0] - 4*Lambda[1] - 2*delta,
 8*Lambda[0] - 6*Lambda[1] - 5*delta]

我们确认在Weyl轨道上的一个的弦函数与在Weyl轨道上的一样 mw2 ,以上计算:

sage: s1.action(mw2)
4*Lambda[0] - 2*Lambda[1] - delta
sage: [V.mult(s0.action(mw2)-k*delta) for k in [0..10]]
[1, 2, 4, 7, 13, 21, 35, 55, 86, 130, 196]

可积表示的字符串函数经常出现在整数序列的在线百科全书中:

sage: [oeis(x) for x in V.strings().values()]    # optional - internet
[0: A233758: Bisection of A006950 (the even part).,
 0: A233759: Bisection of A006950 (the odd part).]

阅读OEI告诉我们的序列 :oeis:`A006950` ,我们知道这两个弦是这个系列的奇偶部分

\[{1+q{2k-1}}}}inftyfrac{1+q{{2k-1}}{1-q{{2k}}{普生{k=1}}^inftyfrac{1-q{2k}{(1-q ^{4 k}{(1-q ^{4 k})}{1-q{{4k})}}{q{1/8}}{1/8}{{{2{{{{{{{tau)eta(4tau)}\]

这是 not 一种模块化的形式 q^{{1/8}} 在eta函数的比率前面。

让我们通过计算上述产品来确认在线百科全书告诉我们的内容:

sage: PS.<q> = PowerSeriesRing(QQ)
sage: prod([(1+q^(2*k-1))/(1-q^(2*k)) for k in [1..20]])
1 + q + q^2 + 2*q^3 + 3*q^4 + 4*q^5 + 5*q^6 + 7*q^7 + 10*q^8
 + 13*q^9 + 16*q^10 + 21*q^11 + 28*q^12 + 35*q^13 + 43*q^14
 + 55*q^15 + 70*q^16 + 86*q^17 + 105*q^18 + 130*q^19 + O(q^20)

我们可以看到这个产品中穿插的两个字符串的值 2 Lambda_0 在偶数位置和 2 Lambda_1 - delta 奇数位置的值。

计算 c^{{2Lambda_0}}_lambda 在保证是模形式的前提下,必须计算模特征。我们感兴趣的是 lambda 是两个主要的最大权重之一:

sage: [V.modular_characteristic(x) for x in [2*Lambda[0], 2*Lambda[1]-delta]]
[-1/16, 7/16]

这给了我们字符串函数

\[(1+q+3q^2+5q^3+10q^4+16q^4+16q^4+21q^4+21q^4+21q{2Lambda{0}&=q{1/16}(1+q+3q^2+5q^3+5q^3+10q^4+16q^5+5+5+cdotots),\c ^{22LambdaLambda _0}{2Lambda_1-delta}&=q{7/16}(1+2q+4q ^ 2+7q^2+7q^3+3+13q ^ 4+4+21q ^ 4+21 q ^^5+cdots)。结束{aligned}\]

它们都是弱全纯模形式。这两者的任何线性组合也是弱全纯模形式。例如我们可以替换 tau 通过 tau/2 以我们以前的身份

\[c^{2Lambda_0}{2Lambda_0}+c^{2Lambda_0}{2Lambda_1-delta}=frac{eta(tau)}{eta(tau/2)eta(2tau)}。\]

更多的例子可以在 [KacPeterson][KMPS].

V 是加权最大的可积最高权表示 Lambda .如果 mu 支持 V 然后 Lambda - mu 是形式 sum_i n_ialpha_i 在哪里? alpha_i 是简单的根。Sage将权重的内部表示作为元组 (n_0, n_1, ldots) . 可以按如下方式将权重与此符号进行转换:

sage: L = RootSystem(['E',6,2]).weight_lattice(extended=True)
sage: Lambda = L.fundamental_weights()
sage: delta = L.null_root()
sage: V = IntegrableRepresentation(Lambda[0])
sage: V.strings()
{Lambda[0]: [1, 2, 7, 14, 35, 66, 140, 252, 485, 840, 1512, 2534]}
sage: V.to_weight((1,2,0,1,0))
Lambda[0] - 3*Lambda[1] + 4*Lambda[2] - 2*Lambda[3] + Lambda[4] - delta
sage: V.from_weight(Lambda[0] - 3*Lambda[1] + 4*Lambda[2] - 2*Lambda[3] + Lambda[4] - delta)
(1, 2, 0, 1, 0)
sage: V.from_weight(Lambda[0]-delta)
(1, 2, 3, 2, 1)

在报告字符串时,可以设置可选参数depth以获得更多或更少的值。在某些情况下,甚至弦的第一个系数也是有意义的。看到了吗 [JayneMisra2014][KimLeeOh2017].

加泰罗尼亚数字 (:oeis:`A000108` ):

sage: P = RootSystem(['A',12,1]).weight_lattice(extended=true)
sage: Lambda = P.fundamental_weights()
sage: IntegrableRepresentation(2*Lambda[0]).strings(depth=1) # long time
{2*Lambda[0]: [1],
 Lambda[1] + Lambda[12] - delta: [1],
 Lambda[2] + Lambda[11] - 2*delta: [2],
 Lambda[3] + Lambda[10] - 3*delta: [5],
 Lambda[4] + Lambda[9] - 4*delta: [14],
 Lambda[5] + Lambda[8] - 5*delta: [42],
 Lambda[6] + Lambda[7] - 6*delta: [132]}

加泰罗尼亚三角形数 (:oeis:`A000245` ):

sage: IntegrableRepresentation(Lambda[0]+Lambda[2]).strings(depth=1) # py2 long time
{Lambda[0] + Lambda[2]: [1],
 2*Lambda[1] - delta: [12],
 Lambda[3] + Lambda[12] - delta: [3],
 Lambda[4] + Lambda[11] - 2*delta: [9],
 Lambda[5] + Lambda[10] - 3*delta: [28],
 Lambda[6] + Lambda[9] - 4*delta: [90],
 Lambda[7] + Lambda[8] - 5*delta: [297]}
sage: sorted(IntegrableRepresentation(Lambda[0]+Lambda[2]).strings(depth=1).values()) # long time
[[1], [3], [9], [12], [28], [90], [297]]

中心二项式系数 (:oeis:`A001700`:oeis:`A128015` ):

sage: P = RootSystem(['B',8,1]).weight_lattice(extended=true)
sage: Lambda = P.fundamental_weights()
sage: IntegrableRepresentation(Lambda[0]+Lambda[1]).strings(depth=1) # py2 long time
{Lambda[0] + Lambda[1]: [1],
 2*Lambda[0]: [1],
 2*Lambda[1] - delta: [1],
 Lambda[2] - delta: [3],
 Lambda[3] - delta: [3],
 Lambda[4] - 2*delta: [10],
 Lambda[5] - 2*delta: [10],
 Lambda[6] - 3*delta: [35],
 Lambda[7] - 3*delta: [35],
 2*Lambda[8] - 4*delta: [126]}
sage: sorted(IntegrableRepresentation(Lambda[0]+Lambda[1]).strings(depth=1).values()) # long time
[[1], [1], [1], [3], [3], [10], [10], [35], [35], [126]]