Example of representing elements of the Stanley-Reisner ring with a system of parameters.
> with(linalg):
The polytope is a bipyramid with five vertices. p2 and p4 are the apices. A shelling order of the facets is 123, 125, 235, 134, 145, 345.
> p1:=[0,0,-1]; p2:=[2,0,1]; p3:=[0,1/2,1/2]; p4:=[-2,0,1]; p5:=[0,-1/2,1/2];
Construct the theta matrix
> A:=transpose(array([p1,p2,p3,p4,p5]));
> theta:=multiply(A,[x1,x2,x3,x4,x5]);
Let's represent watch how the representation of x1^3 changes as the polytope is shelled. At first we only have facet 123.
> B:=inverse(submatrix(A,1..3,1..3)); A1:=multiply(B,A);
> u:=multiply(B,[t1,t2,t3]);
> q1:=u->u[1]^3;
> r1:=expand(q1(u));
> p1:=(t1,t2,t3)->1/8*t1^3+3/4*t1^2*t2-3/4*t1^2*t3+3/2*t1*t2^2-3*t1*t2*t3+3/2*t1*t3^2+t2^3-3*t2^2*t3+3*t2*t3^2-t3^3;
> eta1:=1;
> expand(p1(theta[1],theta[2],theta[3]))*eta1;
Note that all terms are supported by nonfaces except x1^3, so these are regarded as zero.
So x1^3=p1*1.
Now assume we have facets 123 and 125. The minimal new face is 5, so some terms that contain x5 are no longer considered zero.
> eta2:=x5;
> B:=inverse(submatrix(A,1..3,[1,2,5])); A1:=multiply(B,A);
> u:=multiply(B,[t1,t2,t3]);
> q2:=u->-u[3]^2+3*u[1]*u[3]-3*u[1]^2;
> r2:=expand(q2(u));
> p2:=(t1,t2,t3)->-(-t2^2-3/4*t1^2+3*t1*t3-3*t3^2);
> expand(p1(theta[1],theta[2],theta[3])*eta1 + p2(theta[1],theta[2],theta[3])*eta2);
Remember we only have facets 123 and 125. Note that all terms are supported by nonfaces except x1^3, so these are regarded as zero.
So x1^3=p1*1+p2*x5.
Now assume we have facets 123, 125 and 235. The minimal new face is 35, so some terms that contain x3x5 are no longer considered zero.
> eta3:=x3*x5;
> B:=inverse(submatrix(A,1..3,[2,3,5])); A1:=multiply(B,A);
> u:=multiply(B,[t1,t2,t3]);
> q3:=u->u[3]+u[2];
> r3:=expand(q3(u));
> p3:=(t1,t2,t3)->-(-t1+2*t3);
> expand(p1(theta[1],theta[2],theta[3])*eta1 + p2(theta[1],theta[2],theta[3])*eta2 + p3(theta[1],theta[2],theta[3])*eta3);
Remember we only have facets 123, 125 and 235. Note that all terms are supported by nonfaces except x1^3, so these are regarded as zero.
So x1^3=p1*1+p2*x5+p3*x3x5.
Now assume we have facets 123, 125, 235 and 134. The minimal new face is 4, so some terms that contain x4 are no longer considered zero.
> eta4:=x4;
> B:=inverse(submatrix(A,1..3,[1,3,4])); A1:=multiply(B,A);
> u:=multiply(B,[t1,t2,t3]);
> q4:=u->-8*u[3]^2+12*u[1]*u[3]-6*u[1]^2;
> r4:=expand(q4(u));
> p4:=(t1,t2,t3)->-(-1/2*t1^2-6*t2^2+12*t2*t3-6*t3^2);
> expand(p1(theta[1],theta[2],theta[3])*eta1 + p2(theta[1],theta[2],theta[3])*eta2 + p3(theta[1],theta[2],theta[3])*eta3 + p4(theta[1],theta[2],theta[3])*eta4);
Remember we only have facets 123, 125, 235 and 134. Note that all terms are supported by nonfaces except x1^3, so these are regarded as zero.
So x1^3=p1*1+p2*x5+p3*x3x5+p4*x4.
Now assume we have facets 123, 125, 235, 134 and 145. The minimal new face is 45, so some terms that contain x4x5 are no longer considered zero.
> eta5:=x4*x5;
> B:=inverse(submatrix(A,1..3,[1,4,5])); A1:=multiply(B,A);
> u:=multiply(B,[t1,t2,t3]);
> q5:=u->-12*u[1]+12*u[2]+6*u[3];
> r5:=expand(q5(u));
> p5:=(t1,t2,t3)->-(12*t3);
> expand(p1(theta[1],theta[2],theta[3])*eta1 + p2(theta[1],theta[2],theta[3])*eta2 + p3(theta[1],theta[2],theta[3])*eta3 + p4(theta[1],theta[2],theta[3])*eta4 + p5(theta[1],theta[2],theta[3])*eta5);
Remember we only have facets 123, 125, 235, 134 and 145. Note that all terms are supported by nonfaces except x1^3, so these are regarded as zero.
So x1^3=p1*1+p2*x5+p3*x3x5+p4*x4+p5*x4x5.
Now assume we have facets 123, 125, 235, 134,145 and 345. The minimal new face is 345, so some terms that contain x3x4x5 are no longer considered zero.
> eta6:=x3*x4*x5;
> B:=inverse(submatrix(A,1..3,[3,4,5])); A1:=multiply(B,A);
> u:=multiply(B,[t1,t2,t3]);
> q6:=u->-4;
> r6:=expand(q6(u));
> p6:=(t1,t2,t3)->4;
> expand(p1(theta[1],theta[2],theta[3])*eta1 + p2(theta[1],theta[2],theta[3])*eta2 + p3(theta[1],theta[2],theta[3])*eta3 + p4(theta[1],theta[2],theta[3])*eta4 + p5(theta[1],theta[2],theta[3])*eta5 + p6(theta[1],theta[2],theta[3])*eta6);
Remember we only have facets 123, 125, 235, 134, 145 and 345. Note that all terms are supported by nonfaces except x1^3, so these are regarded as zero.
So x1^3=p1*1+p2*x5+p3*x3x5+p4*x4+p5*x4x5+p6*x3x4x5.
>