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 ::= QQ[x,y,z]; Depth(R/Ideal(0)); -- 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); 0 ------------------------------- Depth(R/I); 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 ::= 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(R^2/N); 3 ------------------------------- Dim(R^2/N); 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 ------------------------------- ```