|
D.4.3.7 kernel
Procedure from library homolog.lib (see homolog_lib).
- Usage:
- kernel(A,M,N);
- Compute:
- Let M and N be submodules of R^m and R^n presenting M'=R^m/M, N'=R^n/N
(R=basering) and let A:R^m-->R^n a matrix inducing a map A':M'-->N'.
Compute a presentation K of ker(A') as in the commutative diagram:
| ker(A') ---> M' --A'--> N'
|^ |^ |^
| | |
R^r ---> R^m --A--> R^n
|^ |^ |^
|K |M |N
| | |
R^s ---> R^p -----> R^q
|
- Return:
- module K, a presentation of ker(A')
Example:
| LIB "homolog.lib";
ring r;
module N=[2x,x],[0,y];
module M=maxideal(1)*freemodule(2);
matrix A[2][2]=2x,0,x,y,z2,y;
module K=kernel(A,M,N);
degree(std(K));
==> // codimension = 3
==> // dimension = 0
==> // degree = 2
print(K);
==> z,0,y,0,x,0,
==> 0,z,0,y,0,x
|
|