# Singular

##### 7.7.3.0. linearCombinations
Procedure from library `central.lib` (see central_lib).

Usage:
linearCombinations( Basis, C ); Basis ideal, C module

Purpose:
forms linear combinations of elements from Basis by replacing gen(i) by Basis[i] in C

Return:
ideal generated by computed linear combinations

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 ```