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

generalizedSplines -- the module of generalized splines associated to a simple graph with an edge labelling

Synopsis

Description

This method returns the module of generalized splines on a graph with edgeset E on v vertices, whose edges are labelled by ideals of some ring R. By definition this is the submodule of $R^v$ consisting of tuples of polynomials such that the difference of polynomials corresponding to adjacent vertices are congruent module the ideal labelling the edge between them.

i1 : S = QQ[x_0,x_1,x_2]; --the underlying ring
i2 : E = {{0,1},{1,2},{0,2}} --edges of the graph (in this case a triangle)

o2 = {{0, 1}, {1, 2}, {0, 2}}

o2 : List
i3 : I = {x_0-x_1,x_1-x_2,x_2-x_0} --ideals of S (elements of S are interpreted as principal ideals)

o3 = {x  - x , x  - x , - x  + x }
       0    1   1    2     0    2

o3 : List
i4 : generalizedSplines(E,I) --in this case this is the module of derivations on the $A_2$ arrangement

o4 = image | 1 x_0-x_2 0                          |
           | 1 x_1-x_2 x_0x_1-x_1^2-x_0x_2+x_1x_2 |
           | 1 0       0                          |

                             3
o4 : S-module, submodule of S

If edge labels are integers, generalizedSplines is computed as a ZZ module by default.

i5 : E={{0,1},{1,2},{2,3},{0,3}};
i6 : I={3,4,5,6};
i7 : generalizedSplines(E,I)

o7 = image | -6  0   0   1 |
           | -24 -12 -15 1 |
           | 0   0   5   1 |
           | 0   0   0   1 |

                               4
o7 : ZZ-module, submodule of ZZ

The above splines may also be computed over ZZ modulo some integer.

i8 : E={{0,1},{1,2},{2,3},{0,3}};
i9 : I={3,4,5,6};
i10 : generalizedSplines(E,I,RingType=>9) --computes spline module with underlying ring ZZ/9

o10 = image | 3 0 0 1 |
            | 0 3 0 1 |
            | 0 0 1 0 |
            | 0 0 0 1 |

      ZZ[]                       ZZ[] 4
o10 : -----module, submodule of (----)
        9                          9

Arbitrary ideals may also be entered as edge labels.

i11 : S=QQ[x,y,z]

o11 = S

o11 : PolynomialRing
i12 : E={{1,2},{2,3},{3,4}}

o12 = {{1, 2}, {2, 3}, {3, 4}}

o12 : List
i13 : I={ideal(x,y),ideal(y),ideal(z)}

o13 = {ideal (x, y), ideal y, ideal z}

o13 : List
i14 : generalizedSplines(E,I)

o14 = image | 1 y x 0 z |
            | 1 0 0 y z |
            | 1 0 0 0 z |
            | 1 0 0 0 0 |

                              4
o14 : S-module, submodule of S

This method can be used to compute splines over non-linear partitions. The example below can be found in Exercise 13 of Section 8.3 in the book Using Algebraic Geometry by Cox,Little, and O'Shea.

i15 : E={{0,1},{1,2},{0,2}};
i16 : S=QQ[x,y];
i17 : I={y-x^2,x+y^2,y-x^3};--these three curves meet at the origin
i18 : generalizedSplines(E,I)--this is the module of C^0 splines on the partition

o18 = image | 1 -x4y-x3y2-x4-x3+xy2+y3+xy+y -x4y+x3y2+x4-x3+xy2-y3-xy+y -x5-x4y+x3y-x3+x2y+xy2-y2+y -x5+x4y+x3y+x3+x2y-xy2-y2-y |
            | 1 -xy3-x2y+xy2+x2             xy3+x2y+xy2-2y3+x2-2xy      -x2y2-x3+xy2+x2             x2y2+x3-xy2-x2              |
            | 1 0                           0                           0                           0                           |

                              3
o18 : S-module, submodule of S

Ways to use generalizedSplines :

For the programmer

The object generalizedSplines is a method function with options.