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.330218 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.103098 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 |