仿射最高重量晶体¶
仿射最高重量的晶体是无限维的。它们的基本权格是包含零根的扩展权格 delta . 这与有限维仿射晶体(例如Kirillov-Reshetikhin晶体)相反,其基本重量晶格为经典重量晶格,即不包括 delta .
因此,要在Sage中使用它们,我们需要一些进一步的工具。
Littelmann路径模型¶
在Sage中实现了最高重量晶体的Littelmann路径模型。它模拟了无限维的有限最高质量晶体和仿射最高重量晶体。晶体的元素是在扩展的权空间中的分段线性映射 QQ . 有关Littelmann路径模型的详细信息,请参见 [L1995].
由于仿射最高重量的晶体是无限的,所以不可能列出所有元素或绘制整个晶体图。然而,如果用户只对离最高重量元素一定距离或深度的晶体感兴趣,则可以使用相应的亚晶体。要查看晶体的相应上部,可以构建相关的有向图:
sage: R = RootSystem(['C',3,1])
sage: La = R.weight_space(extended = True).basis()
sage: LS = crystals.LSPaths(2*La[1]); LS
The crystal of LS paths of type ['C', 3, 1] and weight 2*Lambda[1]
sage: LS.weight_lattice_realization()
Extended weight space over the Rational Field of the Root system of type ['C', 3, 1]
sage: C = LS.subcrystal(max_depth=3)
sage: sorted(C, key=str)
[(-Lambda[0] + 2*Lambda[1] - Lambda[2] + Lambda[3] - delta, Lambda[1]),
(-Lambda[0] + Lambda[1] + Lambda[2] - delta, Lambda[0] - Lambda[1] + Lambda[2]),
(-Lambda[0] + Lambda[1] + Lambda[2] - delta, Lambda[1]),
(-Lambda[1] + 2*Lambda[2] - delta, Lambda[1]),
(2*Lambda[0] - 2*Lambda[1] + 2*Lambda[2],),
(2*Lambda[1],),
(Lambda[0] + Lambda[2] - Lambda[3], Lambda[1]),
(Lambda[0] - Lambda[1] + Lambda[2], Lambda[1]),
(Lambda[0] - Lambda[2] + Lambda[3], Lambda[0] - Lambda[1] + Lambda[2]),
(Lambda[0] - Lambda[2] + Lambda[3], Lambda[1])]
sage: G = LS.digraph(subset = C)
sage: view(G, tightpage=True) # optional - dot2tex graphviz, not tested (opens external window)

零路径elms晶体本身也是无限能级模型。要切出这些晶体的一片,可以使用“亚晶”中的“方向”选项:
sage: R = RootSystem(['A',2,1])
sage: La = R.weight_space(extended = True).basis()
sage: LS = crystals.LSPaths(La[1]-La[0]); LS
The crystal of LS paths of type ['A', 2, 1] and weight -Lambda[0] + Lambda[1]
sage: C = LS.subcrystal(max_depth=2, direction='both')
sage: G = LS.digraph(subset = C)
sage: G.set_latex_options(edge_options=lambda uvl: ({}))
sage: view(G, tightpage=True) # optional - dot2tex graphviz, not tested (opens external window)

修正中岛单项式¶
改进的中岛单项式也已在Sage中实现。他们为所有对称化类型中重量最高的晶体建模。元素是根据交换变量给出的 Y_i(n) 在哪里? i in I 和 n in ZZ_{{geq 0}} . 有关修改的中岛单项式的详细信息,请参阅 [KKS2007].
我们给出了仿射型的一个例子,并验证了到深度3为止,它与Littelmann路径模型是一致的。与LS-path模型不同,中岛单项式晶体由权重晶格中的元素索引(而不是权重空间):
sage: La = RootSystem(['C',3,1]).weight_space(extended = True).fundamental_weights()
sage: LS = crystals.LSPaths(2*La[1]+La[2])
sage: SL = LS.subcrystal(max_depth=3)
sage: GL = LS.digraph(subset=SL)
sage: La = RootSystem(['C',3,1]).weight_lattice(extended = True).fundamental_weights()
sage: M = crystals.NakajimaMonomials(['C',3,1], 2*La[1]+La[2])
sage: SM = M.subcrystal(max_depth=3)
sage: GM = M.digraph(subset=SM)
sage: GL.is_isomorphic(GM, edge_labels=True)
True
现在我们来做一个简单的带边(因此可以对称化)双曲型的例子 H_1^{{(4)}} ,它来自于4个顶点上的完整图:
sage: CM = CartanMatrix([[2, -1, -1,-1],[-1,2,-1,-1],[-1,-1,2,-1],[-1,-1,-1,2]]); CM
[ 2 -1 -1 -1]
[-1 2 -1 -1]
[-1 -1 2 -1]
[-1 -1 -1 2]
sage: La = RootSystem(CM).weight_lattice().fundamental_weights()
sage: M = crystals.NakajimaMonomials(CM, La[0])
sage: SM = M.subcrystal(max_depth=4)
sage: GM = M.digraph(subset=SM) # long time
