Compute the homogeneous (i.e., degree(FirstOrderDeformation) zero) deformations associated to a face F of the complex C.
The additional parameter I should be the Stanley-Reisner ideal of C and can be given to avoid computation of the Stanley-Reisner ideal if it is already known. Usually this is not necessary: Once I is computed it is stored in C.ideal, so deformationsFace(F,C,I) is equivalent to deformationsFace(F,C). Note also that all methods producing a complex from an ideal (like idealToComplex) store the ideal in C.ideal.
The deformations and C are stored in F.deform = {C, deformations}. Note that usually C is not ofComplex F.
i1 : R=QQ[x_0..x_4] o1 = R o1 : PolynomialRing |
i2 : I=ideal(x_0*x_1*x_2,x_3*x_4) o2 = ideal (x x x , x x ) 0 1 2 3 4 o2 : Ideal of R |
i3 : C1=idealToComplex I o3 = 2: x x x x x x x x x x x x x x x x x x 0 1 3 0 2 3 1 2 3 0 1 4 0 2 4 1 2 4 o3 : complex of dim 2 embedded in dim 4 (printing facets) equidimensional, simplicial, F-vector {1, 5, 9, 6, 0, 0}, Euler = 1 |
i4 : F=C1.fc_0_0 o4 = x 0 o4 : face with 1 vertex |
i5 : deformationsFace(F,C1) 2 2 x x x x x x 0 0 0 0 0 0 o5 = {--, --, --, --, ----, ----} x x x x x x x x 4 3 2 1 3 4 1 2 o5 : List |
i6 : F=C1.fc_0_1 o6 = x 1 o6 : face with 1 vertex |
i7 : deformationsFace(F,C1) 2 2 x x x x x x 1 1 1 1 1 1 o7 = {--, --, --, --, ----, ----} x x x x x x x x 4 3 2 0 3 4 0 2 o7 : List |
i8 : F=C1.fc_1_0 o8 = x x 0 1 o8 : face with 2 vertices |
i9 : deformationsFace(F,C1) x x 0 1 o9 = {----} x x 3 4 o9 : List |
i10 : F=C1.fc_2_0 o10 = x x x 0 1 3 o10 : face with 3 vertices |
i11 : deformationsFace(F,C1) o11 = {} o11 : List |
i12 : R=QQ[x_0..x_4] o12 = R o12 : PolynomialRing |
i13 : I=ideal(x_0*x_1,x_1*x_2,x_2*x_3,x_3*x_4,x_4*x_0) o13 = ideal (x x , x x , x x , x x , x x ) 0 1 1 2 2 3 3 4 0 4 o13 : Ideal of R |
i14 : C1=idealToComplex I o14 = 1: x x x x x x x x x x 0 2 0 3 1 3 1 4 2 4 o14 : complex of dim 1 embedded in dim 4 (printing facets) equidimensional, simplicial, F-vector {1, 5, 5, 0, 0, 0}, Euler = -1 |
i15 : F=C1.fc_0_1 o15 = x 1 o15 : face with 1 vertex |
i16 : deformationsFace(F,C1) 2 x x x 1 1 1 o16 = {--, --, ----} x x x x 4 3 3 4 o16 : List |
i17 : F=C1.fc_1_1 o17 = x x 0 3 o17 : face with 2 vertices |
i18 : deformationsFace(F,C1) o18 = {} o18 : List |
To homogenize the denominators of deformations (which are supported inside the link) we use globalSections to deal with the toric case. Speed of this should be improved. For ordinary projective space globalSections works much faster.
The object deformationsFace is a method function.