up previous next
Depth

Depth of a module

Syntax
Depth(I: IDEAL, M: Tagged("Quotient")): INT
Depth(M: Tagged("Quotient"): INT

Description
This function calculates the depth of M in the ideal I, i.e. the length of a maximal I-regular sequence in M. In the second form, where I is not specified, it assumes that I is the maximal ideal generated by the indeterminates, i.e. Ideal(Indets()).

Note that if M is homogeneous and I is the maximal ideal, then it uses the Auslander-Buchsbaum formula
depth_I(M) = N - pd(M)
where N is the number of indeterminates and pd is the projective dimension, otherwise it returns min{N | Ext^N(R/I,M)<>0} using the function Ext.

Example
  Use R::=Q[x,y,z];
  Depth(Ideal(1)); --  the (x,y,z)-depth of the entire ring is 3
3
-------------------------------

  I:=Ideal(x^5,y^3,z^2);
  -- one can check that it is zerodimensional and CM this way
  Dim(R/I);
  Depth(R/I);
0
-------------------------------
0
-------------------------------

  N:=Module([x^2,y],[x+z,0]);
  Depth(I,R^2/N);  --- a max reg sequence would be (z^2,y^3)
2
-------------------------------

  Use R::=Q[x,y,z,t,u,v];
  N:=Module([x,y],[-y,x],[z,t],[-t,z],[u,v],[-v,u]);
  -- Cauchy-Riemann system in three complex vars!
  --- is it CM?
  Depth(R^2/N);
  Dim(R^2/N);
3
-------------------------------
3
-------------------------------
--- yes!

  M:=Module([x,y,z],[t,v,u]);
  Res(R^3/M);
0 --> R^2(-1) --> R^3
-------------------------------
  Depth(R^3/M); -- using Auslander Buchsbaum 6-1=5
5
-------------------------------
  Dim(R^3/M);  -- not CM
6
-------------------------------
  Depth(Ideal(x,y,z,t), R^2/N);
2
-------------------------------


See Also