# approximation -- returns pair of components of the map from the MCM approximation

## Synopsis

• Usage:
(phi,psi) = approximation M
• Inputs:
• M, ,
• Optional inputs:
• CoDepth => ..., default value -1
• Total => ..., default value true
• Outputs:
• phi, , map from the nonfree component
• psi, , map from the free component

## Description

If R is a local or standard graded Gorenstein ring, and M is a finitely generated R-module, then, according to the theory of Auslander and Buchweitz (a good exposition is in Ding's Thesis) there are unique exact sequences $$0\to K \to M' \to M\to 0$$ and $$0\to M \to N\to M''\to 0$$ such that K and N are of finite projective dimension, M' and M'' are maximal Cohen-Macaulay, and M'' has no free summands. Thus, for example, the projective dimension of K is one less than the CoDepth of M.)

The call

coApproximation M

returns the map $M\to N$, while the call

approximation M

returns the pair (phi,psi), which define the map $M'\to M$. Here phi is the "essential MCM approximation" from the biggest summand M'0 of M' that has no free summands, and psi is the map from the free summand M'1.

The module M'0 is computed as syzygyModule(-k, syzygyModule(k,M)) for any k >= CoDepth M, and the map $M'0 \to M$ is induced by the comparison map of resolutions.

The rank t of the free summand M'1 is called the Auslander Invariant of M, and is returned by the call auslanderInvariant M.

The CoDepth of M can be provided as an option to speed computation.

If Total => false, then just the map phi is returned.

 i1 : R = ZZ/101[a,b]/ideal(a^2) o1 = R o1 : QuotientRing i2 : k = coker vars R o2 = cokernel | a b | 1 o2 : R-module, quotient of R i3 : approximation k o3 = (| 0 1 |, 0) o3 : Sequence i4 : M = image vars R o4 = image | a b | 1 o4 : R-module, submodule of R i5 : approximation M o5 = ({1} | -1 0 |, 0) {1} | 0 1 | o5 : Sequence i6 : approximation(M, Total=>false) o6 = {1} | -1 0 | {1} | 0 1 | o6 : Matrix i7 : approximation(M, CoDepth => 0) o7 = ({1} | 1 0 |, 0) {1} | 0 1 | o7 : Sequence