next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
VersalDeformations :: correctDeformation

correctDeformation -- correct lifting to avoid obstructions at next order

Synopsis

Description

(f,r,g,c) should be as in the output of liftDeformation and (M,L)should be as in the output of correctionMatrix. If the latter are omitted, they are replaced by (M,L)=correctionMatrix(f_1,r_1).

correctDeformation perturbs the last entries of f and r such that if possible, the next invocation of liftDeformation will introduce no new terms in the obstruction equations.

For example, consider a degenerate twisted cubic curve:

i1 : S=QQ[x,y,z,w];
i2 : F0=matrix {{x*z,y*z,z^2,x^3}};

             1       4
o2 : Matrix S  <--- S
i3 : (f,r,g,c)=localHilbertScheme(F0,Verbosity=>0,HighestOrder=>2,SmartLift=>false);
i4 : (liftDeformation(f,r,g,c,Verbosity=>0))_2

o4 = {| t_1t_16              |, | 0                                        |}
      | t_9t_16              |  | -2t_6t_10t_16+3t_10^2t_16-t_8t_11t_16    |
      | t_4t_16              |  | -t_8t_10t_16-2t_3t_11t_16                |
      | t_14t_16-1/2t_15t_16 |  | -2t_10t_12t_16-t_11t_13t_16+1/2t_8t_16^2 |

o4 : List
i5 : (F,R)=correctDeformation(f,r,g,c);
Calculating next order residual terms
Trying to kill obstructions
Adjusting family and relations
Doing Sanity Check
i6 : (liftDeformation(F,R,g,c,Verbosity=>0))_2

o6 = {| t_1t_16              |, 0}
      | t_9t_16              |
      | t_4t_16              |
      | t_14t_16-1/2t_15t_16 |

o6 : List

Caveat

If the obstruction space is zero, this will generate an error.

Ways to use correctDeformation :