# checkTangentSpace -- checks if dimension of space of sections of the normal bundle agrees with that calculated using normalMatrix

## Synopsis

• Usage:
B = checkTangentSpace(F)
B = checkTangentSpace(F,N)
• Inputs:
• Outputs:
• B,

## Description

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

Even if checkTangentSpace returns the value true, it may occur that the map from the deformation space computed by localHilbertScheme to the the local Hilbert scheme is not an isomorphism on tangent spaces, since the rank of the map is not computed.

## Ways to use checkTangentSpace :

• "checkTangentSpace(Ideal)"
• "checkTangentSpace(Ideal,Matrix)"
• "checkTangentSpace(Matrix)"
• "checkTangentSpace(Matrix,Matrix)"

## For the programmer

The object checkTangentSpace is .