Macaulay2 » Documentation
Packages » MCMApproximations :: MCMApproximations
next | previous | forward | backward | up | index | toc

MCMApproximations -- Maximal Cohen-Macaulay Approximations and Complete Intersections

Description

Maximal Cohen-Macaulay approximations were introduced by Auslander and Buchweitz [The homological theory of maximal Cohen-Macaulay (MCM) approximations, Colloque en l'honneur de Pierre Samuel (Orsay, 1987) Soc. Math. France (N.S.)} No. 38, (1989), 5 - 37.] In the context of a local Gorenstein ring R, the theory simplifies a little and can be expressed as follows. Let M be an R-module.

1) There is a unique maximal Cohen-Macaulay R-module M' and a short exact "approximation sequence" 0\to N' \to M' \to M \to 0 such that N has finite projective dimension; the module M, together with the surjection, is the MCM approximation of M.

2) Dually, there is a unique short exact "co-approximation sequence" 0\to M \to N'' \to M'' \to 0 such that N'' has finite projective dimension and M'' is a maximal Cohen-Macaulay module, the MCM co-approximation.

These sequences are easy to compute. Let d = 1+ depth R - depth M. Write M'_0 for the d-th cosyzygy of the d-th syzygy module of M, and \alpha: M'\to M the induced map. The module M' (or the map (M'\to M) is called the essential MCM approximation of M. Since d >= 2, the module M' has no free summand. Let B_0 be a minimal free module mapping onto M/(image M'_0), and lift the surjection to a map \beta: B_0 \to M. The map (\alpha, \beta): M'_0 \oplus B_0 --> M is the MCM approximation, and N is its kernel.

The routine approximation M returns the pair (\alpha, \beta).

Further, if M'' is the (d+1)st cosyzygy of the d-th syzygy of M then there is a short exact sequence 0\to M' \to F \to M'' \to 0 with F free. Pushing this sequence forward along the map \alpha: M' \to M gives the coapproximation sequence 0\to M \to N''\to M'' \to 0.

The routine coApproximation M returns the map M --> N''. Here is an example of a simple approximation sequence, exhibited by the betti tables of its 3 middle terms:

The Betti table of the module M is at the top, and one sees that it is NOT MCM (the resolution is not periodic at the beginning) and not of finite projective dimension (the length of the given part of of the -- actually infinite -- resolution is already longer than the dimension of the ring.

Next comes the betti table of the MCM module that approximates M (we see that its resolution is periodic from the beginning).

Finally we see a module of finite projective dimension (in this case 1).

i1 : S = ZZ/101[a,b,c]

o1 = S

o1 : PolynomialRing
i2 : R = S/ideal(a^3+b^3+c^3)

o2 = R

o2 : QuotientRing
i3 : M = coker random(R^2, R^{4:-1});
i4 : Ea = approximationSequence M;
i5 : netList apply({1,2,3}, i-> betti res Ea_i)

     +----------------+
     |       0 1 2 3 4|
o5 = |total: 2 4 6 6 6|
     |    0: 2 4 . . .|
     |    1: . . 6 6 .|
     |    2: . . . . 6|
     +----------------+
     |       0 1 2 3 4|
     |total: 6 6 6 6 6|
     |    0: 6 6 . . .|
     |    1: . . 6 6 .|
     |    2: . . . . 6|
     +----------------+
     |       0 1      |
     |total: 8 6      |
     |    0: 4 6      |
     |    1: 4 .      |
     +----------------+

Here is a similar display for the co-approximation sequence. Here the Betti table of M is at the bottom, the Betti table of the module of finite projective dimension is in the middle, and that of the MCM module is at the top (

i6 : Ec = coApproximationSequence M;
i7 : netList apply(5, i-> betti res prune Ec_i)

     +----------------+
     |                |
o7 = |total:          |
     +----------------+
     |       0 1 2 3 4|
     |total: 6 6 6 6 6|
     |   -2: 6 . . . .|
     |   -1: . 6 6 . .|
     |    0: . . . 6 6|
     +----------------+
     |       0 1 2    |
     |total: 6 4 2    |
     |   -2: 6 . .    |
     |   -1: . 4 2    |
     +----------------+
     |       0 1 2 3 4|
     |total: 2 4 6 6 6|
     |    0: 2 4 . . .|
     |    1: . . 6 6 .|
     |    2: . . . . 6|
     +----------------+
     |                |
     |total:          |
     +----------------+

Author

Version

This documentation describes version 1.1 of MCMApproximations.

Source code

The source code from which this documentation is derived is in the file MCMApproximations.m2.

Exports

  • Functions and commands
  • Methods
    • approximation(Module) -- see approximation -- returns pair of components of the map from the MCM approximation
    • auslanderInvariant(Module) -- see auslanderInvariant -- measures failure of surjectivity of the essential MCM approximation
    • coApproximation(Module) -- see coApproximation -- Maximal Cohen-Macaulay co-approximation of M
    • profondeur(Ideal,Module) -- see profondeur -- computes the profondeur with respect to an ideal
    • profondeur(Module) -- see profondeur -- computes the profondeur with respect to an ideal
    • profondeur(Ring) -- see profondeur -- computes the profondeur with respect to an ideal
    • setupModules(List,Module) -- see setupModules -- Creates a list of modules and maps over complete intersection for experiments
    • setupRings(Matrix) -- see setupRings -- Sets up a complete intersection for experiments
    • setupRings(ZZ,ZZ) -- see setupRings -- Sets up a complete intersection for experiments
    • socleDegrees(Module) -- see socleDegrees -- lists the degrees of the socle generators
    • syzygyModule(ZZ,Module) -- see syzygyModule -- Produces the k-th syzygy module (k \in ZZ)
  • Symbols
    • Characteristic -- Option for setupRings(c,d,Characteristic=>q)
    • CoDepth -- Option for syzygyModule(-k,M,CoDepth => m)
    • Randomize -- Option for setupRings(c,d,Characteristic=>q, Randomize=>false)
    • Total -- option for approximation

For the programmer

The object MCMApproximations is a package.