# cotangentCohomology1 -- calculate first cotangent cohomology

## Description

Inputing an ideal instead has the same effect as inputing gens F. The output T1 is a matrix over the same ring as F. If F has a single row and ModuleDeformation is false, the output is a matrix whose columns form a basis for (a graded piece of) the first cotangent cohomology module of S/I, where S is the ring of F and I is ideal generated by the columns of F. If F has multiple rows or ModuleDeformation is true, the output is a matrix whose columns form a basis for (a graded piece of) the first extension module Ext^1(coker F,coker F).

Selection of graded pieces is done in the same manner as with basis. If the selected pieces are infinite dimensional, an error occurs. The optional argument SourceRing may be used in the same fashion as with basis.

This is , which may also be accessed via the ScriptedFunctor CT.

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 : T1=cotangentCohomology1(I) o3 = {-2} | x_1 x_0 0 0 | {-2} | 0 0 0 x_0 | {-2} | -x_3 -x_2 0 x_1 | {-2} | 0 0 x_2 0 | {-2} | -x_4 -x_3 x_3 0 | {-2} | 0 0 x_4 -x_3 | 6 4 o3 : Matrix S <--- S

The first cotangent cohomology module, and thus the tangent space of the versal deformation, is four dimensional.

## Ways to use cotangentCohomology1 :

• "cotangentCohomology1(Ideal)"
• "cotangentCohomology1(InfiniteNumber,ZZ,Ideal)"
• "cotangentCohomology1(InfiniteNumber,ZZ,Matrix)"
• "cotangentCohomology1(List,Ideal)"
• "cotangentCohomology1(List,Matrix)"
• "cotangentCohomology1(Matrix)"
• "cotangentCohomology1(ZZ,Ideal)"
• "cotangentCohomology1(ZZ,InfiniteNumber,Ideal)"
• "cotangentCohomology1(ZZ,InfiniteNumber,Matrix)"
• "cotangentCohomology1(ZZ,Matrix)"
• "cotangentCohomology1(ZZ,ZZ,Ideal)"
• "cotangentCohomology1(ZZ,ZZ,Matrix)"

## For the programmer

The object cotangentCohomology1 is .