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

toP -- Power-sum (p-) basis representation

Description

Given a symmetric function f, the function toP yields a representation of f as a polynomial in the power-sum symmetric functions.

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

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

      1 6   1 2 2   1 3     1 2
o2 = --p  - -p p  + -p p  + -p
     36 1   4 1 2   9 1 3   9 3

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

o3 = S

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

      1 6    1 4     1 2 2    5 3     1         1 2   1 2
o4 = --p  + --p p  - -p p  - --p p  + -p p p  - -p  + -p p
     72 1   12 1 2   8 1 2   18 1 3   6 1 2 3   9 3   4 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 : toP f

       2                    2            2
o10 = p  + (2z  + 2c )p  + z  + 2c z  + c
       1      1     1  1    1     1 1    1

o10 : A

Variant bases. Same caveat as toE and toH: on elements of a variant-basis Schur ring, labels are treated as plain Schur labels; use toP(toS f) to get the character expansion in the power-sum basis.

i11 : Sp = schurRing(QQ, sp, 3, GroupActing => "Sp");
i12 : toP sp_{2,1}

      1 3   1
o12 = -p  - -p
      3 1   3 3

o12 : QQ[e ..e , p ..p , h ..h ]
          1   3   1   3   1   3
i13 : toP toS sp_{2,1}

      1 3   1
o13 = -p  - -p  - p
      3 1   3 3    1

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

Composing toP with toE or toH exercises Newton's identities: toP(toE f) returns f in the $p$-basis, and toH(toP f) returns it back in the $h$-basis.

i14 : R = symmetricRing(QQ,5);
i15 : toP toE (p_2 * p_3)

o15 = p p
       2 3

o15 : R
i16 : toH toP (h_2 * h_3)

o16 = h h
       2 3

o16 : R

The output variables for toP use the third slot of EHPVariables.

i17 : Rxyz = symmetricRing(QQ, 4, EHPVariables => (x,y,z));
i18 : toP(y_3)

      1 3   1       1
o18 = -z  + -z z  + -z
      6 1   2 1 2   3 3

o18 : Rxyz
i19 : toP(x_1 * x_2)

      1 3   1
o19 = -z  - -z z
      2 1   2 1 2

o19 : Rxyz

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

i20 : Sinf = schurRing(QQ, w, infinity);
i21 : try toP w_{2,2} else "error: stable ring has no symmetricRing"

o21 = error: stable ring has no symmetricRing
i22 : toP specialize(w_{2,2}, 4)

       1 4   1 2   1
o22 = --p  + -p  - -p p
      12 1   4 2   3 1 3

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

See also

Ways to use toP:

  • toP(RingElement)

For the programmer

The object toP is a method function.


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