up previous next
 depth    --    Depth of a module

 Syntax
 ```depth(I: IDEAL, M: TAGGED("Quotient")): INT depth(RmodI: Quotient RING): 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 the ideal 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 (***** NOT YET IMPLEMENTED *****) it returns min{N | Ext^N(R/I, M)<>0} using the function Ext .

 Example
 ```/**/ use P ::= QQ[x,y,z]; /**/ depth(P); -- the (x,y,z)-depth of the entire ring is 3 3 /**/ I := ideal(x^5,y^3,z^2); /**/ depth(P/I); 0 //----- ***** NOT YET IMPLEMENTED ***** ----->> N := Module([x^2,y], [x+z,0]); depth(I, P^2/N); --- a max reg sequence would be (z^2,y^3) 2 ------------------------------- use P ::= QQ[x,y,z,t,u,v]; -- Cauchy-Riemann system in three complex vars! N := Module([x,y], [-y,x], [z,t], [-t,z], [u,v], [-v,u]); --- is it CM? depth(P^2/N); 3 ------------------------------- dim(P^2/N); 3 ------------------------------- --- yes! M := Module([x,y,z],[t,v,u]); res(P^3/M); 0 --> P^2(-1) --> P^3 ------------------------------- depth(P^3/M); -- using Auslander Buchsbaum 6-1=5 5 ------------------------------- dim(P^3/M); -- not CM 6 ------------------------------- depth(ideal(x,y,z,t), P^2/N); 2 ------------------------------- ```