# Singular

##### 7.5.3.0. linearMapKernel
Procedure from library `central.lib` (see central_lib).

Usage:
linearMapKernel( Images ); Images ideal

Purpose:
Computes the syzygy module of the linear map given by Images.

Return:
syzygy module, or int(0) if all images are zeroes

Example:
 ```LIB "central.lib"; ring AA = 0,(e,f,h),dp; matrix D[3][3]=0; D[1,2]=-h; D[1,3]=2*e; D[2,3]=-2*f; def A = nc_algebra(1,D); // this algebra is U(sl_2) setring A; // Let us consider the linear map Ad_{e} from A_2 into A. // Compute the PBW basis of A_2: ideal Basis = PBW_maxDeg( 2 ); Basis; ==> Basis[1]=e ==> Basis[2]=f ==> Basis[3]=h ==> Basis[4]=h2 ==> Basis[5]=fh ==> Basis[6]=f2 ==> Basis[7]=eh ==> Basis[8]=ef ==> Basis[9]=e2 // Compute images of basis elements under the linear map Ad_e: ideal Image = applyAdF( Basis, e ); Image; ==> Image[1]=0 ==> Image[2]=h ==> Image[3]=-2e ==> Image[4]=-4eh-4e ==> Image[5]=-2ef+h2+2h ==> Image[6]=2fh-2f ==> Image[7]=-2e2 ==> Image[8]=eh ==> Image[9]=0 // Now we have a linear map given by: Basis_i --> Image_i // Let's compute its kernel K: // 1. compute syzygy module C: module C = linearMapKernel( Image ); C; ==> C[1]=gen(1) ==> C[2]=gen(8)+1/4*gen(4)-1/2*gen(3) ==> C[3]=gen(9) // 2. compute corresponding combinations of basis vectors: ideal K = linearCombinations(Basis, C); K; ==> K[1]=e ==> K[2]=ef+1/4h2-1/2h ==> K[3]=e2 // Let's check that Ad_e(K) is zero: ideal Z = applyAdF( K, e ); Z; ==> Z[1]=0 ==> Z[2]=0 ==> Z[3]=0 // Now linearMapKernel will return a single integer 0: def CC = linearMapKernel(Z); typeof(CC); CC; ==> int ==> 0 ```