Macaulay2 » Documentation
Packages » VersalDeformations :: liftDeformation
next | previous | forward | backward | up | index | toc

liftDeformation -- lift a solution of the deformation equation to the next order

Synopsis

Description

Each element of the sequence (f,r,g,c) is a list of matrices in increasing powers of some deformation parameter. Their sums satisfy the deformation equation transpose flatten ( (sum f)*(sum r))+(sum c)*sum(g)==0 up to powers of the deformation parameter equal to the length of f.

Each element of the output sequence (F,R,G,C) is a list of matrices in increasing powers of the deformation parameter. The first three matrices of the sequence are gotten from (f,r,g) by appending one matrix to each list in the sequence, and furthermore the columns of C_0 are multiples of those of c_0. The other matrices are chosen to satisfy the deformation equation transpose ((sum F)*(sum R))+(sum C)*(sum G)==0 up to powers of the deformation parameter equal to the length of F, provided that there is such a solution. If SanityCheck is set to true, as is the default, then the algorithm will check that the lifted solution really does solve the deformation equation, and terminate with an error if this is not the case.

For example, consider the cone over the rational normal curve of degree four, see [Pi74]:

i1 : S=QQ[x_0..x_4];
i2 : I=minors(2,matrix {{x_0,x_1,x_2,x_3},{x_1,x_2,x_3,x_4}});

o2 : Ideal of S
i3 : F0=gens I

o3 = | -x_1^2+x_0x_2 -x_1x_2+x_0x_3 -x_2^2+x_1x_3 -x_1x_3+x_0x_4
     ------------------------------------------------------------------------
     -x_2x_3+x_1x_4 -x_3^2+x_2x_4 |

             1      6
o3 : Matrix S  <-- S
i4 : T1=cotangentCohomology1(F0);

             6      4
o4 : Matrix S  <-- S
i5 : R0=gens ker F0;

             6      8
o5 : Matrix S  <-- S
i6 : (f,r)=firstOrderDeformations(F0,R0,T1);

We now lift the first order deformations to second order:

i7 : A:=(ring f_0)/(image f_0);
i8 : T2=cotangentCohomology2(F0);

             8      3
o8 : Matrix S  <-- S
i9 : NT2:=lift(sub(T2,A)%sub(transpose r_0,A),ring f_0);

                       8                3
o9 : Matrix (S[t ..t ])  <-- (S[t ..t ])
                1   4            1   4
i10 : c={NT2};
i11 : g={};
i12 : (F,R,G,C)=liftDeformation(f,r,g,c);
i13 : T=ring first F;
i14 : sum F -- equations for family

o14 = | x_1t_1+x_0t_2-x_1^2+x_0x_2 -t_1t_3+x_0t_4-x_1x_2+x_0x_3
      -----------------------------------------------------------------------
      -t_2t_3+t_3^2-t_1t_4-x_3t_1-x_2t_2+x_1t_4-x_2^2+x_1x_3
      -----------------------------------------------------------------------
      t_2t_3-t_3^2+x_2t_3-x_1x_3+x_0x_4 -x_4t_1-x_3t_2+x_3t_3-x_2x_3+x_1x_4
      -----------------------------------------------------------------------
      x_4t_3-x_3t_4-x_3^2+x_2x_4 |

              1      6
o14 : Matrix T  <-- T
i15 : sum G -- base equations

o15 = | t_2t_3-t_3^2 |
      | -t_1t_3      |
      | t_3t_4       |

              3      1
o15 : Matrix T  <-- T

Ways to use liftDeformation :

For the programmer

The object liftDeformation is a method function with options.