# Root system data for type A infinity#

class sage.combinat.root_system.type_A_infinity.CartanType(index_set)[source]#

The Cartan type $$A_{\infty}$$.

We use NN and ZZ to explicitly differentiate between the $$A_{+\infty}$$ and $$A_{\infty}$$ root systems, respectively. While oo is the same as +Infinity in Sage, it is used as an alias for ZZ.

ascii_art(label=None, node=None)[source]#

Return an ascii art representation of the extended Dynkin diagram.

EXAMPLES:

sage: print(CartanType(['A', ZZ]).ascii_art())
..---O---O---O---O---O---O---O---..
-3  -2  -1   0   1   2   3
sage: print(CartanType(['A', NN]).ascii_art())
O---O---O---O---O---O---O---..
0   1   2   3   4   5   6

>>> from sage.all import *
>>> print(CartanType(['A', ZZ]).ascii_art())
..---O---O---O---O---O---O---O---..
-3  -2  -1   0   1   2   3
>>> print(CartanType(['A', NN]).ascii_art())
O---O---O---O---O---O---O---..
0   1   2   3   4   5   6

dual()[source]#

Simply laced Cartan types are self-dual, so return self.

EXAMPLES:

sage: CartanType(["A", NN]).dual()
['A', NN]
sage: CartanType(["A", ZZ]).dual()
['A', ZZ]

>>> from sage.all import *
>>> CartanType(["A", NN]).dual()
['A', NN]
>>> CartanType(["A", ZZ]).dual()
['A', ZZ]

index_set()[source]#

Return the index set for the Cartan type self.

The index set for all standard finite Cartan types is of the form $$\{1, \ldots, n\}$$. (See type_I for a slight abuse of this).

EXAMPLES:

sage: CartanType(['A', NN]).index_set()
Non negative integer semiring
sage: CartanType(['A', ZZ]).index_set()
Integer Ring

>>> from sage.all import *
>>> CartanType(['A', NN]).index_set()
Non negative integer semiring
>>> CartanType(['A', ZZ]).index_set()
Integer Ring

is_affine()[source]#

Return False because self is not (untwisted) affine.

EXAMPLES:

sage: CartanType(['A', NN]).is_affine()
False
sage: CartanType(['A', ZZ]).is_affine()
False

>>> from sage.all import *
>>> CartanType(['A', NN]).is_affine()
False
>>> CartanType(['A', ZZ]).is_affine()
False

is_crystallographic()[source]#

Return False because self is not crystallographic.

EXAMPLES:

sage: CartanType(['A', NN]).is_crystallographic()
True
sage: CartanType(['A', ZZ]).is_crystallographic()
True

>>> from sage.all import *
>>> CartanType(['A', NN]).is_crystallographic()
True
>>> CartanType(['A', ZZ]).is_crystallographic()
True

is_finite()[source]#

Return True because self is not finite.

EXAMPLES:

sage: CartanType(['A', NN]).is_finite()
False
sage: CartanType(['A', ZZ]).is_finite()
False

>>> from sage.all import *
>>> CartanType(['A', NN]).is_finite()
False
>>> CartanType(['A', ZZ]).is_finite()
False

is_simply_laced()[source]#

Return True because self is simply laced.

EXAMPLES:

sage: CartanType(['A', NN]).is_simply_laced()
True
sage: CartanType(['A', ZZ]).is_simply_laced()
True

>>> from sage.all import *
>>> CartanType(['A', NN]).is_simply_laced()
True
>>> CartanType(['A', ZZ]).is_simply_laced()
True

is_untwisted_affine()[source]#

Return False because self is not (untwisted) affine.

EXAMPLES:

sage: CartanType(['A', NN]).is_untwisted_affine()
False
sage: CartanType(['A', ZZ]).is_untwisted_affine()
False

>>> from sage.all import *
>>> CartanType(['A', NN]).is_untwisted_affine()
False
>>> CartanType(['A', ZZ]).is_untwisted_affine()
False

rank()[source]#

Return the rank of self which for type $$X_n$$ is $$n$$.

EXAMPLES:

sage: CartanType(['A', NN]).rank()
+Infinity
sage: CartanType(['A', ZZ]).rank()
+Infinity

>>> from sage.all import *
>>> CartanType(['A', NN]).rank()
+Infinity
>>> CartanType(['A', ZZ]).rank()
+Infinity


As this example shows, the rank is slightly ambiguous because the root systems of type $$['A',NN]$$ and type $$['A',ZZ]$$ have the same rank. Instead, it is better ot use index_set() to differentiate between these two root systems.

type()[source]#

Return the type of self.

EXAMPLES:

sage: CartanType(['A', NN]).type()
'A'
sage: CartanType(['A', ZZ]).type()
'A'

>>> from sage.all import *
>>> CartanType(['A', NN]).type()
'A'
>>> CartanType(['A', ZZ]).type()
'A'