# extMatrix -- calculate obstruction space for modules

## Description

The output N is a matrix over the same ring as F whose columns form a basis for (a graded piece of) the first extension module Ext^1(image 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 fashing as with basis.

For example, consider the module M4 over an E6 singularity, see [Si01]:

 i1 : S=QQ[x,y]/ideal {x^4+y^3}; i2 : F= matrix {{y,-x^2,0},{x,0,-y},{0,-y,-x}} o2 = | y -x2 0 | | x 0 -y | | 0 -y -x | 3 3 o2 : Matrix S <--- S i3 : N=extMatrix(F) o3 = {-4} | 0 0 -x 0 0 -y | {-4} | 1 y 0 0 0 0 | {-4} | 0 0 0 1 y 0 | {-4} | 1 y 0 0 0 x | {-4} | 0 0 0 1 y 0 | {-4} | 0 0 -1 0 0 0 | {-4} | 0 0 y x xy 0 | {-4} | 0 0 0 0 0 -y | {-4} | 1 y 0 0 0 0 | 9 6 o3 : Matrix S <--- S

There are six obstructions to deforming this module.

## Ways to use extMatrix :

• "extMatrix(InfiniteNumber,ZZ,Matrix)"
• "extMatrix(List,Matrix)"
• "extMatrix(Matrix)"
• "extMatrix(ZZ,InfiniteNumber,Matrix)"
• "extMatrix(ZZ,Matrix)"
• "extMatrix(ZZ,ZZ,Matrix)"

## For the programmer

The object extMatrix is .