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 Macaulay2 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:
Oct 6, 2009 (Version 0.48)
Resolved a compatiblity issue with the new version of the M2 package Polyhedra.
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 Polyhedra do
loadPackage("SRdeformations",Configuration=>{"UseConvex"=>false})
This is the standard configuration, i.e., it is synonymous to
loadPackage("SRdeformations")
ConvexInterface:
This package has to be installed first, see its documentation for this.
It calls the Maple package Convex and is faster than Polyhedra, hence the perferable choice. If you want to do non-trivial examples you have to go for it.
To use it type
loadPackage("SRdeformations",Configuration=>{"UseConvex"=>true})
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.