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

SmartLift -- chooses lifting to avoid obstructions at next order

Description

SanityCheck is a boolean. If set to true, versalDeformation or localHilbertScheme will utilize the function correctDeformation in order to choose liftings of the deformation equation at each step which, if possible, introduce no higher order terms to the obstruction equations. This may increase the time of calculation, but will hopefully result in nicer equations for the base space. Default value is true

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

o2 = | xz yz z2 x3 |

             1       4
o2 : Matrix S  <--- S

With the default setting SmartLift=>true we get very nice equations for the base space:

i3 : time (F,R,G,C)=localHilbertScheme(F0,Verbosity=>0);
     -- used 0.326456 seconds
i4 : sum G

o4 = | t_1t_16              |
     | t_9t_16              |
     | t_4t_16              |
     | t_14t_16-1/2t_15t_16 |

                                                                                      4                                                                                1
o4 : Matrix (S[t , t , t , t , t , t , t , t , t , t  , t  , t  , t  , t  , t  , t  ])  <--- (S[t , t , t , t , t , t , t , t , t , t  , t  , t  , t  , t  , t  , t  ])
                1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16             1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16

With the setting SmartLift=>false the calculation is faster, but the equations are no longer homogeneous:

i5 : time (F,R,G,C)=localHilbertScheme(F0,SmartLift=>false,Verbosity=>0);
     -- used 0.102781 seconds
i6 : sum G

o6 = | t_1t_16                                                               
     | 2t_5t_10t_11t_16+t_7t_11^2t_16-2t_6t_10t_16+3t_10^2t_16-t_8t_11t_16+t_
     | t_5t_10^2t_16+2t_7t_10t_11t_16+3t_2t_11^2t_16-t_8t_10t_16-2t_3t_11t_16
     | -t_5t_10t_16^2-t_7t_11t_16^2-2t_10t_12t_16-t_11t_13t_16+1/2t_8t_16^2+t
     ------------------------------------------------------------------------
                         |
     9t_16               |
     +t_4t_16            |
     _14t_16-1/2t_15t_16 |

                                                                                      4                                                                                1
o6 : Matrix (S[t , t , t , t , t , t , t , t , t , t  , t  , t  , t  , t  , t  , t  ])  <--- (S[t , t , t , t , t , t , t , t , t , t  , t  , t  , t  , t  , t  , t  ])
                1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16             1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16

Functions with optional argument named SmartLift :

For the programmer

The object SmartLift is a symbol.