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 |