Macaulay2 » Documentation
Packages » AlgebraicSplines :: stanleyReisner
next | previous | forward | backward | up | index | toc

stanleyReisner -- Creates a ring map whose image is the ring of piecewise continuous polynomials on $\Delta$. If $\Delta$ is simplicial, the Stanley Reisner ring of $\Delta$ is returned.

Synopsis

Description

This method returns the ring of continuous piecewise polynomials on the complex $\Delta$ with vertices $V$ and facets $F$. If $\Delta$ is a simplicial complex, write $\Delta_0$ for its vertices and $K[\Delta]$ for the Stanley-Reisner ring of $\Delta$, which is the quotient of the polynomial ring $K[X_v:v\in\Delta_0]$ by monomials corresponding to non-faces. Then, as a ring, $C^0(\Delta)$ is isomorphic to the so-called affine Stanley Reisner ring $K_a[\Delta]=\frac{K[\Delta]}{(1-\sum_{v} X_v)K[\Delta]}$. If $\Delta$ is a cone, then $K_a[\Delta]=K[\Delta_{dc}]$, where $\Delta_{dc}$ is the decone of $\Delta$. The map $K_a[\Delta]\rightarrow C^0(\Delta)$ is given by $X_v\rightarrow C_v$, where $C_v$ is the Courant function at the vertex $v$. See courantFunctions.

i1 : V={{0,0},{0,1},{-1,-1},{1,0}};
i2 : F={{0,1,2},{0,2,3},{0,1,3}};
i3 : phi=stanleyReisner(V,F)

                        QQ[e ..e , t ..t ]
                            0   2   0   2
o3 = map (---------------------------------------------, QQ[X ..X ], {2e t  - e t  + e t  - e t  + 2e t  + e t  - e t  - e t  + e t , - e t  + e t  + e t , - e t  - e t , e t  - e t  + e t })
                              2        2        2            0   3      0 0    0 1    0 2    1 0     1 1    1 2    2 0    2 1    2 2     0 0    0 1    2 1     0 0    1 1   1 0    1 1    2 0
          (e e , e e , e e , e  - e , e  - e , e  - e )
            0 1   0 2   1 2   0    0   1    1   2    2

                           QQ[e ..e , t ..t ]
                               0   2   0   2
o3 : RingMap --------------------------------------------- <-- QQ[X ..X ]
                                 2        2        2               0   3
             (e e , e e , e e , e  - e , e  - e , e  - e )
               0 1   0 2   1 2   0    0   1    1   2    2
i4 : ker phi--decone of homogenized simplicial complex is three triangles meeting at a vertex

o4 = ideal(X X X )
            1 2 3

o4 : Ideal of QQ[X ..X ]
                  0   3
i5 : R=QQ[x,y];
i6 : phi=stanleyReisner(V,F,BaseRing=>R,Homogenize=>false)

                         QQ[e ..e , x..y]
                             0   2
o6 = map (---------------------------------------------, QQ[X ..X ], {- e x + e y + e y, - e x - e y, e x - e y + e x})
                              2        2        2            0   2       0     0     2      0     1    1     1     2
          (e e , e e , e e , e  - e , e  - e , e  - e )
            0 1   0 2   1 2   0    0   1    1   2    2

                            QQ[e ..e , x..y]
                                0   2
o6 : RingMap --------------------------------------------- <-- QQ[X ..X ]
                                 2        2        2               0   2
             (e e , e e , e e , e  - e , e  - e , e  - e )
               0 1   0 2   1 2   0    0   1    1   2    2
i7 : ker phi--decone of simplicial complex is a three-cycle

o7 = ideal(X X X )
            0 1 2

o7 : Ideal of QQ[X ..X ]
                  0   2

The Stanley Reisner ring of a simplicial complex is obtained using the function ringStructure, where the ring generators are chosen to be the Courant functions.

i8 : V={{0,0},{0,1},{-1,-1},{1,0}};
i9 : F={{0,1,2},{0,2,3},{0,1,3}};
i10 : R=QQ[x,y];
i11 : CF = courantFunctions(V,F,Homogenize=>false,BaseRing=>R);

              3      3
o11 : Matrix R  <-- R
i12 : phi=ringStructure(image CF,VariableGens=>false)

                          QQ[e ..e , x..y]
                              0   2
o12 = map (---------------------------------------------, QQ[Y ..Y ], {- e x + e y + e y, - e x - e y, e x - e y + e x})
                               2        2        2            0   2       0     0     2      0     1    1     1     2
           (e e , e e , e e , e  - e , e  - e , e  - e )
             0 1   0 2   1 2   0    0   1    1   2    2

                             QQ[e ..e , x..y]
                                 0   2
o12 : RingMap --------------------------------------------- <-- QQ[Y ..Y ]
                                  2        2        2               0   2
              (e e , e e , e e , e  - e , e  - e , e  - e )
                0 1   0 2   1 2   0    0   1    1   2    2
i13 : ker phi

o13 = ideal(Y Y Y )
             0 1 2

o13 : Ideal of QQ[Y ..Y ]
                   0   2

If $\Delta$ is not simplicial, then the image of the map is a minimal set of generators for the ring $C^0(\Delta)$. There is no canonical choice of generators, and $C^0(\Delta)$ is no longer a combinatorial object.

i14 : V={{0,1},{-1,-1},{1,-1},{0,10},{-2,-2},{2,-2}};--symmetric triangular prism
i15 : V'={{0,1},{-1,-1},{1,-1},{1,10},{-2,-2},{2,-2}};--asymmetric triangular prism
i16 : F={{0,1,2},{0,1,3,4},{0,2,3,5},{1,2,4,5}};
i17 : S=QQ[x,y,z];
i18 : phi=stanleyReisner(V,F,BaseRing=>S) --four generators in degree one

                                       QQ[e ..e , x..z]
                                           0   3
o18 = map (------------------------------------------------------------------------, QQ[X ..X ], {e x + e x + e x + e x, e y + e y + e y + e y, e z + e z + e z + e z, e y + e z - 2e x + 2e y + 2e x + 2e y})
                                                 2        2        2        2            0   3     0     1     2     3    0     1     2     3    0     1     2     3    0     0      1      1      2      2
           (e e , e e , e e , e e , e e , e e , e  - e , e  - e , e  - e , e  - e )
             0 1   0 2   1 2   0 3   1 3   2 3   0    0   1    1   2    2   3    3

                                          QQ[e ..e , x..z]
                                              0   3
o18 : RingMap ------------------------------------------------------------------------ <-- QQ[X ..X ]
                                                    2        2        2        2               0   3
              (e e , e e , e e , e e , e e , e e , e  - e , e  - e , e  - e , e  - e )
                0 1   0 2   1 2   0 3   1 3   2 3   0    0   1    1   2    2   3    3
i19 : phi'=stanleyReisner(V',F,BaseRing=>S) --six generators in degrees one and two

                                       QQ[e ..e , x..z]
                                           0   3                                                                                                                                       2                 2        2                 2                                 2                                    2                                    2                                   2                            2                  2                          2        2
o19 = map (------------------------------------------------------------------------, QQ[X ..X ], {e x + e x + e x + e x, e y + e y + e y + e y, e z + e z + e z + e z, - 14e x*y - 7e y  - 14e x*z + 7e z  + 72e x  - 80e x*y + 8e y  + 8e x*z - 8e y*z, 2e x*y + 9e y  + 2e x*z + 9e y*z - 20e x*y + 20e y  + 2e x*z - 2e y*z + 16e x*y + 16e y  + 2e x*z + 2e y*z, 14e x*y - 47e y  + 14e x*z - 36e y*z + 11e z  + 80e x*y - 80e y  - 8e x*z + 8e y*z + 72e x  - 72e y })
                                                 2        2        2        2            0   5     0     1     2     3    0     1     2     3    0     1     2     3        0        0        0        0        1        1        1       1        1       0        0       0        0         1         1       1        1         2         2       2        2        0         0        0         0         0        1         1       1        1         2        2
           (e e , e e , e e , e e , e e , e e , e  - e , e  - e , e  - e , e  - e )
             0 1   0 2   1 2   0 3   1 3   2 3   0    0   1    1   2    2   3    3

                                          QQ[e ..e , x..z]
                                              0   3
o19 : RingMap ------------------------------------------------------------------------ <-- QQ[X ..X ]
                                                    2        2        2        2               0   5
              (e e , e e , e e , e e , e e , e e , e  - e , e  - e , e  - e , e  - e )
                0 1   0 2   1 2   0 3   1 3   2 3   0    0   1    1   2    2   3    3
i20 : ker phi --kernel generated by single polynomial of degree four

              2         3       2         2         2 2     2 2         2  
o20 = ideal(4X X X  - 4X X  + 4X X X  - 4X X X  - 4X X  + 8X X  + 4X X X  -
              0 1 3     1 3     0 2 3     1 2 3     0 3     1 3     1 2 3  
      -----------------------------------------------------------------------
          3      3    4
      5X X  - X X  + X )
        1 3    2 3    3

o20 : Ideal of QQ[X ..X ]
                   0   3
i21 : mingens ker phi' --kernel has six minimal generators of degree four

o21 = | 76X_0X_1X_4-428X_1^2X_4-22X_0X_2X_4-22X_1X_2X_4+11X_4^2-16X_0X_1X_5-
      -----------------------------------------------------------------------
      72X_1^2X_5-2X_0X_2X_5-9X_1X_2X_5+X_4X_5
      -----------------------------------------------------------------------
      67032X_0^2X_4-1663704X_1^2X_4-99792X_0X_2X_4-99792X_1X_2X_4-2299X_3X_4+
      -----------------------------------------------------------------------
      49896X_4^2-9576X_0^2X_5-110880X_0X_1X_5-278712X_1^2X_5-13860X_0X_2X_5-
      -----------------------------------------------------------------------
      36036X_1X_2X_5-209X_3X_5+5999X_4X_5+133X_5^2
      -----------------------------------------------------------------------
      14630X_1X_2X_3-1463X_2^2X_3+145152X_1^2X_4+61740X_0X_2X_4-43596X_1X_2X_
      -----------------------------------------------------------------------
      4+1368X_3X_4-4536X_4^2+10080X_0X_1X_5+26208X_1^2X_5+1260X_0X_2X_5-8428X
      -----------------------------------------------------------------------
      _1X_2X_5-1463X_2^2X_5+342X_3X_5-630X_4X_5
      -----------------------------------------------------------------------
      146300X_1^2X_3-1463X_2^2X_3+1132992X_1^2X_4+123480X_0X_2X_4+18144X_1X_
      -----------------------------------------------------------------------
      2X_4+1368X_3X_4-35406X_4^2+20160X_0X_1X_5+146048X_1^2X_5+2520X_0X_2X_5+
      -----------------------------------------------------------------------
      6552X_1X_2X_5-1463X_2^2X_5+342X_3X_5-1260X_4X_5
      -----------------------------------------------------------------------
      4180X_0X_1X_3-418X_0X_2X_3+116928X_1^2X_4+7308X_0X_2X_4+7308X_1X_2X_4+
      -----------------------------------------------------------------------
      209X_3X_4-3654X_4^2+6448X_0X_1X_5+19440X_1^2X_5+806X_0X_2X_5+2430X_1X_
      -----------------------------------------------------------------------
      2X_5-403X_4X_5 2633400X_0^2X_3-26334X_2^2X_3-36575X_3^2+281667456X_1^2X
      -----------------------------------------------------------------------
      _4+18552240X_0X_2X_4+16656192X_1X_2X_4+640224X_3X_4-8802108X_4^2+
      -----------------------------------------------------------------------
      2633400X_0^2X_5+18506880X_0X_1X_5+47169864X_1^2X_5+2313360X_0X_2X_5+
      -----------------------------------------------------------------------
      6014736X_1X_2X_5-26334X_2^2X_5+86906X_3X_5-1156680X_4X_5-36575X_5^2 |

                         1                 6
o21 : Matrix (QQ[X ..X ])  <-- (QQ[X ..X ])
                  0   5             0   5

See also

Ways to use stanleyReisner :

For the programmer

The object stanleyReisner is a method function with options.