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 |
The object generalizedSplines is a method function with options.