李代数#
- class sympy.liealgebras.root_system.RootSystem(cartantype)[源代码]#
表示简单李代数的根系
每一个简单的李代数都有一个唯一的根系统。为了求根,我们首先考虑g的Cartan子代数,它是最大的交换子代数,并考虑g在这个子代数上的伴随作用。存在与此操作关联的根系统。现在,向量空间V上的根系是一组有限向量Phi(称为根),它满足:
根跨V
φ中x的唯一标量倍数是x和-x
对于Phi中的每一个x,在垂直于x的超平面的反射下,设置的Phi是闭合的。
如果x和y是φ的根,那么y在穿过x的直线上的投影是x的半整数倍。
现在,有一个子集,我们将它称为Delta,这样:1。三角洲是v2的基础。φ中的每个根x可以用x=sum ku y表示y,单位为Delta
Delta的元素称为单根。因此,我们看到单根跨越了给定单李代数的根空间。
工具书类
[R599]李代数与表示理论-汉弗莱斯
- add_as_roots(root1, root2)[源代码]#
将两个根相加当且仅当它们的和也是根时
它以两个向量作为输入,这两个向量应该是根。然后计算它们的和并检查它是否在所有可能的根的列表中。如果是,则返回总和。否则,它将返回一个字符串,说明总和不是根。
实例
>>> from sympy.liealgebras.root_system import RootSystem >>> c = RootSystem("A3") >>> c.add_as_roots([1, 0, -1, 0], [0, 0, 1, -1]) [1, 0, 0, -1] >>> c.add_as_roots([1, -1, 0, 0], [0, 0, -1, 1]) 'The sum of these two roots is not a root'
- add_simple_roots(root1, root2)[源代码]#
把两个简单的根加在一起
该函数接受两个整数root1和root2作为输入。然后它使用这些整数作为单根字典中的键,得到相应的单根,然后将它们相加。
实例
>>> from sympy.liealgebras.root_system import RootSystem >>> c = RootSystem("A3") >>> newroot = c.add_simple_roots(1, 2) >>> newroot [1, 0, -1, 0]
- all_roots()[源代码]#
一个给定的根生成所有的根
结果是一个字典,其中的键是整数。它通过从基类中获取所有正根的字典来生成根,然后取每个根,将其乘以-1并将其添加到字典中。所有的负根都是这样产生的。
- cartan_matrix()[源代码]#
与此根系相关的李代数的Cartan矩阵
实例
>>> from sympy.liealgebras.root_system import RootSystem >>> c = RootSystem("A3") >>> c.cartan_matrix() Matrix([ [ 2, -1, 0], [-1, 2, -1], [ 0, -1, 2]])
- dynkin_diagram()[源代码]#
与这个根系相关的李代数的Dynkin图
实例
>>> from sympy.liealgebras.root_system import RootSystem >>> c = RootSystem("A3") >>> print(c.dynkin_diagram()) 0---0---0 1 2 3
- class sympy.liealgebras.type_a.TypeA(n)[源代码]#
这个类包含关于一系列简单李代数的信息。====
- cartan_matrix()[源代码]#
返回A的Cartan矩阵。Lie代数的Cartan矩阵矩阵是通过对单根(alpha)赋值来生成的 [1] ,…..,阿尔法 [l] ). 那么Cartan矩阵的ijth条目是(<alpha [i] ,阿尔法 [j] >).
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType('A4') >>> c.cartan_matrix() Matrix([ [ 2, -1, 0, 0], [-1, 2, -1, 0], [ 0, -1, 2, -1], [ 0, 0, -1, 2]])
- dimension()[源代码]#
李代数下向量空间V的维数
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("A4") >>> c.dimension() 5
- positive_roots()[源代码]#
这个方法产生所有的正根,这是所有根的一半,把所有的正根乘以-1得到负根。
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("A3") >>> c.positive_roots() {1: [1, -1, 0, 0], 2: [1, 0, -1, 0], 3: [1, 0, 0, -1], 4: [0, 1, -1, 0], 5: [0, 1, 0, -1], 6: [0, 0, 1, -1]}
- simple_root(i)[源代码]#
每一个李代数都有一个唯一的根系统。给定一个根系统Q,存在根的子集,使得Q中的一个元素不能写成Q中两个元素的和,则称为单根。如果我们让D表示简单根的集合,那么很明显Q的每个元素都可以写成D元素的线性组合,所有系数都非负。
在n中,第i个单根是在第i个位置有一个1,在第(i+1)个位置有-1,在其他位置有零的根。
此方法返回A系列的第i个简单根。
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("A4") >>> c.simple_root(1) [1, -1, 0, 0, 0]
- class sympy.liealgebras.type_b.TypeB(n)[源代码]#
-
- cartan_matrix()[源代码]#
返回B峎n的Cartan矩阵。李代数的Cartan矩阵矩阵是通过给单根(alpha)赋值来生成的 [1] ,…..,阿尔法 [l] ). 那么Cartan矩阵的ijth条目是(<alpha [i] ,阿尔法 [j] >).
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType('B4') >>> c.cartan_matrix() Matrix([ [ 2, -1, 0, 0], [-1, 2, -1, 0], [ 0, -1, 2, -2], [ 0, 0, -1, 2]])
- dimension()[源代码]#
李代数下向量空间V的维数
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("B3") >>> c.dimension() 3
- positive_roots()[源代码]#
这个方法生成A_n的所有正根,这是B峎n所有根的一半;将所有正根乘以-1,我们得到负根。
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("A3") >>> c.positive_roots() {1: [1, -1, 0, 0], 2: [1, 0, -1, 0], 3: [1, 0, 0, -1], 4: [0, 1, -1, 0], 5: [0, 1, 0, -1], 6: [0, 0, 1, -1]}
- simple_root(i)[源代码]#
每一个李代数都有一个唯一的根系统。给定一个根系统Q,存在根的子集,使得Q中的一个元素不能写成Q中两个元素的和,则称为单根。如果我们让D表示简单根的集合,那么很明显Q的每个元素都可以写成D元素的线性组合,所有系数都非负。
在Bün中,前n-1个单根与A_u(n-1)的根相同(a1在第i位,A-1在(i+1)位,在其他地方为零)。第n个单根是第n个位置为1,其他位置为零的根。
这个方法返回B系列的第i个简单根。
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("B3") >>> c.simple_root(2) [0, 1, -1]
- class sympy.liealgebras.type_c.TypeC(n)[源代码]#
-
- cartan_matrix()[源代码]#
卡坦矩阵
李代数的Cartan矩阵矩阵是通过对单根(alpha)赋值来生成的 [1] ,…..,阿尔法 [l] ). 那么Cartan矩阵的ijth条目是(<alpha [i] ,阿尔法 [j] >).
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType('C4') >>> c.cartan_matrix() Matrix([ [ 2, -1, 0, 0], [-1, 2, -1, 0], [ 0, -1, 2, -1], [ 0, 0, -2, 2]])
- dimension()[源代码]#
李代数下向量空间V的维数
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("C3") >>> c.dimension() 3
- positive_roots()[源代码]#
所有n的根都是正的
这是C峎n所有根的一半;将所有正根乘以-1,我们得到负根。
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("A3") >>> c.positive_roots() {1: [1, -1, 0, 0], 2: [1, 0, -1, 0], 3: [1, 0, 0, -1], 4: [0, 1, -1, 0], 5: [0, 1, 0, -1], 6: [0, 0, 1, -1]}
- simple_root(i)[源代码]#
C级数的第i个单根
每一个李代数都有一个唯一的根系统。给定一个根系统Q,存在根的子集,使得Q中的一个元素不能写成Q中两个元素的和,则称为单根。如果我们让D表示简单根的集合,那么很明显Q的每个元素都可以写成D元素的线性组合,所有系数都非负。
在Cün中,前n-1个单根与A_u(n-1)的根相同(A 1在第i位,A-1在第(i+1)位,在其他地方为零)。第n个单根是第n个位置有2,其他位置有0的根。
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("C3") >>> c.simple_root(2) [0, 1, -1]
- class sympy.liealgebras.type_d.TypeD(n)[源代码]#
-
- cartan_matrix()[源代码]#
返回D峎n的Cartan矩阵。李代数的Cartan矩阵矩阵是通过给单根(alpha)赋值来生成的 [1] ,…..,阿尔法 [l] ). 那么Cartan矩阵的ijth条目是(<alpha [i] ,阿尔法 [j] >).
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType('D4') >>> c.cartan_matrix() Matrix([ [ 2, -1, 0, 0], [-1, 2, -1, -1], [ 0, -1, 2, 0], [ 0, -1, 0, 2]])
- dimension()[源代码]#
李代数下向量空间V的理解
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("D4") >>> c.dimension() 4
- positive_roots()[源代码]#
这个方法产生所有的正根,这是所有根的一半,用所有的正根乘以-1得到负根。
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("A3") >>> c.positive_roots() {1: [1, -1, 0, 0], 2: [1, 0, -1, 0], 3: [1, 0, 0, -1], 4: [0, 1, -1, 0], 5: [0, 1, 0, -1], 6: [0, 0, 1, -1]}
- simple_root(i)[源代码]#
每一个李代数都有一个唯一的根系统。给定一个根系统Q,存在根的子集,使得Q中的一个元素不能写成Q中两个元素的和,则称为单根。如果我们让D表示简单根的集合,那么很明显Q的每个元素都可以写成D元素的线性组合,所有系数都非负。
在Dün中,前n-1个单根与A(n-1)的根相同(A 1在第i位,A-1在第(i+1)位,在其他地方为零)。第n个单根是第n个和第(n-1)个位置有1,其他位置有0的根。
此方法返回D系列的第i个简单根。
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("D4") >>> c.simple_root(2) [0, 1, -1, 0]
- class sympy.liealgebras.type_e.TypeE(n)[源代码]#
-
- cartan_matrix()[源代码]#
返回G峎2的Cartan矩阵李代数的Cartan矩阵矩阵是通过对单根(alpha)赋值来生成的 [1] ,…..,阿尔法 [l] ). 那么Cartan矩阵的ijth条目是(<alpha [i] ,阿尔法 [j] >).
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType('A4') >>> c.cartan_matrix() Matrix([ [ 2, -1, 0, 0], [-1, 2, -1, 0], [ 0, -1, 2, -1], [ 0, 0, -1, 2]])
- dimension()[源代码]#
李代数下向量空间V的维数
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("E6") >>> c.dimension() 8
- class sympy.liealgebras.type_f.TypeF(n)[源代码]#
-
- cartan_matrix()[源代码]#
fu4的Cartan矩阵
李代数的Cartan矩阵矩阵是通过对单根(alpha)赋值来生成的 [1] ,…..,阿尔法 [l] ). 那么Cartan矩阵的ijth条目是(<alpha [i] ,阿尔法 [j] >).
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType('A4') >>> c.cartan_matrix() Matrix([ [ 2, -1, 0, 0], [-1, 2, -1, 0], [ 0, -1, 2, -1], [ 0, 0, -1, 2]])
- dimension()[源代码]#
李代数下向量空间V的维数
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("F4") >>> c.dimension() 4
- class sympy.liealgebras.type_g.TypeG(n)[源代码]#
-
- cartan_matrix()[源代码]#
Gé2的Cartan矩阵
李代数的Cartan矩阵矩阵是通过对单根(alpha)赋值来生成的 [1] ,…..,阿尔法 [l] ). 那么Cartan矩阵的ijth条目是(<alpha [i] ,阿尔法 [j] >).
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("G2") >>> c.cartan_matrix() Matrix([ [ 2, -1], [-3, 2]])
- dimension()[源代码]#
李代数下向量空间V的维数
实例
>>> from sympy.liealgebras.cartan_type import CartanType >>> c = CartanType("G2") >>> c.dimension() 3
- class sympy.liealgebras.weyl_group.WeylGroup(cartantype)[源代码]#
对于每个半单李群,我们有一个Weyl群。它是根系统等距组的一个子组。具体地说,它是通过与根正交的超平面反射生成的子群。因此,Weyl群是反射群,因此Weyl群是有限Coxeter群。
- coxeter_diagram()[源代码]#
This method returns the Coxeter diagram corresponding to a Weyl group. The Coxeter diagram can be obtained from a Lie algebra's Dynkin diagram by deleting all arrows; the Coxeter diagram is the undirected graph. The vertices of the Coxeter diagram represent the generating reflections of the Weyl group, \(s_i\). An edge is drawn between \(s_i\) and \(s_j\) if the order \(m(i, j)\) of \(s_is_j\) is greater than two. If there is one edge, the order \(m(i, j)\) is 3. If there are two edges, the order \(m(i, j)\) is 4, and if there are three edges, the order \(m(i, j)\) is 6.
实例
>>> from sympy.liealgebras.weyl_group import WeylGroup >>> c = WeylGroup("B3") >>> print(c.coxeter_diagram()) 0---0===0 1 2 3
- element_order(weylelt)[源代码]#
此方法返回给定Weyl群元素的顺序,用户应以生成反射的乘积的形式指定,即r1*r2等的形式。
对于A-F型,这种方法的工作原理是取指定元素的矩阵形式,然后求出矩阵的幂次是恒等式。然后它返回这个能量。
实例
>>> from sympy.liealgebras.weyl_group import WeylGroup >>> b = WeylGroup("B4") >>> b.element_order('r1*r4*r2') 4
- generators()[源代码]#
该方法为给定的李代数创建Weyl群的生成反射。对于秩为n的李代数,有n个不同的生成反射。此函数以列表形式返回它们。
实例
>>> from sympy.liealgebras.weyl_group import WeylGroup >>> c = WeylGroup("F4") >>> c.generators() ['r1', 'r2', 'r3', 'r4']