Home Online Manual
Top
Back: isReg
Forward: kohom
FastBack:
FastForward:
Up: homolog_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.4.8.15 hom_kernel

Procedure from library homolog.lib (see homolog_lib).

Usage:
hom_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 be a matrix inducing a map A':M'-->N'. Then ker(A,M,N); computes 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':coker(M)->coker(N)).

Example:
 
LIB "homolog.lib";
ring r;
module N=[2x,x],[0,y];
module M=maxideal(1)*freemodule(2);
matrix A[2][3]=2x,0,x,y,z2,y;
module K=hom_kernel(A,M,N);
// dimension of kernel:
dim(std(K));
==> 3
// vector space dimension of kernel:
vdim(std(K));
==> -1
print(K);
==> 0,0,0,
==> 1,0,0,
==> 0,1,0,
==> 0,0,1