| #### D.6.21.4 semiCMcod2 Procedure from library `spcurve.lib` (see spcurve_lib). Usage: semiCMcod2(M,t1[,s]); M matrix, t1 module, s any Assume: M is a presentation matrix of an ideal i, CM of codimension 2, and t1 is a presentation of the space of first order deformations of i ((M,t1) as returned by the procedure matrixT1) Return: new ring in which the ideal semi describing the semiuniversal deformation of i; if the optional third argument is given, the perturbation matrix of the semiuniversal deformation is returned instead of the ideal. Note: The current basering should not contain any variables named A(j) where j is some integer! 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);
    list l=matrixT1(M,3);
    def rneu=semiCMcod2(l[1],std(l[2]));
    setring rneu;
    semi;
    ==> semi[1]=A(2)*A(3)-x(2)*A(3)-x(1)*x(2)
    ==> semi[2]=A(1)*A(3)+x(1)*x(3)
    ==> semi[3]=-x(2)*A(1)-x(3)*A(2)+x(2)*x(3)

User manual for Singular version 4.3.2, 2023, generated by texi2html.