# Singular

#### D.6.16.3 matrixT1

Procedure from library `spcurve.lib` (see spcurve_lib).

Usage:
matrixT1(M,n); M matrix, n integer

Assume:
M is a presentation matrix of an ideal i, CM of codimension 2; consider i as a family of ideals in a ring in the first n variables where the remaining variables are considered as parameters

Return:
list consisting of the k x (k+1) matrix M and a module K_M such that T1=Mat(k,k+1;R)/K_M is the space of first order deformations of i

Example:
 ```LIB "spcurve.lib"; ring r=32003,(x(1),x(2),x(3)),ds; ideal curve=x(1)*x(2),x(1)*x(3),x(2)*x(3); matrix M=isCMcod2(curve); matrixT1(M,3); ==> [1]: ==> _[1,1]=0 ==> _[1,2]=-x(3) ==> _[2,1]=-x(2) ==> _[2,2]=x(2) ==> _[3,1]=x(1) ==> _[3,2]=0 ==> [2]: ==> _[1]=gen(5) ==> _[2]=gen(4)-gen(3) ==> _[3]=-gen(2) ==> _[4]=x(1)*gen(5)-x(2)*gen(3) ==> _[5]=x(1)*gen(6)-x(2)*gen(4) ==> _[6]=x(2)*gen(3)-x(3)*gen(1) ==> _[7]=x(2)*gen(4)-x(3)*gen(2) ==> _[8]=-x(3)*gen(2) ==> _[9]=x(2)*gen(2)-x(2)*gen(1) ==> _[10]=x(1)*gen(1) ==> _[11]=-x(3)*gen(4) ==> _[12]=x(2)*gen(4)-x(2)*gen(3) ==> _[13]=x(1)*gen(3) ==> _[14]=-x(3)*gen(6) ==> _[15]=x(2)*gen(6)-x(2)*gen(5) ==> _[16]=x(1)*gen(5) ```