SRdeformations -- Deformations of Stanley-Reisner rings and related computations.

Description

Overview:

The goal of this package is to provide a basic framework for deformations of Stanley-Reisner rings, the deformations polytope, its tropical subcomplex and tropical mirror symmetry in general.

This is work in progress, many interesting pieces still missing and more testing is necessary. The efficiency and robustness of some of the pieces has to be improved.

See the Macaulay 2 package repository for new versions of this file.

All suggestions and contributions are welcome.

Contents:

This package so far consists of the following parts:

The first part provides a data structure for deformations of monomial ideals (including a toric grading). The class FirstOrderDeformation stores (and computes the dimension of) a big torus graded part of the vector space of first order deformations (specified by a Laurent monomial).

The second part gives an implementation of (not necessarily simplicial) embedded complexes and co-complexes and their correspondence to monomial ideals. The main focus here is on a flexible implementation, computing and storing data only as soon as it is needed. See Complex, CoComplex, Face.

The third part computes all first order deformations of Stanley-Reisner ideals using part one and two via the results of Klaus Altmann and Jan Arthur Christophersen who reduce the problem to links of faces of simplicial complexes. See deformationsFace and deform.

The fourth part gives functions to compute the first order deformations polytope (see PT1) and its tropical subcocomplex (see tropDef).

What' new:

Jul 13, 2010 (Version 0.52)

Some changes to ensure compatibility with the current version of OldPolyhedra (1.1), in particular the method isSimplicial has been renamed to isSimp, as OldPolyhedra is now using the name name isSimplicial.

Jan 28, 2010 (Version 0.51)

Minor changes to ensure compatibility with the previous M2 version 1.2. Note that you will nevertheless need to install a more recent version of OldPolyhedra which also works with 1.2 (tested with 1.0.6).

Oct 24, 2009 (Version 0.50)

Added methods addCokerGrading(PolynomialRing,List) and raysPPn(List) to give the rays of the standard fan of weighted projective space. Fixed a bug in the multigrading.

Oct 18, 2009 (Version 0.49)

Fixed a problem in convHull (correspondence of P.polytopalFacets with the vertices of the dual). This was only a problem when using OldPolyhedra.m2.

Oct 6, 2009 (Version 0.48)

Resolved a compatibility issue with the new version of the M2 package OldPolyhedra.

Oct 3, 2009 (Version 0.47)

Improvements to the documentation.

Sept 20, 2009 (Version 0.46)

Added a function hull to compute the positive hull of a list of vectors.

Sept 8, 2009 (Version 0.45)

Adjusted the methods using ConvexInterface.m2 to version 0.25 which now indexes the vertices instead of using coordinates. This improves the performance substantially.

Improved the computation of the dimension of a FirstOrderDeformation using a much smaller linear system of equations.

Fixed a bug in dim(Face).

Exported the symbol dualFace which stores the dual of a face to make this key available for the user.

convHull now stores in the faces their dimensions (see the key indices).

Added an Option file to convHull and PT1 to store the result in a file. convHull applied to a String reads a convex hull from a file.

Improved speed of globalSections when dealing with ideals in the Cox ring of projective space.

Added an optional key deform to complexes storing the associated deformations, see deform.

Added functions saveDeformations and loadDeformations to save to and load from a file the deformations associated to a Complex.

Technical note:

In the future some of the methods and keys may change their name.

At some point Complex and CoComplex will get a common ancestor.

Installation:

installPackage("SRdeformations")

Options:

Computations with polyhedra are used in this package so far in by following functions:

convHull -- The convex hull complex

globalSections -- The global sections of a toric divisor

which again are called by PT1, deform and deformationsFace. If deform and deformationsFace are used for Complexes inside a standard simplex, i.e., Stanley-Reisner ideals with the standard projective space grading, then they don't rely on polyhedra computations.

There are two choices of M2 packages to be called for computations with polyhedra:

Works without additional configuration, but is not very fast.

It uses the M2 package FourierMotzkin.

To use OldPolyhedra do

This is the standard configuration, i.e., it is synonymous to

ConvexInterface:

This package has to be installed first, see its documentation for this.

It calls the Maple package Convex and is faster than OldPolyhedra, hence the preferable choice. If you want to do non-trivial examples you have to go for it.

To use it type

Note that you can change the standard option by editing the file init-SRdeformations.m2 in the .Macaulay directory in your home directory (it will be overwritten when you reinstall a newer version of the package, but there will be a backup).

Examples:

mirrorSphere uses the above functions to compute the mirror sphere of a Calabi-Yau.

The author was supported by DFG (German Research Foundation) through Grant BO3330/1-1.

Version

This documentation describes version 0.51 of SRdeformations.

Source code

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

Exports

• Types
• CoComplex -- The class of all embedded co-complexes.
• Complex -- The class of all embedded complexes.
• Face -- The class of all faces of complexes or co-complexes.
• FirstOrderDeformation -- The class of all first order deformations of monomial ideals.
• Functions and commands
• Methods
• "bigTorusDegree(FirstOrderDeformation)" -- see bigTorusDegree -- The big torus degree of a deformation.
• "boundaryCyclicPolytope(ZZ,PolynomialRing)" -- see boundaryCyclicPolytope -- The boundary complex of a cyclic polytope.
• "boundaryOfPolytope(Complex)" -- see boundaryOfPolytope -- The boundary of a polytope.
• "closedStar(Face,Complex)" -- see closedStar -- The closed star of a face of a complex.
• "coComplex(PolynomialRing,List)" -- see coComplex -- Make a co-complex.
• "coComplex(PolynomialRing,List,List)" -- see coComplex -- Make a co-complex.
• "coComplex(PolynomialRing,List,List,PolynomialRing)" -- see coComplex -- Make a co-complex.
• "coComplex(PolynomialRing,List,PolynomialRing)" -- see coComplex -- Make a co-complex.
• "coComplexToIdeal(CoComplex)" -- see coComplexToIdeal -- The monomial ideal associated to a CoComplex.
• "cokerElement(Matrix,Matrix)" -- see cokerElement -- Gives an element in the cokernel of a matrix.
• "cokerElement(Vector,Matrix)" -- see cokerElement -- Gives an element in the cokernel of a matrix.
• complement(Complex) -- Compute the complement CoComplex.
• complement(Face) -- Compute the complement face of a simplex.
• "complex(PolynomialRing,List)" -- see complex -- Make a complex.
• "complex(PolynomialRing,List,List)" -- see complex -- Make a complex.
• "complex(PolynomialRing,List,List,PolynomialRing)" -- see complex -- Make a complex.
• "complex(PolynomialRing,List,PolynomialRing)" -- see complex -- Make a complex.
• Complex == Complex -- Compare two complexes.
• "complexFromFacets(PolynomialRing,List)" -- see complexFromFacets -- Make a complex from its facets.
• "complexFromFacets(PolynomialRing,List,PolynomialRing)" -- see complexFromFacets -- Make a complex from its facets.
• "complexToIdeal(Complex)" -- see complexToIdeal -- The monomial ideal associated to a complex.
• "convHull(List)" -- see convHull -- The convex hull complex.
• "convHull(String)" -- see convHull -- The convex hull complex.
• "coordinates(Face)" -- see coordinates -- The coordinates of a face.
• "coordinates(Face,Complex)" -- see coordinates -- The coordinates of a face.
• "deform(Complex)" -- see deform -- Compute the deformations associated to a Stanley-Reisner complex.
• "deformationsFace(Face,Complex)" -- see deformationsFace -- Compute the deformations associated to a face.
• "deformationsFace(Face,Complex,Ideal)" -- see deformationsFace -- Compute the deformations associated to a face.
• degree(FirstOrderDeformation) -- The small torus degree of a deformation.
• denominator(FirstOrderDeformation) -- The denominator of a deformation as a vector.
• "denominatorMonomial(FirstOrderDeformation)" -- see denominatorMonomial -- The denominator monomial of a deformation.
• dim(Complex) -- Compute the dimension of a complex or co-complex.
• dim(Face) -- Compute the dimension of a face.
• dim(Face,Complex) -- Compute the dimension of a face.
• dim(Face,PolynomialRing) -- Compute the dimension of a face.
• dim(FirstOrderDeformation) -- Compute the dimension of a deformation.
• "dualGrading(Complex)" -- see dualGrading -- The dual vertices of a polytope.
• "dualize(Complex)" -- see dualize -- The dual of a face or complex.
• "dualize(Face)" -- see dualize -- The dual of a face or complex.
• "edim(Complex)" -- see edim -- The embedding dimension of a complex or co-complex.
• "embeddingComplex(Complex)" -- see embeddingComplex -- The embedding complex of a complex or co-complex.
• "eulerCharacteristic(Complex)" -- see eulerCharacteristic -- The Euler characteristic of a complex.
• "eulerCharacteristic(List)" -- see eulerCharacteristic -- The Euler characteristic of a complex.
• "face(List)" -- see face -- Generate a face.
• "face(List,Complex)" -- see face -- Generate a face.
• "face(List,Complex,ZZ,ZZ)" -- see face -- Generate a face.
• "face(Set)" -- see face -- Generate a face.
• Face == Face -- Compare two faces.
• "faceToMonomial(Face)" -- see faceToMonomial -- The monomial of a face.
• "faceToMonomial(Face,PolynomialRing)" -- see faceToMonomial -- The monomial of a face.
• "facets(Complex)" -- see facets -- The maximal faces of a complex.
• "facets(List)" -- see facets -- The maximal faces of a complex.
• "fc(Complex)" -- see fc -- The faces of a complex.
• "fc(Complex,ZZ)" -- see fc -- The faces of a complex.
• "firstOrderDeformation(Ideal,Vector)" -- see firstOrderDeformation -- Makes a first order deformation.
• "firstOrderDeformation(Matrix,Vector)" -- see firstOrderDeformation -- Makes a first order deformation.
• "firstOrderDeformation(MonomialIdeal,Vector)" -- see firstOrderDeformation -- Makes a first order deformation.
• FirstOrderDeformation == FirstOrderDeformation -- Compare two first order deformations.
• "fullCyclicPolytope(ZZ,PolynomialRing)" -- see fullCyclicPolytope -- Cyclic polytope.
• "fullCyclicPolytope(ZZ,PolynomialRing,PolynomialRing)" -- see fullCyclicPolytope -- Cyclic polytope.
• "fvector(Complex)" -- see fvector -- The F-vector of a complex.
• "fvector(List)" -- see fvector -- The F-vector of a complex.
• "gensSource(FirstOrderDeformation)" -- see gensSource -- Generators of the source of a deformation.
• "globalSections(Matrix,Vector)" -- see globalSections -- The global sections of a toric divisor.
• "globalSections(Matrix,Vector,List)" -- see globalSections -- The global sections of a toric divisor.
• HH Complex -- Compute the homology of a complex.
• "hull(List)" -- see hull -- The positive hull complex.
• "hull(String)" -- see hull -- The positive hull complex.
• "idealToCoComplex(Ideal)" -- see idealToCoComplex -- The co-complex associated to a reduced monomial ideal.
• "idealToCoComplex(Ideal,Complex)" -- see idealToCoComplex -- The co-complex associated to a reduced monomial ideal.
• "idealToCoComplex(MonomialIdeal)" -- see idealToCoComplex -- The co-complex associated to a reduced monomial ideal.
• "idealToCoComplex(MonomialIdeal,Complex)" -- see idealToCoComplex -- The co-complex associated to a reduced monomial ideal.
• "idealToComplex(Ideal)" -- see idealToComplex -- The complex associated to a reduced monomial ideal.
• "idealToComplex(Ideal,Complex)" -- see idealToComplex -- The complex associated to a reduced monomial ideal.
• "idealToComplex(MonomialIdeal)" -- see idealToComplex -- The complex associated to a reduced monomial ideal.
• "idealToComplex(MonomialIdeal,Complex)" -- see idealToComplex -- The complex associated to a reduced monomial ideal.
• indices(Face) -- The indices of a face.
• "intersectFaces(Face,Face)" -- see intersectFaces -- The intersection of two faces.
• "intersectFaces(List)" -- see intersectFaces -- The intersection of two faces.
• "isEquidimensional(Complex)" -- see isEquidimensional -- Check whether a complex or co-complex is equidimensional.
• "isEquidimensional(List)" -- see isEquidimensional -- Check whether a complex or co-complex is equidimensional.
• isHomogeneous(FirstOrderDeformation) -- Check whether a deformation is homogeneous.
• "isNonzero(FirstOrderDeformation)" -- see isNonzero -- Check whether a deformation is non-zero.
• "isPolytope(Complex)" -- see isPolytope -- Check whether a complex is a polytope.
• "isPolytope(List)" -- see isPolytope -- Check whether a complex is a polytope.
• "isSimp(Complex)" -- see isSimp -- Check whether a complex or co-complex is simplicial.
• "isSimp(List)" -- see isSimp -- Check whether a complex or co-complex is simplicial.
• "isSubface(Face,Face)" -- see isSubface -- Checks whether a face is a subface of another face.
• "isTrivial(FirstOrderDeformation)" -- see isTrivial -- Check whether a deformation is trivial.
• "isTrivial(Vector)" -- see isTrivial -- Check whether a deformation is trivial.
• "iszero(Thing)" -- see iszero -- Tests whether something is zero.
• "joinVectors(List)" -- see joinVectors -- Converts a list of vectors to a matrix.
• "laurent(FirstOrderDeformation)" -- see laurent -- Converts an exponent vector or a deformation into a Laurent monomial.
• "laurent(Vector,PolynomialRing)" -- see laurent -- Converts an exponent vector or a deformation into a Laurent monomial.
• "minimalNonFaces(Complex)" -- see minimalNonFaces -- The minimal non-faces of a complex.
• net(Complex) -- Printing complexes.
• net(Face) -- Printing faces.
• net(FirstOrderDeformation) -- Pretty print for deformations.
• "newEmptyComplex(PolynomialRing)" -- see newEmptyComplex -- Generates an empty complex.
• numerator(FirstOrderDeformation) -- The numerator of a deformation as a vector.
• "numeratorMonomial(FirstOrderDeformation)" -- see numeratorMonomial -- The numerator monomial of a deformation.
• "ofComplex(Face)" -- see ofComplex -- The complex of a face.
• "parameters(FirstOrderDeformation)" -- see parameters -- Parameters of a deformation.
• "parameters(Matrix,Vector)" -- see parameters -- Parameters of a deformation.
• "polytopalFacets(Complex)" -- see polytopalFacets -- The facets of a polytope.
• "possibleDenominators(Ideal)" -- see possibleDenominators -- Possible denominators of deformations.
• "possibleDenominators(Ideal,List)" -- see possibleDenominators -- Possible denominators of deformations.
• "possibleDenominators(List,List)" -- see possibleDenominators -- Possible denominators of deformations.
• "preImage(Matrix,Vector)" -- see preImage -- Compute the preimage.
• "PT1(Complex)" -- see PT1 -- Compute the deformation polytope associated to a Stanley-Reisner complex.
• "raysPPn(List)" -- see raysPPn -- The rays of the standard fan of projective space or weighted projective space.
• "raysPPn(ZZ)" -- see raysPPn -- The rays of the standard fan of projective space or weighted projective space.
• "relationsCoefficients(FirstOrderDeformation)" -- see relationsCoefficients -- Relations between the coefficients of a deformation.
• "relationsCoefficients(Matrix,Vector)" -- see relationsCoefficients -- Relations between the coefficients of a deformation.
• "saveDeformations(Complex,String)" -- see saveDeformations -- Store the deformation data of a complex in a file.
• "simplex(PolynomialRing)" -- see simplex -- Simplex in the variables of a polynomial ring.
• "simplex(PolynomialRing,PolynomialRing)" -- see simplex -- Simplex in the variables of a polynomial ring.
• "simplexDim(Face)" -- see simplexDim -- The dimension of a face inside the vertex simplex.
• simplexRing(Complex) -- The underlying polynomial ring of a complex.
• simplexRing(Face) -- The underlying polynomial ring of a face.
• simplexRing(FirstOrderDeformation) -- The underlying polynomial ring of a deformation or face.
• source(FirstOrderDeformation) -- The source of a deformation.
• target(FirstOrderDeformation) -- The target of a deformation.
• "toHom(FirstOrderDeformation)" -- see toHom -- Convert a first order deformation into a homomorphism.
• "totalSpace(FirstOrderDeformation,PolynomialRing)" -- see totalSpace -- Total space of a deformation.
• "totalSpace(List,PolynomialRing)" -- see totalSpace -- Total space of a deformation.
• "trivialDeformations(Complex)" -- see trivialDeformations -- Compute the trivial deformations.
• "trivialDeformations(Ideal,Matrix)" -- see trivialDeformations -- Compute the trivial deformations.
• "trivialDeformations(Matrix)" -- see trivialDeformations -- Compute the trivial deformations.
• "tropDef(Complex,Complex)" -- see tropDef -- The co-complex of tropical faces of the deformation polytope.
• "variables(Complex)" -- see variables -- The variables of a complex or co-complex.
• "vectorToMonomial(Vector,PolynomialRing)" -- see vectorToMonomial -- Converts an exponent vector into a monomial.
• "vert(Complex)" -- see vert -- The vertices of a face or complex.
• "vert(Face)" -- see vert -- The vertices of a face or complex.
• "verticesDualPolytope(Complex)" -- see verticesDualPolytope -- The dual vertices of a polytope.
• Symbols

For the programmer

The object SRdeformations is .