# versalDeformation(Matrix) -- computes a power series representation of a versal deformation

## Synopsis

• Function: versalDeformation
• Usage:
(F,R,G,C) = versalDeformation(F0)
• Inputs:
• F0,
• Optional inputs:
• CacheName => ..., default value null
• CorrectionMatrix => ..., default value auto
• DefParam => ..., default value t
• DegreeBound => ..., default value 0, determines the degree limit used to compute the tangent cone of obstruction equations
• HighestOrder => ..., default value 20
• PolynomialCheck => ..., default value true
• SanityCheck => ..., default value true
• SmartLift => ..., default value true
• Verbose => ..., default value 0, control the verbosity of output
• Outputs:
• F, a list of matrices
• R, a list of matrices
• G, a list of matrices
• C, a list of matrices

## Description

Each element of the sequence (F,R,G,C) is a list of matrices in increasing powers of the deformation parameter specified by DefParam. Their sums satisfy the deformation equation transpose flatten ((sum F)*(sum R))+(sum C)*(sum G)==0 up to powers of the deformation parameter equal to the length of F. Furthermore, F_0=F0 and R_0=gens ker F0. The columns of C_0 are multiples of the those of cotangentCohomology2(F0) if F0 has a single row, and extMatrix(F0) otherwise. F_1 consists of first order perturbations corresponding to the basis of cotangentCohomology1(F0). Thus, F and G represent a versal family and equations for a versal base space, either for the scheme cut out by the columns of F0 (when F0 has a single row), or the module coker F0.

Several options are available to control the termination of the calculation. The calculation will terminate at the very latest after reaching order equal to the option HighestOrder, which has default value 20. If this order is reached, a warning message is generated. If PolynomialCheck is set to true, as is the default, then the algorithm will check if the present solution lifts to infinite order and terminate if this is the case. If SanityCheck is set to true, as is the default, then the algorithm will check that the present solution really does solve the deformation equation, and terminate with an error if this is not the case.

The option Verbose may be used to control the verbosity of the output. Its value should be an integer, with higher values corresponding to more verbose output. Default value is 0.

The option SmartLift is also available, which controls whether the algorithm spends extra time trying to find liftings which introduce no new obstructions at the next highest order. By default, this option is enabled. The option CorrectionMatrix may be used to control which liftings are considered.

After each step of lifting, the solution (F,R,G,C) to the deformation equation is cached. By default, it is stored in F0.cache#VersalDeformationResults but may stored elsewhere by setting the option CacheName to something other than null.

For example, consider the cone over the rational normal curve of degree four, see [Pi74]:

 i1 : S=QQ[x_0..x_4]; i2 : I=minors(2,matrix {{x_0,x_1,x_2,x_3},{x_1,x_2,x_3,x_4}}); o2 : Ideal of S i3 : F0=gens I o3 = | -x_1^2+x_0x_2 -x_1x_2+x_0x_3 -x_2^2+x_1x_3 -x_1x_3+x_0x_4 ------------------------------------------------------------------------ -x_2x_3+x_1x_4 -x_3^2+x_2x_4 | 1 6 o3 : Matrix S <--- S i4 : (F,R,G,C)=versalDeformation(F0,Verbose=>2); Calculating first order deformations and obstruction space Calculating first order relations Calculating standard expressions for obstructions Starting lifting Order 2 Order 3 Solution is polynomial

Equations for a versal base space are

 i5 : T=ring first G; i6 : sum G o6 = | t_2t_3-t_3^2 | | -t_1t_3 | | t_3t_4 | 3 1 o6 : Matrix T <--- T

The versal family is given by

 i7 : sum F o7 = | x_1t_1+x_0t_2-x_1^2+x_0x_2 -t_1t_3+x_0t_4-x_1x_2+x_0x_3 ------------------------------------------------------------------------ -t_2t_3+t_3^2-t_1t_4-x_3t_1-x_2t_2+x_1t_4-x_2^2+x_1x_3 ------------------------------------------------------------------------ t_2t_3-t_3^2+x_2t_3-x_1x_3+x_0x_4 -x_4t_1-x_3t_2+x_3t_3-x_2x_3+x_1x_4 ------------------------------------------------------------------------ x_4t_3-x_3t_4-x_3^2+x_2x_4 | 1 6 o7 : Matrix T <--- T

We may also consider the example of the cone over the del Pezzo surface of degree six, see [Al97]:

 i8 : S=QQ[x1,x2,x3,x4,x5,x6,z]; i9 : I=ideal {x1*x4-z^2,x2*x5-z^2,x3*x6-z^2,x1*x3-z*x2,x2*x4-z*x3,x3*x5-z*x4,x4*x6-z*x5,x5*x1-z*x6,x6*x2-z*x1}; o9 : Ideal of S i10 : F0=gens I; 1 9 o10 : Matrix S <--- S i11 : (F,R,G,C)=versalDeformation(F0,Verbose=>2); Calculating first order deformations and obstruction space Calculating first order relations Calculating standard expressions for obstructions Starting lifting Order 2 Order 3 Solution is polynomial

Equations for a versal base space are

 i12 : T=ring first G; i13 : sum G o13 = | t_2t_3 | | t_1t_3-t_3^2 | 2 1 o13 : Matrix T <--- T

The versal family is given by

 i14 : sum F o14 = | -t_1t_2+zt_1+zt_2+x1x4-z2 zt_2+zt_3+x2x5-z2 zt_1+x3x6-z2 ----------------------------------------------------------------------- x2t_1+x1x3-x2z x3t_2+x2x4-x3z x4t_3+x3x5-x4z x5t_1-x5t_3+x4x6-x5z ----------------------------------------------------------------------- x6t_2+x6t_3+x1x5-x6z x2x6-x1z | 1 9 o14 : Matrix T <--- T