# firstOrderDeformations -- use tangent space to create first order peturbations and find relations

## Synopsis

• Usage:
(F,R) = firstOrderDeformations(F0,R0,T1)
• Inputs:
• F0,
• R0,
• T1,
• Optional inputs:
• DefParam => ..., default value t
• SanityCheck => ..., default value true
• Outputs:
• F, a list of matrices
• R, a list of matrices

## Description

F0, R0, and T1 should all be matrices over some common ring. R0 should be the first syzygy matrix of F0 and T1 should have the same number rows as the product of the number of rows and columns of F0.

F is a list of length two with F_0=F0 and F_1 the first order perturbations corresponding to T1. R is a list of length two with R_0=R0 and R_1 such that F_0*R_1+F_1*R_0==0. If SanityCheck is set to true, as is the default, then the algorithm will check that this equation is satisfied, and terminate with an error if this is not the case.

The parameters used in the perturbations may be specified by the option DefParam.

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 : T1=cotangentCohomology1(F0); 6 4 o4 : Matrix S <--- S i5 : R0=gens ker F0; 6 8 o5 : Matrix S <--- S i6 : (F,R)=firstOrderDeformations(F0,R0,T1) o6 = ({| -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 |, | x_1t_1+x_0t_2 x_0t_4 ------------------------------------------------------------------------ -x_3t_1-x_2t_2+x_1t_4 x_2t_3 -x_4t_1-x_3t_2+x_3t_3 x_4t_3-x_3t_4 |}, ------------------------------------------------------------------------ {{2} | x_3 x_2 0 x_4 x_3 0 0 0 |, {2} | t_4 0 0 {2} | -x_2 -x_1 x_4 0 0 0 x_4 x_3 | {2} | -t_2 t_1 0 {2} | x_1 x_0 -x_3 0 0 x_4 0 0 | {2} | 0 0 0 {2} | 0 0 -x_3 -x_2 -x_1 0 -x_3 -x_2 | {2} | 0 0 -t_4 {2} | 0 0 x_2 x_1 x_0 -x_3 0 0 | {2} | 0 0 0 {2} | 0 0 0 0 0 x_2 x_1 x_0 | {2} | 0 0 t_1 ------------------------------------------------------------------------ 0 0 0 0 0 |}) 0 -t_3 0 0 0 | -t_3 0 0 0 -t_3 | -t_2 t_1 0 -t_4 -t_3 | 0 0 -t_4 -t_3 0 | 0 0 t_2-t_3 0 0 | o6 : Sequence

## Ways to use firstOrderDeformations :

• "firstOrderDeformations(Matrix,Matrix,Matrix)"

## For the programmer

The object firstOrderDeformations is .