Root system data for type A infinity¶
- class sage.combinat.root_system.type_A_infinity.CartanType(index_set)[source]¶
Bases:
CartanType_standard
,CartanType_simple
The Cartan type \(A_{\infty}\).
We use
NN
andZZ
to explicitly differentiate between the \(A_{+\infty}\) and \(A_{\infty}\) root systems, respectively. Whileoo
is the same as+Infinity
in Sage, it is used as an alias forZZ
.- 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
becauseself
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
becauseself
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
becauseself
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
becauseself
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
becauseself
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.