Residue sequences of tableaux¶
A residue sequence for a StandardTableau
, or
StandardTableauTuple
, of size \(n\) is an
\(n\)-tuple \((i_1, i_2, \ldots, i_n)\) of elements of \(\ZZ / e\ZZ\) for some
positive integer \(e \ge 1\). Such sequences arise in the representation
theory of the symmetric group and the closely related cyclotomic Hecke
algebras, and cyclotomic quiver Hecke algebras, where the residue sequences
play a similar role to weights in the representations of Lie groups and
Lie algebras. These Hecke algebras are semisimple when \(e\) is “large enough”
and in these cases residue sequences are essentially the same as content
sequences (see sage.combinat.partition.Partition.content()
) and it
is not difficult to see that residue sequences are in bijection with the
set of standard tableaux. In the non-semisimple case, when \(e\) is “small”,
different standard tableaux can have the same residue sequence. In this
case the residue sequences describe how to decompose modules into
generalised eigenspaces for the Jucys-Murphy elements for these algebras.
By definition, if \(t\) is a StandardTableau
of
size \(n\) then the residue sequence of \(t\) is the \(n\)-tuple \((i_1, \ldots, i_n)\)
where \(i_m = c - r + e\ZZ\), if \(m\) appears in row \(r\) and column \(c\) of \(t\).
If \(p\) is prime then such sequence arise in the representation theory of the
symmetric group n characteristic \(p\). More generally, \(e\)-residue sequences
arise in he representation theory of the Iwahori-Hecke algebra (see
IwahoriHeckeAlgebra
) the
symmetric group with Hecke parameter at an \(e\)-th root of unity.
More generally, the \(e\)-residue sequence of a
StandardTableau
of size \(n\) and level \(l\) is
the \(n\)-tuple \((i_1, \ldots, i_n)\) determined by \(e\) and a multicharge
\(\kappa = (\kappa_1, \ldots, \kappa_l)\) by setting
\(i_m = \kappa_k + c - r + e\ZZ\), if \(m\) appears in component \(k\), row \(r\)
and column \(c\) of \(t\). These sequences arise in the representation theory
of the cyclotomic Hecke algebras of type A, which are also known
as Ariki-Koike algebras.
The residue classes are constructed from standard tableaux:
sage: StandardTableau([[1,2],[3,4]]).residue_sequence(2)
2-residue sequence (0,1,1,0) with multicharge (0)
sage: StandardTableau([[1,2],[3,4]]).residue_sequence(3)
3-residue sequence (0,1,2,0) with multicharge (0)
sage: StandardTableauTuple([[[5]],[[1,2],[3,4]]]).residue_sequence(3,[0,0])
3-residue sequence (0,1,2,0,0) with multicharge (0,0)
sage: StandardTableauTuple([[[5]],[[1,2],[3,4]]]).residue_sequence(3,[0,1])
3-residue sequence (1,2,0,1,0) with multicharge (0,1)
sage: StandardTableauTuple([[[5]],[[1,2],[3,4]]]).residue_sequence(3,[0,2])
3-residue sequence (2,0,1,2,0) with multicharge (0,2)
One of the most useful functions of a ResidueSequence
is that it can
return the StandardTableaux_residue
and
StandardTableaux_residue_shape
that
contain all of the tableaux with this residue sequence. Again, these are best
accessed via the standard tableaux classes:
sage: res = StandardTableau([[1,2],[3,4]]).residue_sequence(2)
sage: res.standard_tableaux()
Standard tableaux with 2-residue sequence (0,1,1,0) and multicharge (0)
sage: res.standard_tableaux()[:]
[[[1, 2, 4], [3]],
[[1, 2], [3, 4]],
[[1, 2], [3], [4]],
[[1, 3, 4], [2]],
[[1, 3], [2, 4]],
[[1, 3], [2], [4]]]
sage: res.standard_tableaux(shape=[4])
Standard (4)-tableaux with 2-residue sequence (0,1,1,0) and multicharge (0)
sage: res.standard_tableaux(shape=[4])[:]
[]
sage: res=StandardTableauTuple([[[5]],[[1,2],[3,4]]]).residue_sequence(3,[0,0])
sage: res.standard_tableaux()
Standard tableaux with 3-residue sequence (0,1,2,0,0) and multicharge (0,0)
sage: res.standard_tableaux(shape=[[1],[2,2]])[:]
[([[5]], [[1, 2], [3, 4]]), ([[4]], [[1, 2], [3, 5]])]
These residue sequences are particularly useful in the graded representation theory of the cyclotomic KLR algebrasand the cyclotomic Hecke algebras of type~A; see [DJM1998] and [BK2009].
This module implements the following classes:
See also
Todo
Strictly speaking this module implements residue sequences of type \(A^{(1)}_e\). Residue sequences of other types also need to be implemented.
AUTHORS:
- Andrew Mathas (2016-07-01): Initial version
-
sage.combinat.tableau_residues.
ResidueSequence
¶ A residue sequence.
The residue sequence of a tableau \(t\) (of partition or partition tuple shape) is the sequence \((i_1, i_2, \ldots, i_n)\) where \(i_k\) is the residue of \(l\) in \(t\), for \(k = 1, 2, \ldots, n\), where \(n\) is the size of \(t\). Residue sequences are important in the representation theory of the cyclotomic Hecke algebras of type \(G(r, 1, n)\), and of the cyclotomic quiver Hecke algebras, because they determine the eigenvalues of the Jucys-Murphy elements upon all modules. More precisely, they index and completely determine the irreducible representations of the (cyclotomic) Gelfand-Tsetlin algebras.
Rather than being called directly, residue sequences are best accessed via the standard tableaux classes
StandardTableau
andStandardTableauTuple
.INPUT:
Can be of the form:
ResidueSequence(e, res)
,ResidueSequence(e, multicharge, res)
,
where
e
is a positive integer not equal to 1 andres
is a sequence of integers (the residues).EXAMPLES:
sage: res = StandardTableauTuple([[[1,3],[6]],[[2,7],[4],[5]]]).residue_sequence(3,(0,5)) sage: res 3-residue sequence (0,2,1,1,0,2,0) with multicharge (0,2) sage: res.quantum_characteristic() 3 sage: res.level() 2 sage: res.size() 7 sage: res.residues() [0, 2, 1, 1, 0, 2, 0] sage: res.restrict(2) 3-residue sequence (0,2) with multicharge (0,2) sage: res.standard_tableaux([[2,1],[1],[2,1]]) Standard (2,1|1|2,1)-tableaux with 3-residue sequence (0,2,1,1,0,2,0) and multicharge (0,2) sage: res.standard_tableaux([[2,2],[3]]).list() [] sage: res.standard_tableaux([[2,2],[3]])[:] [] sage: res.standard_tableaux() Standard tableaux with 3-residue sequence (0,2,1,1,0,2,0) and multicharge (0,2) sage: res.standard_tableaux()[:10] [([[1, 3, 6, 7], [2, 5], [4]], []), ([[1, 3, 6], [2, 5], [4], [7]], []), ([[1, 3], [2, 5], [4, 6], [7]], []), ([[1, 3], [2, 5], [4], [7]], [[6]]), ([[1, 3], [2, 5], [4]], [[6, 7]]), ([[1, 3, 6, 7], [2], [4], [5]], []), ([[1, 3, 6], [2, 7], [4], [5]], []), ([[1, 3], [2, 7], [4], [5], [6]], []), ([[1, 3], [2, 7], [4], [5]], [[6]]), ([[1, 3], [2], [4], [5]], [[6, 7]])]
The TestSuite fails
_test_pickling
because__getitem__
does not support slices, so we skip this.
-
sage.combinat.tableau_residues.
ResidueSequences
¶ A parent class for
ResidueSequence
.This class exists because
ResidueSequence
needs to have a parent. Apart form being a parent the only useful method that it provides iscell_residue()
, which is a short-hand for computing the residue of a cell using theResidueSequence.quantum_characteristic()
andResidueSequence.multicharge()
for the residue class.EXAMPLES:
sage: from sage.combinat.tableau_residues import ResidueSequences sage: ResidueSequences(e=0, multicharge=(0,1,2)) 0-residue sequences with multicharge (0, 1, 2) sage: ResidueSequences(e=0, multicharge=(0,1,2)) == ResidueSequences(e=0, multicharge=(0,1,2)) True sage: ResidueSequences(e=0, multicharge=(0,1,2)) == ResidueSequences(e=3, multicharge=(0,1,2)) False sage: ResidueSequences(e=0, multicharge=(0,1,2)).element_class <class 'sage.combinat.tableau_residues.ResidueSequences_with_category.element_class'>