This package provides tools for calculating tangent and obstruction spaces as well as power series solutions for deformation problems involving isolated singularities and projective schemes.

A basic description of the package's approach to deformation problems can be found at the documentation node for versalDeformation. For details and mathematical background see

- Jan Stevens,
*Computing Versal Deformations*, Experimental Mathematics Vol. 4 No. 2, 1994.

The numerous examples presented in the documentation nodes for versalDeformation and localHilbertScheme are classical deformation problems, considered in the following articles:

- [Al97] Klaus Altmann,
*The versal deformation of an isolated Gorenstein singularity*, Inventiones Mathematicae Vol. 128 No. 3, 443-479 1997. - [CS10] Dustin Cartwright and Bernd Sturmfels,
*The Hilbert scheme of the diagonal in a product of projective spaces*, International Mathematics Research Notices Vol. 2010 No. 9, 1741-1771. - [PS85] Ragni Piene and Michael Schlessinger,
*On the Hilbert scheme compactification of the space of twisted cubic curves*, American Journal of Mathematics, Vol. 107 No. 4, 761-774, 1985. - [Pi74] Henry Pinkham,
*Deformations of algebraic varieties with G_m action*, Asterisque 20, 1974.

The author thanks Jan Christophersen for helpful hints, especially regarding the computation of *T ^{2}*.

Version **1.0** of this package was accepted for publication in volume 4 of the journal The Journal of Software for Algebra and Geometry: Macaulay2 on 2012-06-05, in the article Versal deformations and local Hilbert schemes. That version can be obtained from the journal or from the *Macaulay2* source code repository, `svn://svn.macaulay2.com/Macaulay2/trunk/M2/Macaulay2/packages/VersalDeformations.m2`, release number 14710.

- Functions and commands
- checkComparisonTheorem -- checks if the Piene-Schlessinger comparison theorem holds
- checkTangentSpace -- checks if dimension of space of sections of the normal bundle agrees with that calculated using normalMatrix
- correctDeformation -- correct lifting to avoid obstructions at next order
- correctionMatrix -- calculate how first order deformations perturb obstruction vector
- cotangentCohomology1 -- calculate first cotangent cohomology
- cotangentCohomology2 -- calculate second cotangent cohomology
- firstOrderDeformations -- use tangent space to create first order peturbations and find relations
- liftDeformation -- lift a solution of the deformation equation to the next order
- localHilbertScheme -- computes a power series representation of the local Hilbert scheme
- normalMatrix -- calculate normal module
- versalDeformation -- computes a power series representation of a versal deformation

- Symbols
- CacheName -- determines hash table in which to cache solutions to the deformation equation
- CorrectionMatrix -- determines the first order deformations used in correcting liftings
- DefParam -- deformation parameter
- HighestOrder -- sets the order to which we compute
- PolynomialCheck -- checks if power series solution terminates
- SanityCheck -- checks if lifting solves deformation equation
- SmartLift -- chooses lifting to avoid obstructions at next order
- VersalDeformationResults -- hash table key for cached solutions to the deformation equation

- Other things
- CT -- cotangent cohomology