# stanleyReisnerPresentation -- creates a ring map whose image is the sub-ring of $C^0(\Delta)$ generated by $C^r(\Delta)$. If $\Delta$ is simplicial, $C^0(\Delta)$ is the Stanley Reisner ring of $\Delta$.

## Synopsis

• Usage:
phi = stanleyReisnerPresentation(V,F,r)
• Inputs:
• V, a list, list of vertex coordinates of $\Delta$
• F, a list, list of facets of $\Delta$ (each facet is recorded as a list of indices of vertices taken from V)
• r, an integer, integer, desired degree of smoothness
• Optional inputs:
• BaseRing (missing documentation) => a ring, default value null,
• Homogenize (missing documentation) => , default value true,
• CoefficientRing (missing documentation) => a ring, default value QQ,
• VariableName (missing documentation) => , default value t,
• GenVar (missing documentation) => , default value Y,
• IdempotentVar (missing documentation) => , default value e,
• Trim (missing documentation) => , default value false,
• VariableGens (missing documentation) => , default value true,
• InputType (missing documentation) => , default value "ByFacets",
• Outputs:
• phi, , ring map whose image is $C^r(\Delta)$ as a sub-ring of $C^0(\Delta)$

## Description

This method creates a ring map whose image is the sub-ring of $C^r$ splines expressed in terms of $C^0$ generators. If $\Delta$ is simplicial, $C^0(\Delta)$ is expressed as the Stanley Reisner ring.

 i1 : V={{0,0},{0,1},{-1,-1},{1,0}}; i2 : F={{0,1,2},{0,2,3},{0,1,3}}; i3 : R=QQ[x,y]; i4 : phi=stanleyReisnerPresentation(V,F,1,Homogenize=>false,BaseRing=>R) QQ[X ..X ] 0 2 3 2 2 3 2 o4 = map (----------, QQ[Y ..Y ], {- X + X , X - X , - X + 3X X , X X - X + 2X X }) X X X 0 3 1 2 0 1 1 1 2 0 1 1 1 2 0 1 2 QQ[X ..X ] 0 2 o4 : RingMap ---------- <--- QQ[Y ..Y ] X X X 0 3 0 1 2 i5 : H=source phi; i6 : scan(gens H, g->print phi(g))--see the expression of each generator in the Stanley Reisner ring - X + X 1 2 X - X 0 1 3 2 - X + 3X X 1 1 2 2 3 2 X X - X + 2X X 0 1 1 1 2

The kernel of the map is the same as the kernel of the map returned by ringStructure, but the generators are expressed differently.

 i7 : M=splineModule(V,F,1,Homogenize=>false,BaseRing=>R); i8 : phi1=ringStructure(M); QQ[e ..e , x..y] 0 2 o8 : RingMap --------------------------------------------- <--- QQ[Y ..Y ] 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 i9 : H=source phi; H1=source phi1; i11 : gens H o11 = {Y , Y , Y , Y } 0 1 2 3 o11 : List i12 : gens H1 o12 = {Y , Y , Y , Y } 0 1 2 3 o12 : List i13 : psi=map(H,H1,gens H);--phi1 has "same" source as H, but they are viewed as different rings by Macaulay2 o13 : RingMap H <--- H1 i14 : scan(gens H1,g->print {g,phi1(g),phi(psi(g))})--phi expresses generators of M in the Stanley Reisner ring, while phi1 expresses generators in the free module R^3 {Y , e x + e x + e x, - X + X } 0 0 1 2 1 2 {Y , e y + e y + e y, X - X } 1 0 1 2 0 1 3 2 3 3 2 {Y , e x + 3e x*y - 2e y , - X + 3X X } 2 0 1 1 1 1 2 2 2 3 2 3 2 {Y , e x y + 2e x*y - e y , X X - X + 2X X } 3 0 1 1 0 1 1 1 2 i15 : (ker phi)==psi(ker phi1)--the kernels are the same o15 = true

The option Trim=>true may be used to get a minimal number of ring generators.

 i16 : V={{0,0,0},{1,0,0},{0,1,0},{0,0,1},{-1,0,0},{0,-1,0},{0,0,-1}}; i17 : F={{0,1,2,3},{0,1,2,6},{0,2,3,4},{0,2,4,6},{0,1,3,5},{0,3,4,5},{0,4,5,6},{0,1,5,6}};--centrally triangulated octahedron i18 : S=QQ[x,y,z]; i19 : stanleyReisnerPresentation(V,F,1,Homogenize=>false,BaseRing=>S) QQ[X ..X ] 0 5 2 2 2 2 2 2 2 2 2 2 2 2 o19 = map (------------------, QQ[Y ..Y ], {X - X , X - X , X - X , X , X , X , X X , X X , X X , X X X }) (X X , X X , X X ) 0 9 0 3 1 4 2 5 2 1 3 0 1 1 2 0 2 0 1 2 2 5 1 4 0 3 QQ[X ..X ] 0 5 o19 : RingMap ------------------ <--- QQ[Y ..Y ] (X X , X X , X X ) 0 9 2 5 1 4 0 3 i20 : stanleyReisnerPresentation(V,F,1,Homogenize=>false,BaseRing=>S,Trim=>true) QQ[X ..X ] 0 5 2 2 2 o20 = map (------------------, QQ[Y ..Y ], {X - X , X - X , X - X , X , X , X }) (X X , X X , X X ) 0 5 0 3 1 4 2 5 2 1 3 2 5 1 4 0 3 QQ[X ..X ] 0 5 o20 : RingMap ------------------ <--- QQ[Y ..Y ] (X X , X X , X X ) 0 5 2 5 1 4 0 3

The geometry effects $C^1$ simplicial splines, although it doesn't effect $C^0$ simplicial splines.

 i21 : V'={{0,0,0},{1,0,0},{0,1,0},{1,1,1},{-1,0,0},{0,-1,0},{0,0,-1}}; --centrally triangulated octahedron that has been perturbed i22 : F={{0,1,2,3},{0,1,2,6},{0,2,3,4},{0,2,4,6},{0,1,3,5},{0,3,4,5},{0,4,5,6},{0,1,5,6}}; i23 : stanleyReisnerPresentation(V',F,1,Homogenize=>false,BaseRing=>S,Trim=>true) QQ[X ..X ] 0 5 2 2 2 3 2 2 3 2 2 2 2 3 2 2 3 2 2 2 2 o23 = map (------------------, QQ[Y ..Y ], {X + X - X , X + X - X , X - X , X , X X - X X , X + 3X X , 2X X + X - 2X X + X X - X X , 3X X + X - 3X X + 3X X - X , X X X - X X X }) (X X , X X , X X ) 0 8 0 2 3 1 2 4 2 5 2 1 2 1 5 1 1 2 0 2 2 2 3 2 3 3 5 0 2 2 2 3 2 3 3 0 1 2 0 1 5 2 5 1 4 0 3 QQ[X ..X ] 0 5 o23 : RingMap ------------------ <--- QQ[Y ..Y ] (X X , X X , X X ) 0 8 2 5 1 4 0 3

If $\Delta$ is not simplicial, $C^0(\Delta)$ does not have the same nice structure.

 i24 : V={{0,1},{-1,-1},{1,-1},{0,2},{-2,-2},{2,-2}}; i25 : F={{0,1,2},{0,1,3,4},{0,2,3,5},{1,2,4,5}}; --symmetric triangular prism-- i26 : S=QQ[x,y,z]; i27 : stanleyReisnerPresentation(V,F,1,BaseRing=>S,Trim=>true) QQ[X ..X ] 0 3 2 2 2 2 2 2 2 3 3 3 4 2 2 2 2 2 3 3 4 2 2 2 2 2 2 2 3 3 3 4 o27 = map (---------------------------------------------------------------------------------, QQ[Y ..Y ], {X , X , X , 36X X + 36X X X - 6X X + 36X X X + 30X X X - 24X X - 6X X - 10X X + 3X , 12X X - 18X X - 6X X X + 14X X + 2X X - 3X , - 612X X - 36X X X + 966X X - 36X X X + 354X X X + 24X X - 762X X - 118X X + 165X }) 2 3 2 2 2 2 2 2 2 3 3 4 0 5 0 1 2 0 3 0 1 3 1 3 0 2 3 1 2 3 0 3 1 3 2 3 3 0 3 1 3 1 2 3 1 3 2 3 3 0 3 0 1 3 1 3 0 2 3 1 2 3 0 3 1 3 2 3 3 4X X X - 4X X + 4X X X - 4X X X - 4X X + 8X X + 4X X X - 5X X - X X + X 0 1 3 1 3 0 2 3 1 2 3 0 3 1 3 1 2 3 1 3 2 3 3 QQ[X ..X ] 0 3 o27 : RingMap --------------------------------------------------------------------------------- <--- QQ[Y ..Y ] 2 3 2 2 2 2 2 2 2 3 3 4 0 5 4X X X - 4X X + 4X X X - 4X X X - 4X X + 8X X + 4X X X - 5X X - X X + X 0 1 3 1 3 0 2 3 1 2 3 0 3 1 3 1 2 3 1 3 2 3 3

• 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.