本文整理汇总了Python中sage.combinat.root_system.cartan_type.CartanType.is_untwisted_affine方法的典型用法代码示例。如果您正苦于以下问题:Python CartanType.is_untwisted_affine方法的具体用法?Python CartanType.is_untwisted_affine怎么用?Python CartanType.is_untwisted_affine使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sage.combinat.root_system.cartan_type.CartanType
的用法示例。
在下文中一共展示了CartanType.is_untwisted_affine方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __classcall_private__
# 需要导入模块: from sage.combinat.root_system.cartan_type import CartanType [as 别名]
# 或者: from sage.combinat.root_system.cartan_type.CartanType import is_untwisted_affine [as 别名]
def __classcall_private__(cls, cartan_type, r, s):
"""
Normalize the input arguments to ensure unique representation.
EXAMPLES::
sage: KRT1 = KirillovReshetikhinTableaux(CartanType(['A',3,1]), 2, 3)
sage: KRT2 = KirillovReshetikhinTableaux(['A',3,1], 2, 3)
sage: KRT1 is KRT2
True
"""
ct = CartanType(cartan_type)
assert ct.is_affine()
if ct.is_untwisted_affine():
if ct.letter == 'D':
if r == ct.n or r == ct.n - 1:
return KRTableauxSpin(ct, r, s)
return KRTableauxTypeVertical(ct, r, s)
if ct.letter == 'B':
if r == ct.n:
return KRTableauxBn(ct, r, s)
return KRTypeVertical(ct, r, s)
if ct.letter == 'A' or (ct.letter == 'C' and r == ct.n):
return KRTableauxRectangle(ct, r, s)
else:
if ct.dual().letter == 'B':
return KRTableauxTypeVertical(ct, r, s)
raise NotImplementedError
示例2: __classcall_private__
# 需要导入模块: from sage.combinat.root_system.cartan_type import CartanType [as 别名]
# 或者: from sage.combinat.root_system.cartan_type.CartanType import is_untwisted_affine [as 别名]
def __classcall_private__(cls, arg0, cartan_type=None, kac_moody=True):
"""
Parse input to ensure a unique representation.
INPUT:
- ``arg0`` -- a simple Lie algebra or a base ring
- ``cartan_type`` -- a Cartan type
EXAMPLES::
sage: L1 = lie_algebras.Affine(QQ, ['A',4,1])
sage: cl = lie_algebras.sl(QQ, 5)
sage: L2 = lie_algebras.Affine(cl)
sage: L1 is L2
True
sage: cl.affine() is L1
True
"""
if isinstance(arg0, LieAlgebra):
ct = arg0.cartan_type()
if not ct.is_finite():
raise ValueError("the base Lie algebra is not simple")
cartan_type = ct.affine()
g = arg0
else:
# arg0 is the base ring
cartan_type = CartanType(cartan_type)
if not cartan_type.is_affine():
raise ValueError("the Cartan type must be affine")
g = LieAlgebra(arg0, cartan_type=cartan_type.classical())
if not cartan_type.is_untwisted_affine():
raise NotImplementedError("only currently implemented for untwisted affine types")
return super(AffineLieAlgebra, cls).__classcall__(cls, g, kac_moody)
示例3: __classcall__
# 需要导入模块: from sage.combinat.root_system.cartan_type import CartanType [as 别名]
# 或者: from sage.combinat.root_system.cartan_type.CartanType import is_untwisted_affine [as 别名]
def __classcall__(cls, base_ring, cartan_type, level=None, twisted=False):
"""
Normalize arguments to ensure a unique representation.
EXAMPLES::
sage: Q1 = QSystem(QQ, ['A',4])
sage: Q2 = QSystem(QQ, 'A4')
sage: Q1 is Q2
True
Twisted Q-systems are different from untwisted Q-systems::
sage: Q1 = QSystem(QQ, ['E',6,2], twisted=True)
sage: Q2 = QSystem(QQ, ['E',6,2])
sage: Q1 is Q2
False
"""
cartan_type = CartanType(cartan_type)
if not is_tamely_laced(cartan_type):
raise ValueError("the Cartan type is not tamely-laced")
if twisted and not cartan_type.is_affine() and not cartan_type.is_untwisted_affine():
raise ValueError("the Cartan type must be of twisted type")
return super(QSystem, cls).__classcall__(cls, base_ring, cartan_type, level, twisted)
示例4: FundamentalGroupOfExtendedAffineWeylGroup
# 需要导入模块: from sage.combinat.root_system.cartan_type import CartanType [as 别名]
# 或者: from sage.combinat.root_system.cartan_type.CartanType import is_untwisted_affine [as 别名]
#.........这里部分代码省略.........
1 2 3
B3~
sage: F.special_nodes()
(0, 1)
sage: F = FundamentalGroupOfExtendedAffineWeylGroup("C2"); F
Fundamental group of type ['C', 2, 1]
sage: F.cartan_type().dynkin_diagram()
O=>=O=<=O
0 1 2
C2~
sage: F.special_nodes()
(0, 2)
sage: F = FundamentalGroupOfExtendedAffineWeylGroup("D4"); F
Fundamental group of type ['D', 4, 1]
sage: F.cartan_type().dynkin_diagram()
O 4
|
|
O---O---O
1 |2 3
|
O 0
D4~
sage: F.special_nodes()
(0, 1, 3, 4)
sage: (F(4), F(4)^2)
(pi[4], pi[0])
sage: F = FundamentalGroupOfExtendedAffineWeylGroup("D5"); F
Fundamental group of type ['D', 5, 1]
sage: F.cartan_type().dynkin_diagram()
0 O O 5
| |
| |
O---O---O---O
1 2 3 4
D5~
sage: F.special_nodes()
(0, 1, 4, 5)
sage: (F(5), F(5)^2, F(5)^3, F(5)^4)
(pi[5], pi[1], pi[4], pi[0])
sage: F = FundamentalGroupOfExtendedAffineWeylGroup("E6"); F
Fundamental group of type ['E', 6, 1]
sage: F.cartan_type().dynkin_diagram()
O 0
|
|
O 2
|
|
O---O---O---O---O
1 3 4 5 6
E6~
sage: F.special_nodes()
(0, 1, 6)
sage: F(1)^2
pi[6]
sage: F = FundamentalGroupOfExtendedAffineWeylGroup(['D',4,2]); F
Fundamental group of type ['C', 3, 1]^*
sage: F.cartan_type().dynkin_diagram()
O=<=O---O=>=O
0 1 2 3
C3~*
sage: F.special_nodes()
(0, 3)
We also implement a fundamental group for `GL_n`. It is defined to be the group of integers, which is the
covering group of the fundamental group Z/nZ for affine `SL_n`::
sage: F = FundamentalGroupOfExtendedAffineWeylGroup(['A',2,1], general_linear=True); F
Fundamental group of GL(3)
sage: x = F.an_element(); x
pi[5]
sage: x*x
pi[10]
sage: x.inverse()
pi[-5]
sage: wt = F.cartan_type().classical().root_system().ambient_space().an_element(); wt
(2, 2, 3)
sage: x.act_on_classical_ambient(wt)
(2, 3, 2)
sage: w = WeylGroup(F.cartan_type(),prefix="s").an_element(); w
s0*s1*s2
sage: x.act_on_affine_weyl(w)
s2*s0*s1
"""
cartan_type = CartanType(cartan_type)
if cartan_type.is_finite():
cartan_type = cartan_type.affine()
if not cartan_type.is_affine():
raise NotImplementedError("Cartan type is not affine")
if general_linear is True:
if cartan_type.is_untwisted_affine() and cartan_type.type() == "A":
return FundamentalGroupGL(cartan_type, prefix)
else:
raise ValueError("General Linear Fundamental group is untwisted type A")
return FundamentalGroupOfExtendedAffineWeylGroup_Class(cartan_type,prefix,finite=True)