Direct Sum of Crystals¶
-
sage.combinat.crystals.direct_sum.
DirectSumOfCrystals
¶ Direct sum of crystals.
Given a list of crystals \(B_0, \ldots, B_k\) of the same Cartan type, one can form the direct sum \(B_0 \oplus \cdots \oplus B_k\).
INPUT:
crystals
– a list of crystals of the same Cartan typekeepkey
– a boolean
The option
keepkey
is by default set toFalse
, assuming that the crystals are all distinct. In this case the elements of the direct sum are just represented by the elements in the crystals \(B_i\). If the crystals are not all distinct, one should set thekeepkey
option toTrue
. In this case, the elements of the direct sum are represented as tuples \((i, b)\) where \(b \in B_i\).EXAMPLES:
sage: C = crystals.Letters(['A',2]) sage: C1 = crystals.Tableaux(['A',2],shape=[1,1]) sage: B = crystals.DirectSum([C,C1]) sage: B.list() [1, 2, 3, [[1], [2]], [[1], [3]], [[2], [3]]] sage: [b.f(1) for b in B] [2, None, None, None, [[2], [3]], None] sage: B.module_generators (1, [[1], [2]])
sage: B = crystals.DirectSum([C,C], keepkey=True) sage: B.list() [(0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3)] sage: B.module_generators ((0, 1), (1, 1)) sage: b = B( tuple([0,C(1)]) ) sage: b (0, 1) sage: b.weight() (1, 0, 0)
The following is required, because
DirectSumOfCrystals
takes the same arguments asDisjointUnionEnumeratedSets
(which see for details).