Fast Rank Two Crystals¶
-
sage.combinat.crystals.fast_crystals.
FastCrystal
¶ An alternative implementation of rank 2 crystals. The root operators are implemented in memory by table lookup. This means that in comparison with the
CrystalsOfTableaux
, these crystals are slow to instantiate but faster for computation. Implemented for types \(A_2\), \(B_2\), and \(C_2\).INPUT:
cartan_type
– the Cartan type and must be either type \(A_2\), \(B_2\), or \(C_2\)shape
– A shape is of the form[l1,l2]
wherel1
andl2
are either integers or (in type \(B_2\)) half integers such thatl1 - l2
is integral. It is assumed thatl1 >= l2 >= 0
. Ifl1
andl2` are integers, this will produce a crystal isomorphic to the one obtained by ``crystals.Tableaux(type, shape=[l1,l2])
. Furthermorecrystals.FastRankTwo(['B', 2], l1+1/2, l2+1/2)
produces a crystal isomorphic to the following crystalT
:sage: C = crystals.Tableaux(['B',2], shape=[l1,l2]) # not tested sage: D = crystals.Spins(['B',2]) # not tested sage: T = crystals.TensorProduct(C, D, C.list()[0], D.list()[0]) # not tested
format
– (default:'string'
) the default representation of elements is in term of theBerenstein-Zelevinsky-Littelmann (BZL) strings[a1, a2, ...]
described under metapost incrystals
. Alternative representations may be obtained by the options'dual_string'
or'simple'
. In the'simple'
format, the element is represented by and integer, and in the'dual_string'
format, it is represented by the BZL string, but the underlying decomposition of the long Weyl group element into simple reflections is changed.