Macaulay2 » Documentation
Packages » InvariantRing :: equivariantHilbert
next | previous | forward | backward | up | index | toc

# equivariantHilbert -- stores equivariant Hilbert series expansions

## Description

This key is created in the cache table of a DiagonalAction upon calling equivariantHilbertSeries with the Order option. It stores partial expansions of the equivariant Hilbert series to avoid computing them again.

    i1 : R = QQ[x_1..x_3]

    o1 = R

    o1 : PolynomialRing

    i2 : W = matrix{{-1,0,1},{0,-1,1}}

    o2 = | -1 0  1 |
         | 0  -1 1 |

                  2       3
    o2 : Matrix ZZ  <-- ZZ

    i3 : T = diagonalAction(W, R)

                 * 2
    o3 = R <- (QQ )  via

         | -1 0  1 |
         | 0  -1 1 |

    o3 : DiagonalAction

    i4 : T.cache.?equivariantHilbert

    o4 = false

    i5 : elapsedTime equivariantHilbertSeries(T, Order => 5)
     -- .00240575s elapsed

                      -1    -1       2 2              -2    -1 -1    -2  2
    o5 = 1 + (z z  + z   + z  )T + (z z  + z  + z  + z   + z  z   + z  )T  +
               0 1    1     0        0 1    0    1    1     0  1     0
         ------------------------------------------------------------------------
           3 3    2        2      -1        -3    -1      -1 -2    -2 -1    -3  3
         (z z  + z z  + z z  + z z   + 1 + z   + z  z  + z  z   + z  z   + z  )T
           0 1    0 1    0 1    0 1         1     0  1    0  1     0  1     0
         ------------------------------------------------------------------------
             4 4    3 2    2 3    2             -2    2    -1    -4    -1
         + (z z  + z z  + z z  + z  + z z  + z z   + z  + z   + z   + z   +
             0 1    0 1    0 1    0    0 1    0 1     1    1     1     0
         ------------------------------------------------------------------------
          -1 -3    -2      -2 -2    -3 -1    -4  4
         z  z   + z  z  + z  z   + z  z   + z  )T
          0  1     0  1    0  1     0  1     0

    o5 : ZZ[z ..z ][T]
             0   1

    i6 : T.cache.?equivariantHilbert

    o6 = true

    i7 : elapsedTime equivariantHilbertSeries(T, Order => 5);
     -- .000429874s elapsed

## For the programmer

The object equivariantHilbert is a symbol.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/InvariantRing/AbelianGroupsDoc.m2:185:0.