A Schur ring is the representation ring for the general linear group of n\times n matrices, and one can be constructed with schurRing.
i1 : S = schurRing(QQ,s,4) o1 = S o1 : SchurRing |
Alternatively, its elements can be interpreted as virtual characters of symmetric groups, by setting the value of the option GroupActing to "Sn".
i2 : Q = schurRing(QQ,q,4,GroupActing => "Sn") o2 = Q o2 : SchurRing |
The element corresponding to the Young diagram \{3,2,1\}, is obtained as follows.
i3 : s_{3,2,1} o3 = s 3,2,1 o3 : S |
i4 : s_(3,2,1) o4 = s 3,2,1 o4 : S |
For Young diagrams with only one row one can use positive integers as subscripts.
i5 : q_4 o5 = q 4 o5 : Q |
The name of the Schur ring can be used with a subscript to describe a symmetric function.
i6 : Q_{2,2} o6 = q 2,2 o6 : Q |
i7 : S_5 o7 = s 5 o7 : S |
The dimension of the underlying virtual GL-representation can be obtained with dim.
i8 : dim s_{3,2,1} o8 = 64 |
Multiplication in the ring comes from tensor product of representations.
i9 : s_{3,2,1} * s_{1,1} o9 = s + s + s + s + s + s 4,3,1 4,2,2 4,2,1,1 3,3,2 3,3,1,1 3,2,2,1 o9 : S |
i10 : q_{2,1} * q_{2,1} o10 = q + q + q 3 2,1 1,1,1 o10 : Q |
To extract data in an element in a SchurRing, use listForm:
i11 : listForm (s_{3})^2 o11 = {({6}, 1), ({5, 1}, 1), ({4, 2}, 1), ({3, 3}, 1)} o11 : List |
i12 : q_{2,1} * q_{2,1} o12 = q + q + q 3 2,1 1,1,1 o12 : Q |
i13 : listForm oo o13 = {({3}, 1), ({2, 1}, 1), ({1, 1, 1}, 1)} o13 : List |
The object SchurRing is a type, with ancestor classes EngineRing < Ring < Type < MutableHashTable < HashTable < Thing.