Macaulay2 » Documentation
Packages » SchurRings :: toH
next | previous | forward | backward | up | index | toc

toH -- Complete symmetric (h-) basis representation

Description

Given a symmetric function f, the function toH yields a representation of f as a polynomial in the complete symmetric functions.

If f is an element of a Schur ring S then the output fh is an element of the Symmetric ring associated to S (see symmetricRing).

i1 : R = symmetricRing 7;
i2 : toH(h_3*e_3)

      3                2
o2 = h h  - 2h h h  + h
      1 3     1 2 3    3

o2 : R
i3 : S = schurRing(s,4)

o3 = S

o3 : SchurRing
i4 : toH S_{3,2,1}

        6     4       2 2     3                2    2
o4 = - h  + 4h h  - 3h h  - 3h h  + 3h h h  - h  + h h
        1     1 2     1 2     1 3     1 2 3    3    1 4

o4 : QQ[e ..e , p ..p , h ..h ]
         1   4   1   4   1   4

This also works over tensor products of Symmetric/Schur rings.

i5 : R = schurRing(r, 4, EHPVariables => (a,b,c));
i6 : S = schurRing(R, s, 2, EHPVariables => (x,y,z));
i7 : T = schurRing(S, t, 3);
i8 : A = symmetricRing T;
i9 : f = (r_1+s_1+t_1)^2

o9 = t  + t    + (2r  s  + 2r s  )t  + (s  + s    + 2r s  + (r  +
      2    1,1      () 1     1 ()  1     2    1,1     1 1     2  
     ------------------------------------------------------------------------
     r   )s  )t
      1,1  ()  ()

o9 : T
i10 : toH f

       2                    2            2
o10 = h  + (2y  + 2b )h  + y  + 2b y  + b
       1      1     1  1    1     1 1    1

o10 : A

Variant bases. When f lives in a SchurRing with GroupActing in $\{$"Sp", "O", "RatGL", "SL"$\}$ or Basis => "Monomial", partition labels are treated as plain Schur labels (Jacobi-Trudi is applied directly); the result is not the same as the character expansion. Use toH(toS f) for the latter.

i11 : O = schurRing(QQ, o, 4, GroupActing => "O");
i12 : toH o_{2,1}

o12 = h h  - h
       1 2    3

o12 : QQ[e ..e , p ..p , h ..h ]
          1   4   1   4   1   4
i13 : toH toS o_{2,1}

o13 = h h  - h  - h
       1 2    3    1

o13 : QQ[e ..e , p ..p , h ..h ]
          1   4   1   4   1   4

Roundtripping through the Schur basis recovers the original $h$-expression (up to the usual commutative-polynomial rewriting).

i14 : R = symmetricRing(QQ,5);
i15 : toH toS (h_2 * h_3)

o15 = h h
       2 3

o15 : R
i16 : toH toE toS (h_2^2)

       2
o16 = h
       2

o16 : R

The names of the output variables follow EHPVariables; toH writes its result using the second name in that triple.

i17 : Rxyz = symmetricRing(QQ, 4, EHPVariables => (x,y,z));
i18 : toH(x_1 * x_2)

       3
o18 = y  - y y
       1    1 2

o18 : Rxyz
i19 : toH(z_3)

       3
o19 = y  - 3y y  + 3y
       1     1 2     3

o19 : Rxyz

Stable rings. Rank-infinite SchurRings raise an error; use specialize to fix a rank first.

i20 : Sinf = schurRing(QQ, v, infinity);
i21 : try toH v_{3,1} else "error: stable ring has no symmetricRing"

o21 = error: stable ring has no symmetricRing
i22 : toH specialize(v_{3,1}, 4)

o22 = h h  - h
       1 3    4

o22 : QQ[e ..e , p ..p , h ..h ]
          1   4   1   4   1   4

See also

Ways to use toH:

  • toH(RingElement)

For the programmer

The object toH is a method function.


The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/SchurRings.m2:5926:0.