Schur algebras for
¶
This file implements:
- Schur algebras for
over an arbitrary field.
- The canonical action of the Schur algebra on a tensor power of the standard representation.
- Using the above to calculate the characters of irreducible
modules.
AUTHORS:
- Eric Webster (2010-07-01): implement Schur algebra
- Hugh Thomas (2011-05-08): implement action of Schur algebra and characters of irreducible modules
REFERENCES:
[GreenPoly] | (1, 2) J. Green, Polynomial representations of ![]() |
-
sage.algebras.schur_algebra.
GL_irreducible_character
(n, mu, KK)¶ Return the character of the irreducible module indexed by
mu
ofover the field
KK
.INPUT:
n
– a positive integermu
– a partition of at mostn
partsKK
– a field
OUTPUT:
a symmetric function which should be interpreted in
n
variables to be meaningful as a characterEXAMPLES:
Over
, the irreducible character for
is the Schur function associated to
, plus garbage terms (Schur functions associated to partitions with more than
parts):
sage: from sage.algebras.schur_algebra import GL_irreducible_character sage: sbasis = SymmetricFunctions(QQ).s() sage: z = GL_irreducible_character(2, [2], QQ) sage: sbasis(z) s[2] sage: z = GL_irreducible_character(4, [3, 2], QQ) sage: sbasis(z) -5*s[1, 1, 1, 1, 1] + s[3, 2]
Over a Galois field, the irreducible character for
will in general be smaller.
In characteristic
, for a one-part partition
, where
, the result is (see [GreenPoly], after 5.5d) the product of
which is consistent with the following
sage: from sage.algebras.schur_algebra import GL_irreducible_character sage: GL_irreducible_character(2, [7], GF(3)) m[4, 3] + m[6, 1] + m[7]
-
class
sage.algebras.schur_algebra.
SchurAlgebra
(R, n, r)¶ Bases:
sage.combinat.free_module.CombinatorialFreeModule
A Schur algebra.
Let
be a commutative ring,
be a positive integer, and
be a non-negative integer. Define
to be the set of homogeneous polynomials of degree
in
variables
. Therefore we can write
, and
is known to be a bialgebra with coproduct given by
and counit
. Therefore
is a subcoalgebra of
. The Schur algebra
is the linear dual to
, that is
, and
obtains its algebra structure naturally by dualizing the comultiplication of
.
Let
. One of the most important properties of the Schur algebra
is that it is isomorphic to the endomorphisms of
which commute with the natural action of
.
EXAMPLES:
sage: S = SchurAlgebra(ZZ, 2, 2); S Schur algebra (2, 2) over Integer Ring
REFERENCES:
-
dimension
()¶ Return the dimension of
self
.The dimension of the Schur algebra
is
EXAMPLES:
sage: S = SchurAlgebra(QQ, 4, 2) sage: S.dimension() 136 sage: S = SchurAlgebra(QQ, 2, 4) sage: S.dimension() 35
-
one
()¶ Return the element
of
self
.EXAMPLES:
sage: S = SchurAlgebra(ZZ, 2, 2) sage: e = S.one(); e S((1, 1), (1, 1)) + S((1, 2), (1, 2)) + S((2, 2), (2, 2)) sage: x = S.an_element() sage: x * e == x True sage: all(e * x == x for x in S.basis()) True sage: S = SchurAlgebra(ZZ, 4, 4) sage: e = S.one() sage: x = S.an_element() sage: x * e == x True
-
product_on_basis
(e_ij, e_kl)¶ Return the product of basis elements.
EXAMPLES:
sage: S = SchurAlgebra(QQ, 2, 3) sage: B = S.basis()
If we multiply two basis elements
and
, such that
and
are not permutations of each other, the result is zero:
sage: S.product_on_basis(((1, 1, 1), (1, 1, 2)), ((1, 2, 2), (1, 1, 2))) 0
If we multiply a basis element
by a basis element which consists of the same tuple repeated twice (on either side), the result is either zero (if the previous case applies) or
:
sage: ww = B[((1, 2, 2), (1, 2, 2))] sage: x = B[((1, 2, 2), (1, 1, 2))] sage: ww * x S((1, 2, 2), (1, 1, 2))
An arbitrary product, on the other hand, may have multiplicities:
sage: x = B[((1, 1, 1), (1, 1, 2))] sage: y = B[((1, 1, 2), (1, 2, 2))] sage: x * y 2*S((1, 1, 1), (1, 2, 2))
-
-
class
sage.algebras.schur_algebra.
SchurTensorModule
(R, n, r)¶ Bases:
sage.combinat.free_module.CombinatorialFreeModule_Tensor
The space
where
equipped with a left action of the Schur algebra
and a right action of the symmetric group
.
Let
be a commutative ring and
. We consider the module
equipped with a natural right action of the symmetric group
given by
The Schur algebra
is naturally isomorphic to the endomorphisms of
which commutes with the
action. We get the natural left action of
by this isomorphism.
EXAMPLES:
sage: T = SchurTensorModule(QQ, 2, 3); T The 3-fold tensor product of a free module of dimension 2 over Rational Field sage: A = SchurAlgebra(QQ, 2, 3) sage: P = Permutations(3) sage: t = T.an_element(); t 2*B[1] # B[1] # B[1] + 2*B[1] # B[1] # B[2] + 3*B[1] # B[2] # B[1] sage: a = A.an_element(); a 2*S((1, 1, 1), (1, 1, 1)) + 2*S((1, 1, 1), (1, 1, 2)) + 3*S((1, 1, 1), (1, 2, 2)) sage: p = P.an_element(); p [3, 1, 2] sage: y = a * t; y 14*B[1] # B[1] # B[1] sage: y * p 14*B[1] # B[1] # B[1] sage: z = t * p; z 2*B[1] # B[1] # B[1] + 3*B[1] # B[1] # B[2] + 2*B[2] # B[1] # B[1] sage: a * z 14*B[1] # B[1] # B[1]
We check the commuting action property:
sage: all( (bA * bT) * p == bA * (bT * p) ....: for bT in T.basis() for bA in A.basis() for p in P) True
-
class
Element
(M, x)¶ Bases:
sage.combinat.free_module.CombinatorialFreeModuleElement
Create a combinatorial module element. This should never be called directly, but only through the parent combinatorial free module’s
__call__()
method.TESTS:
sage: F = CombinatorialFreeModule(QQ, ['a','b','c']) sage: B = F.basis() sage: f = B['a'] + 3*B['c']; f B['a'] + 3*B['c'] sage: f == loads(dumps(f)) True
-
class
-
sage.algebras.schur_algebra.
schur_representative_from_index
(i0, i1)¶ Simultaneously reorder a pair of tuples to obtain the equivalent element of the distinguished basis of the Schur algebra.
See also
INPUT:
- A pair of tuples of length
with elements in
OUTPUT:
- The corresponding pair of tuples ordered correctly.
EXAMPLES:
sage: from sage.algebras.schur_algebra import schur_representative_from_index sage: schur_representative_from_index([2,1,2,2], [1,3,0,0]) ((1, 2, 2, 2), (3, 0, 0, 1))
- A pair of tuples of length
-
sage.algebras.schur_algebra.
schur_representative_indices
(n, r)¶ Return a set which functions as a basis of
.
More specifically, the basis for
consists of equivalence classes of pairs of tuples of length
r
on the alphabet, where the equivalence relation is simultaneous permutation of the two tuples. We can therefore fix a representative for each equivalence class in which the entries of the first tuple weakly increase, and the entries of the second tuple whose corresponding values in the first tuple are equal, also weakly increase.
EXAMPLES:
sage: from sage.algebras.schur_algebra import schur_representative_indices sage: schur_representative_indices(2, 2) [((1, 1), (1, 1)), ((1, 1), (1, 2)), ((1, 1), (2, 2)), ((1, 2), (1, 1)), ((1, 2), (1, 2)), ((1, 2), (2, 1)), ((1, 2), (2, 2)), ((2, 2), (1, 1)), ((2, 2), (1, 2)), ((2, 2), (2, 2))]