Free Resolutions#
The functions in this section deal with free resolutions and associated properties. Free resolutions are returned as chain complexes (see Chapter Chain Complexes).
Constructing Free Resolutions#
- FreeResolution(M): ModMPol -> ModCpx, ModMPolHom#
Minimal : BoolElt Default: true Limit : RngIntElt Default: 0 Homogenize: BoolElt Default: true Al : MonStgElt Default: "LaScala"
Given an \(R\)-module \(M\), return a free resolution \(M\) as a complex \(C\), and a comparison homomorphism \(f: C_0 \rightarrow M\) (where \(C_0\) is the term of \(C\) of degree 0).
By default, the free resolution will be minimal. Setting the parameter
Minimaltofalsewill construct a non-minimal resolution (which is constructed via a sequence of successive syzygy modules, with no minimization).Magma has two algorithms for computing resolutions:
- (1)
The La Scala (LS) [Scala and Stillman, 1998] algorithm, which works with a homogeneous module. The Magma implementation involves an extension of this algorithm which uses techniques from the Faugère \(F_4\) [Faugère, 1999] algorithm to compute many normal forms together in a block.
- (2)
The Iterative algorithm, which simply computes successive syzygy modules progressively (minimizing as it goes if and only a minimal resolution is desired).
By default the LS algorithm is used if \(M\) is homogeneous and the coefficient ring of \(R\) is a finite field or the rational field, since this tends to be faster in general. But for some inputs the iterative algorithm may be significantly faster, particularly for some modules over the rationals. So one may set the parameter
Alto"Iterative"to select the iterative algorithm. Uniqueness of the terms in the resolution is as follows.- (1)
If \(M\) is homogeneous or defined over a local ring \(R\), then the resulting complex \(C\) is guaranteed to be minimal, so the ranks of the terms in \(C\) and the associated Betti numbers will be unique.
- (2)
If \(M\) is non-homogeneous and over a global ring \(R\), then the boundary maps of \(C\) will not have any entries which are units, but \(C\) cannot be guaranteed to be an absolutely minimal free resolution, so the ranks of the terms and the associated Betti numbers will not be unique in general. Also, Magma may choose to compute \(C\) by computing the free resolution \(C_H\) of a homogenization \(M_H\) of \(M\), and then specializing \(C_H\) to yield \(C\), since this method is usually faster (since the LS algorithm can then be used). One may set the parameter
Homogenizetotrueorfalseto force Magma to use this homogenization technique or not.
If the parameter
Limitis set to a non-zero value \(l\), then at most \(l\) terms (plus the term corresponding to the free module) are computed. If \(R\) is an affine algebra or exterior algebra of rank \(n\), then by default the limit is set to \(n\), since the resolution is not finite in general.
- SetVerbose("Resolution", v): MonStgElt, RngIntElt#
(Procedure.) Change the verbose printing level for the free resolution algorithm and related functions to be \(v\).
- Example: Free Resolution (ex-2a8a2e)#
We construct the module \(M=R^1/I\) where \(I\) is a homogeneous ideal of \({\mathbb{Q}}[x,y,z,t]\) and then construct a minimal free resolution of \(M\) and note simple properties of this.
> R<x,y,z,t> := PolynomialRing(RationalField(), 4, "grevlex"); > B := [ > -x^2 + y*t, -y*z + x*t, x*z - t^2, > x*y - t^2, -y*z + x*t, -x^2 + z*t > ]; > M := GradedModule(Ideal(B)); > M; Graded Module R^1/<relations> Relations: [-x^2 + y*t], [-y*z + x*t], [ x*z - t^2], [ x*y - t^2], [-y*z + x*t], [-x^2 + z*t] > C := FreeResolution(M); > C; Chain complex with terms of degree 4 down to -1 Dimensions of terms: 0 1 5 5 1 0 > Terms(C); [ Free Graded Module R^0, Free Graded Module R^1 with grading [5], Free Graded Module R^5 with grading [3, 3, 3, 3, 3], Free Graded Module R^5 with grading [2, 2, 2, 2, 2], Free Graded Module R^1, Free Graded Module R^0 ] > B := BoundaryMaps(C); > B; [* Graded module homomorphism (0 by 1), Graded module homomorphism (1 by 5) of degree 0 Ambient matrix: [ x*z - t^2 x^2 - z*t -y*t + z*t y*z - x*t -x*y + t^2], Graded module homomorphism (5 by 5) of degree 0 Ambient matrix: [-y x 0 -t 0] [ 0 -z y 0 t] [ t -z 0 x 0] [ 0 -t t 0 x] [-z 0 x -t z], Graded module homomorphism (5 by 1) of degree 0 Ambient matrix: [x^2 - z*t] [x*y - t^2] [x*z - t^2] [y*z - x*t] [y*t - z*t], Graded module homomorphism (1 by 0) *] > B[2]*B[3]; Module homomorphism (1 by 5) Ambient matrix: [0 0 0 0 0] > B[3]*B[4]; Module homomorphism (5 by 1) Ambient matrix: [0] [0] [0] [0] [0] > Image(B[3]) eq Kernel(B[4]); true
- Example: Free Resolution1 (ex-999f8c)#
Following [Cox et al., 1998, p.248], we compute the ideal \(I\) of \({\mathbb{Q}}[x,y]\) whose affine variety is a certain list of 6 pairs.
> R<x,y> := PolynomialRing(RationalField(), 2, "grevlex"); > L := [<0, 0>, <1, 0>, <0, 1>, <2, 1>, <1, 2>, <3, 3>]; > I := Ideal(L, R); > I; Ideal of Polynomial ring of rank 2 over Rational Field Graded Reverse Lexicographical Order Variables: x, y Inhomogeneous, Dimension 0 Groebner basis: [ x^3 - 5*x^2 + 2*x*y - 2*y^2 + 4*x + 2*y, x^2*y - 5*x^2 + 3*x*y - 4*y^2 + 5*x + 4*y, x*y^2 - 4*x^2 + 3*x*y - 5*y^2 + 4*x + 5*y, y^3 - 2*x^2 + 2*x*y - 5*y^2 + 2*x + 4*y ]
\(I\) is not homogeneous, and we compute a non-minimal free resolution of the module \(R/I\).
> M := QuotientModule(I); > M; Reduced Module R^1/<relations> Relations: [ x^3 - 5*x^2 + 2*x*y - 2*y^2 + 4*x + 2*y], [x^2*y - 5*x^2 + 3*x*y - 4*y^2 + 5*x + 4*y], [x*y^2 - 4*x^2 + 3*x*y - 5*y^2 + 4*x + 5*y], [ y^3 - 2*x^2 + 2*x*y - 5*y^2 + 2*x + 4*y] > C := FreeResolution(M: Minimal := false); > C; Chain complex with terms of degree 3 down to -1 Dimensions of terms: 0 3 4 1 0 > B := BoundaryMaps(C); > B; [* Module homomorphism (0 by 3), Module homomorphism (3 by 4) Ambient matrix: [-y + 5 x - 8 6 -2] [ 4 -y - 8 x + 8 -4] [ 2 -6 -y + 8 x - 5], Module homomorphism (4 by 1) Ambient matrix: [ x^3 - 5*x^2 + 2*x*y - 2*y^2 + 4*x + 2*y] [x^2*y - 5*x^2 + 3*x*y - 4*y^2 + 5*x + 4*y] [x*y^2 - 4*x^2 + 3*x*y - 5*y^2 + 4*x + 5*y] [ y^3 - 2*x^2 + 2*x*y - 5*y^2 + 2*x + 4*y], Module homomorphism (1 by 0) *] > IsZero(B[2]*B[3]); true
As noted in [Cox et al., 1998], the 3 by 3 minors of the boundary map from \(R^3\) to \(R^4\) generate the ideal \(I\) again, and this is due to the Hilbert-Burch Theorem.
> U := Minors(Matrix(B[2]), 3); > U; [ y^3 - 2*x^2 + 2*x*y - 5*y^2 + 2*x + 4*y, x*y^2 - 4*x^2 + 3*x*y - 5*y^2 + 4*x + 5*y, x^2*y - 5*x^2 + 3*x*y - 4*y^2 + 5*x + 4*y, x^3 - 5*x^2 + 2*x*y - 2*y^2 + 4*x + 2*y ] > Ideal(U) eq I; true