matrices to modules (kernel, image, cokernel)
Given a matrix, we may compute the
kernel,
image, and
cokernel.
i1 : R = QQ[a..f];
|
i2 : F = matrix{{a,b,d,e},{b,c,e,f}}
o2 = | a b d e |
| b c e f |
2 4
o2 : Matrix R <--- R
|
i3 : M = ker F
o3 = image {1} | cd-be 0 e2-df ce-bf |
{1} | -bd+ae e2-df 0 -be+af |
{1} | b2-ac -ce+bf -be+af 0 |
{1} | 0 cd-be bd-ae b2-ac |
4
o3 : R-module, submodule of R
|
i4 : coker F
o4 = cokernel | a b d e |
| b c e f |
2
o4 : R-module, quotient of R
|
i5 : image F
o5 = image | a b d e |
| b c e f |
2
o5 : R-module, submodule of R
|
Some routines in Macaulay2 have abbreviations, for example
ker may be used for
kernel, and
coker may be used for
cokernel. The
image function has no abbreviated form.
modules to matrices
Each module has, at least implicitly, two matrices associated to it:
generators (abbreviated form:
gens), and
relations. If a module is a submodule of a free module, then the relations matrix is zero. If a module is a quotient of a free module, then the generator matrix is the identity matrix. If a module is a
subquotient, then both may be more general.
i6 : generators M
o6 = {1} | cd-be 0 e2-df ce-bf |
{1} | -bd+ae e2-df 0 -be+af |
{1} | b2-ac -ce+bf -be+af 0 |
{1} | 0 cd-be bd-ae b2-ac |
4 4
o6 : Matrix R <--- R
|
i7 : relations M
o7 = 0
4
o7 : Matrix R <--- 0
|
Every finitely generated module has a presentation matrix. In Macaulay2, if the module is not a quotient of a free module, then a syzygy computation is performed to find a presentation matrix.
i8 : presentation M
o8 = {3} | -f -e |
{3} | b a |
{3} | -c -b |
{3} | e d |
4 2
o8 : Matrix R <--- R
|