|
7.7.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
| See also:
applyAdF;
linearMapKernel.
|