|
7.5.3.0. applyAdF
Procedure from library central.lib (see central_lib).
- Usage:
- applyAdF(B, f); B ideal, f poly
- Purpose:
- Apply Ad_f to every element of B
- Return:
- ideal, generated by Ad_f(B[i]), 1<=i<=size(B)
- Note:
- Ad_f(v) := [f, v] = f*v - v*f
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); setring A; // this algebra is U(sl_2)
// 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:
applyAdF( K, e );
==> _[1]=0
==> _[2]=0
==> _[3]=0
| See also:
linearMapKernel.
|