# CoCoA:Depth

## Depth

Depth of a module

### 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 <verbatim>depth_I(M) = N - pd(M)</verbatim>

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 <ttref>Ext</ttref>.

#### Example

```  Use R ::= Q[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 ::= Q[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 --&gt; R^2(-1) --&gt; 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
-------------------------------
```

### Syntax

```Depth(I: IDEAL, M: Tagged(<quotes>Quotient</quotes>)): INT
Depth(M: Tagged(<quotes>Quotient</quotes>): INT
```

``` <type>ideal</type>
<type>module</type>

```