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

splineComplex -- creates the Billera-Schenck-Stillman chain complex

Synopsis

Description

This method returns the Billera-Schenck-Stillman chain complex whose top homology is the module of splines on $\Delta$.

i1 : V = {{0,0},{1,0},{0,1},{-1,-1}};
i2 : F = {{0,1,2},{0,2,3},{0,1,3}};
i3 : C = splineComplex(V,F,1);
i4 : prune HH C

o4 = 0 : 0            

     1 : 0            

                     3
     2 : (QQ[t ..t ])
              0   2

o4 : GradedModule

The output from the above example shows that there is only one nonvanishing homology, and it is free as a module over the polynomial ring in three variables. Notice that the rank is one more than the corresponding nonvanishing homology given by idealsComplex.

i5 : V = {{-1,-1},{1,-1},{0,1},{-2,-2},{2,-2},{0,2}};
i6 : F = {{0,1,2},{0,1,3,4},{1,2,4,5},{0,2,3,5}};
i7 : C = splineComplex(V,F,1);
i8 : prune HH C

o8 = 0 : 0                                                        

     1 : cokernel {2} | t_0+t_2 -t_2    t_2  t_1-t_2 -t_2    t_2 |
                  {2} | t_2     t_0-t_2 t_1  0       0       t_2 |
                  {2} | 0       0       -t_2 t_2     t_1+t_2 t_0 |

                     4
     2 : (QQ[t ..t ])
              0   2                                               

o8 : GradedModule

The output from the above example shows that there are two nonvanishing homologies, but the spline module, which is (almost) the homology HH_1, is still free. This shows that freeness of the spline module does not depend on vanishing of lower homologies if the underlying complex is polyhedral.

i9 : R = (ZZ/4021)[x,y,z];
i10 : V = {{-1,-1},{1,-1},{0,1},{10,10},{-10,10},{0,-10}};
i11 : V'= {{-1,-1},{1,-1},{0,1},{10,10},{-10,10},{1,-10}};
i12 : F = {{0,1,2},{2,3,4},{0,4,5},{1,3,5},{1,2,3},{0,2,4},{0,1,5}};
i13 : C = splineComplex(V,F,1,BaseRing=>R);
i14 : C' = splineComplex(V',F,1,BaseRing=>R);
i15 : prune HH C

o15 = 0 : 0                                    

      1 : cokernel {2} | z y x |               

      2 : cokernel {0} | 0                    |
                   {2} | y3+y2z-yz2-z3        |
                   {3} | 1978y2-1374yz-604z2  |
                   {3} | 545y2-545z2          |
                   {3} | 1123y2+1805yz+1093z2 |
                   {4} | -535y-1599z          |
                   {4} | -1978x-545y+545z     |
                   {4} | 535x                 |

o15 : GradedModule
i16 : prune HH C'

o16 = 0 : 0 

      1 : 0 

           7
      2 : R

o16 : GradedModule

The above example is known as the Morgan-Scot partition. It shows how subtle spline calculations can be. Note that the spline module over the symmetric Morgan-Scot partition above (vertices V) is not free, while the spline module over the non-symmetric Morgan-Scot partition is free.

i17 : R = QQ[x,y,z];
i18 : V = {{-1,-1},{1,-1},{0,1},{10,10},{-10,10},{0,-10}};
i19 : F = {{0,1,2},{2,3,4},{0,4,5},{1,3,5},{1,2,3},{0,2,4},{0,1,5}};
i20 : Id = idealsComplex(V,F,1,BaseRing=>R);
i21 : C = cellularComplex(V,F,BaseRing=>R);
i22 : phi = inducedMap(C,Id);
i23 : SC = splineComplex(V,F,1,BaseRing=>R);
i24 : SC == (coker phi)

o24 = true

The above example shows that the Billera-Schenck-Stillman spline complex is the cokernel of the natural map between the complex of ideals (given by idealsComplex) and the cellular chain complex of $\Delta$ relative to its boundary.

i25 : V = {{1, 0, 0}, {-1, 0, 0}, {0, 1, 0}, {0, -1, 0}, {0, 0, 1}, {0, 0, -1}, {-2, -2, -2}, {-2, 2, -2}, {2, 2, -2}, {2, -2, -2}, {-2, -2, 2}, {-2, 2, 2}, {2, 2, 2}, {2, -2, 2}};
i26 : F = {{0, 1, 2, 3, 4, 5}, {0, 8, 9, 12, 13}, {1, 6, 7, 10, 11}, {2, 7, 8, 11, 12}, {3, 6, 9, 10, 13}, {4, 10, 11, 12, 13}, {5, 6, 7, 8, 9}, {0, 2, 8, 12}, {0, 3, 9, 13}, {0, 4, 12, 13}, {0, 5, 8, 9}, {1, 2, 7, 11}, {1, 3, 6, 10}, {1, 4, 10, 11}, {1, 5, 6, 7}, {2, 4, 11, 12}, {3, 4, 10, 13}, {3, 5, 6, 9}, {2, 5, 7, 8}, {0, 2, 4, 12}, {0, 2, 5, 8}, {0, 3, 4, 13}, {0, 3, 5, 9}, {1, 2, 4, 11}, {1, 2, 5, 7}, {1, 3, 4, 10}, {1, 3, 5, 6}};
i27 : C = splineComplex(V,F,1);
i28 : associatedPrimes annihilator HH_2 C

o28 = {ideal (t , t , t ), ideal (t , t , t ), ideal (t , t , t ), ideal (t ,
               3   2   1           3   2   0           3   1   0           2 
      -----------------------------------------------------------------------
      t , t  - t ), ideal (t , t , t  + t ), ideal (t , t  - t , t ), ideal
       1   0    3           2   1   0    3           2   1    3   0        
      -----------------------------------------------------------------------
      (t , t  + t , t ), ideal (t  - 2t , t  - 2t , t  - 2t ), ideal (t  -
        2   1    3   0           2     3   1     3   0     3           2  
      -----------------------------------------------------------------------
      2t , t  - 2t , t  + 2t ), ideal (t  - 2t , t  + 2t , t  - 2t ), ideal
        3   1     3   0     3           2     3   1     3   0     3        
      -----------------------------------------------------------------------
      (t  - 2t , t  + 2t , t  + 2t ), ideal (t  - t , t , t ), ideal (t  +
        2     3   1     3   0     3           2    3   1   0           2  
      -----------------------------------------------------------------------
      t , t , t ), ideal (t  + 2t , t  - 2t , t  - 2t ), ideal (t  + 2t , t 
       3   1   0           2     3   1     3   0     3           2     3   1
      -----------------------------------------------------------------------
      - 2t , t  + 2t ), ideal (t  + 2t , t  + 2t , t  - 2t ), ideal (t  +
          3   0     3           2     3   1     3   0     3           2  
      -----------------------------------------------------------------------
      2t , t  + 2t , t  + 2t ), ideal (t , t , t , t )}
        3   1     3   0     3           3   2   1   0

o28 : List

The above example showcases a fairly complex three dimensional polyhedral complex. It is a three-dimensional analog of the Morgan-Scot partition in the sense that it consists of an octahedron inside of a cube (note these are dual polytopes). Its facets consist of the octahedron, twelve tetrahedra coming from joining dual edges on the cube and the octahedron, and six 'Egyptian pyramids' coming from joining each vertex of the octahedron to a square face on the cube. The homologies of this spline complex are quite interesting. The two lower homologies vanish (the lowest always does). The top homology (HH_3) is the spline module. The second homology is nonzero and illustrates the fact that the associated primes of the homologies of the spline complex are all linear. There is an associated prime for every vertex of the complex, plus three more that lie on the hyperplane at infinity, plus the maximal ideal.

See also

Ways to use splineComplex:

For the programmer

The object splineComplex is a method function with options.