Description
This is the main interface for the package
ModuleDeformations. It has two signatures: one for the absolute case and one for the general case. Both versions return a pair
(S,M)where
S is a ring representing the base space of the deformation and
M is a module representing the deformation module.
The module $M$ is not defined over the product $S \times{} Y$ but instead over the polynomial ring in which $S \times{} Y$ is defined. Attempting to construct $M$ over $S \times{} Y$ may result in computational blowup in certain cases. Reducing $M$ modulo the defining equations of $S \times{} Y$ gives the deformation module itself.
The function
deformMCMModule returns an error if the given module
M0 is not maximal Cohen-Macaulay, if it is not defined over a hypersurface, or if its module $Ext^1(M0,M0)$ of first-order deformations is not finite-dimensional as a vector space. If
M0 is free, then
deformMCMModule returns a pair with a trivial base space
S and a free module
M generated in the same degrees as
M0.
The parameters of the base space, that is, the coordinates over which
S is defined, are labelled
xi_1 through
xi_d, where
d is the dimension as a vector space of the module of first-order deformations of the module being deformed.
The function
deformMCMModule computes a deformation only up to a degree limit given by the optional parameter
DegreeLimit, whose default value is 10. The procedure is optimized so that specifying too large a degree limit should not result in substantial computational difficulties in most cases.