(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 |