next | previous | forward | backward | up | index | toc

# normalMatrix -- calculate normal module

## Description

Inputing an ideal instead has the same effect as inputing gens F. The output N is a matrix over the same ring as F whose columns form a basis for (a graded piece of) the normal module Hom(image F,coker F). Selection of graded pieces is done in the same manner as with basis. If the selected pieces are infinite dimensional, an error occurs. The optional argument SourceRing may be used in the same fashing as with basis.

For example, consider a degenerate twisted cubic curve, see [PS85]:

 i1 : S=QQ[x,y,z,w]; i2 : F=matrix {{x*z,y*z,z^2,x^3}} o2 = | xz yz z2 x3 | 1 4 o2 : Matrix S <-- S i3 : N=normalMatrix(0,F) o3 = {-2} | 0 0 0 0 0 0 0 0 0 zw 0 x2 xy xw 0 0 | {-2} | 0 0 0 0 0 0 0 0 0 0 zw xy y2 yw 0 x2 | {-2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 zw 0 | {-3} | zw2 y3 y2w yw2 x2y x2w xy2 xyw xw2 0 0 0 0 0 0 0 | 4 16 o3 : Matrix S <-- S

The degree zero component of the normal module, and thus the tangent space of the Hilbert scheme, is sixteen dimensional.

## Ways to use normalMatrix :

• normalMatrix(Ideal)
• normalMatrix(InfiniteNumber,ZZ,Ideal)
• normalMatrix(InfiniteNumber,ZZ,Matrix)
• normalMatrix(List,Ideal)
• normalMatrix(List,Matrix)
• normalMatrix(Matrix)
• normalMatrix(ZZ,Ideal)
• normalMatrix(ZZ,InfiniteNumber,Ideal)
• normalMatrix(ZZ,InfiniteNumber,Matrix)
• normalMatrix(ZZ,Matrix)
• normalMatrix(ZZ,ZZ,Ideal)
• normalMatrix(ZZ,ZZ,Matrix)

## For the programmer

The object normalMatrix is .