This package implements the construction of the Kustin-Miller complex [1]. This is the fundamental construction of resolutions in unprojection theory [2].

The main goal of unprojection theory is to provide a substitute for structure theorems not available for Gorenstein rings of codimension >3.

It has been applied in various cases to construct new varieties, e.g., in [3], [4] for Campedelli surfaces and Calabi-Yau varieties.

We provide a general command kustinMillerComplex for the Kustin-Miller construction and demonstrate it at several examples connecting unprojection theory and combinatorics like stellar subdivisions of simplicial complexes [5], minimal resolutions of Stanley-Reisner rings of boundary complexes Δ(d,m) of cyclic polytopes of dimension d on m vertices [6], and the classical (non-monomial) Tom example of unprojection [2].

**References:**

For the Kustin-Miller complex see:

[1] *A. Kustin and M. Miller, Constructing big Gorenstein ideals from small ones, J. Algebra 85 (1983)*, 303-322.

[2] *Papadakis, Kustin-Miller unprojection with complexes, J. Algebraic Geometry 13 (2004) 249-268*, http://arxiv.org/abs/math/0111195

For constructing new varieties see for example:

[3] *J. Neves and S. Papadakis, A construction of numerical Campedelli surfaces with ZZ/6 torsion, Trans. Amer. Math. Soc. 361 (2009), 4999-5021*.

[4] *J. Neves and S. Papadakis, Parallel Kustin-Miller unprojection with an application to Calabi-Yau geometry, preprint, 2009, 23 pp*, http://arxiv.org/abs/0903.1335

For the stellar subdivision case see:

[5] *J. Boehm, S. Papadakis: Stellar subdivisions and Stanley-Reisner rings of Gorenstein complexes*, http://arxiv.org/abs/0912.2151

For the case of cyclic polytopes see:

[6] *J. Boehm, S. Papadakis: On the structure of Stanley-Reisner rings associated to cyclic polytopes*, http://arxiv.org/abs/0912.2152

**Examples:**

Cyclic Polytopes -- Minimal resolutions of Stanley-Reisner rings of boundary complexes of cyclic polytopes

Stellar Subdivisions -- Stellar subdivisions and unprojection

Tom -- The Tom example of unprojection

**Key functions and data types:**

*The central function of the package is:*

kustinMillerComplex -- The Kustin-Miller complex construction

*Also important is the function to represent the unprojection data as a homomorphism:*

unprojectionHomomorphism -- Compute the homomorphism associated to an unprojection pair

*Types and functions used to compare with the combinatorics:*

Complex -- The class of all simplicial complexes

Face -- The class of all faces of simplicial complexes

complexToIdeal -- Compute the Stanley-Reisner ideal associated to a simplicial complex

idealToComplex -- Compute the Stanley-Reisner complex associated to a monomial square free ideal

delta -- The boundary complex of a cyclic polytope

stellarSubdivision -- Compute the stellar subdivision of a simplicial complex

**Installation:**

Put the file *KustinMiller.m2* somewhere into the path of Macaulay2 (usually into the directory .Macaulay2/code inside your home directory, type path in M2 to see the path) and do inside M2

installPackage "KustinMiller"

- Functions and commands
- complex -- Create a complex.
- complexToIdeal -- Compute the Stanley-Reisner ideal.
- delta -- Boundary complex of cyclic polytope.
- differentials -- Generate the differentials of the Kustin-Miller resolution
- dimension -- The dimension of a simplicial complex or a face of a simplicial complex.
- dualComplex -- Dualize a chain complex
- face -- Generate a face.
- faceIdeal -- The ideal of a face of a simplicial complex.
- faces -- Returns the faces of a complex
- facets -- The facets of a simplicial complex.
- fvector -- Returns the F-vector of a complex
- idealToComplex -- Compute the Stanley-Reisner complex.
- isExactRes -- Test whether a chain complex is exact.
- isFace -- Test whether a face is a face of a given complex.
- isSubface -- Test whether a face is a subface of another face.
- kustinMillerComplex -- Compute Kustin-Miller resolution of the unprojection of I in J
- link -- The link of a face of a complex.
- resBE -- Buchsbaum-Eisenbud resolution
- shiftComplex -- Shift the indexing of a chain complex
- stellarSubdivision -- Compute the stellar subdivision of a simplicial complex.
- substituteComplex -- Substitute a complex to a different ring.
- substituteFace -- Substitute a face to a different ring.
- unprojectionHomomorphism -- Compute the homomorphism associated to an unprojection pair
- vertices -- The vertices of a face of a simplicial complex.

- Methods
- Complex == Complex -- Compare two complexes.
- complexToIdeal(Complex), see complexToIdeal -- Compute the Stanley-Reisner ideal.
- dimension(Complex), see dimension -- The dimension of a simplicial complex or a face of a simplicial complex.
- dimension(Face), see dimension -- The dimension of a simplicial complex or a face of a simplicial complex.
- Face == Face -- Compare two faces.
- faceIdeal(Face), see faceIdeal -- The ideal of a face of a simplicial complex.
- faces(Complex), see faces -- Returns the faces of a complex
- faces(Complex,ZZ), see faces -- Returns the faces of a complex
- facets(Complex), see facets -- The facets of a simplicial complex.
- fvector(Complex), see fvector -- Returns the F-vector of a complex
- isFace(Face,Complex), see isFace -- Test whether a face is a face of a given complex.
- isSubface(Face,Face), see isSubface -- Test whether a face is a subface of another face.
- link(Face,Complex), see link -- The link of a face of a complex.
- net(Face) -- Printing faces or cones.
- ring(Complex) -- The underlying polynomial ring of a simplicial complex.
- ring(Face) -- The underlying polynomial ring of a face.
- stellarSubdivision(Complex,Face,PolynomialRing), see stellarSubdivision -- Compute the stellar subdivision of a simplicial complex.
- substituteComplex(Complex,PolynomialRing), see substituteComplex -- Substitute a complex to a different ring.
- substituteFace(Face,PolynomialRing), see substituteFace -- Substitute a face to a different ring.
- vertices(Face), see vertices -- The vertices of a face of a simplicial complex.