Home Online Manual
Top
Back: Computation of Ext
Forward: Factorization
FastBack: Computing Groebner and Standard Bases
FastForward: Singularity Theory
Up: Commutative Algebra
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

A.3.7 Depth

We compute the depth of the module of Kaehler differentials D$_k$(R)of the variety defined by the $(m+1)$-minors of a generic symmetric $(n \times n)$-matrix.We do this by computing the resolution over the polynomial ring. Then, by the Auslander-Buchsbaum formula, the depth is equal to the number of variables minus the length of a minimal resolution. This example was suggested by U. Vetter in order to check whether his bound $\hbox{depth}(\hbox{D}_k(R))\geq m(m+1)/2 + m-1$could be improved.

 
  LIB "matrix.lib"; LIB "sing.lib";
  int n = 4;
  int m = 3;
  int N = n*(n+1) div 2;       // will become number of variables
  ring R = 32003,x(1..N),dp;
  matrix X = symmat(n);        // proc from matrix.lib
                               // creates the symmetric generic nxn matrix
  print(X);
==> x(1),x(2),x(3),x(4),
==> x(2),x(5),x(6),x(7),
==> x(3),x(6),x(8),x(9),
==> x(4),x(7),x(9),x(10)
  ideal J = minor(X,m);
  J=std(J);
  // Kaehler differentials D_k(R)
  // of R=k[x1..xn]/J:
  module D = J*freemodule(N)+transpose(jacob(J));
  ncols(D);
==> 110
  nrows(D);
==> 10
  //
  // Note: D is a submodule with 110 generators of a free module
  // of rank 10 over a polynomial ring in 10 variables.
  // Compute a full resolution of D with sres.
  // This takes about 17 sec on a Mac PB 520c and 2 sec an a HP 735
  int time = timer;
  module sD = std(D);
  list Dres = sres(sD,0);                // the full resolution
  timer-time;                            // time used for std + sres
==> 0
  intmat B = betti(Dres);
  print(B,"betti");
==>            0     1     2     3     4     5     6
==> ------------------------------------------------
==>     0:    10     -     -     -     -     -     -
==>     1:     -    10     -     -     -     -     -
==>     2:     -    84   144    60     -     -     -
==>     3:     -     -    35    80    60    16     1
==> ------------------------------------------------
==> total:    10    94   179   140    60    16     1
==> 
  N-ncols(B)+1;                          // the desired depth
==> 4