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:
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 compatiblity 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
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 OldPolyhedra, 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.
The author was supported by DFG (German Research Foundation) through Grant BO3330/1-1.
This documentation describes version 0.51 of SRdeformations.
The source code from which this documentation is derived is in the file SRdeformations.m2.