The matrix F must have a single row. Inputing an ideal instead has the same effect as inputing gens F. checkTangentSpace tests if the number of columns of the matrix N is equal to the dimension of the space of global sections of the normal bundle for the subscheme with ideal generated by F. If no matrix N is supplied, normalMatrix(0,F) is used. In the following example, the desired equality does not hold for the ideal I, but does for the partial truncation J.
i1 : S = QQ[a..d]; |
i2 : I = ideal(a,b^3*c,b^4); o2 : Ideal of S |
i3 : J=ideal b^4+ideal (ambient basis(3,I)) 4 3 2 2 2 2 2 2 o3 = ideal (b , a , a b, a c, a d, a*b , a*b*c, a*b*d, a*c , a*c*d, a*d ) o3 : Ideal of S |
i4 : checkTangentSpace I o4 = false |
i5 : checkTangentSpace J o5 = true |
If checkTangentSpace returns the value true, this means that the map from the deformation space computed by localHilbertScheme to the the local Hilbert scheme is an isomorphism on tangent spaces. In particular, if this deformation space is smooth, then so is the local Hilbert scheme.