# Root system data for type A infinity¶

class sage.combinat.root_system.type_A_infinity.CartanType(index_set)

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=<function <lambda> at 0x7fc50ec70410>, node=None)

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

dual()

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]

index_set()

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

is_affine()

Return False because self is not (untwisted) affine.

EXAMPLES:

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

is_crystallographic()

Return False because self is not crystallographic.

EXAMPLES:

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

is_finite()

Return True because self is not finite.

EXAMPLES:

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

is_simply_laced()

Return True because self is simply laced.

EXAMPLES:

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

is_untwisted_affine()

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

rank()

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


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()

Return the type of self.

EXAMPLES:

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