next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
AlgebraicSplines :: generalizedSplines

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 Rv 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 :