# genIm -- a basis of the image of a linear expression

## Synopsis

• Usage:
genIm(expr,var)
• Inputs:
• expr, an instance of the type DiffAlgElement, an expression linear in the variable var
• var, an instance of the type DiffAlgElement, this is the variable of the linear expression, it must have free and linear scalar coefficients
• Outputs:
• a list, a basis of the image of the linear expression

## Description

This routine returns a basis of the image of expr, an homogeneous expression linear in var.

In this example we compute a basis of the image of the derivative of a projective differential 1-forms.

 i1 : h = newForm(2,1,2,"a") 2 2 2 2 o1 = (a x + a x x + a x + a x x + a x x + a x )dx + (a x + a x x + 0 0 3 0 1 9 1 6 0 2 12 1 2 15 2 0 1 0 4 0 1 ------------------------------------------------------------------------ 2 2 2 2 a x + a x x + a x x + a x )dx + (a x + a x x + a x + a x x + 10 1 7 0 2 13 1 2 16 2 1 2 0 5 0 1 11 1 8 0 2 ------------------------------------------------------------------------ 2 a x x + a x )dx 14 1 2 17 2 2 o1 : DiffAlgForm i2 : R = radial 2 o2 = x ax + x ax + x ax 0 0 1 1 2 2 o2 : DiffAlgField i3 : H = linearComb(genKer(R _ h, h),"a") 2 2 2 o3 = (a x x + a x + a x x + a x x + a x )dx + (- a x - a x x + a x x 0 0 1 3 1 1 0 2 4 1 2 6 2 0 0 0 3 0 1 2 0 2 ------------------------------------------------------------------------ 2 2 2 + a x x + a x )dx + (- a x + (- a - a )x x - a x - a x x - 5 1 2 7 2 1 1 0 2 4 0 1 5 1 6 0 2 ------------------------------------------------------------------------ a x x )dx 7 1 2 2 o3 : DiffAlgForm i4 : genIm(diff H,H) o4 = {-3x dx dx , -3x dx dx , x dx dx - x dx dx - 2x dx dx , -3x dx dx , - 0 0 1 0 0 2 2 0 1 1 0 2 0 1 2 1 0 1 ------------------------------------------------------------------------ x dx dx - 2x dx dx - x dx dx , -3x dx dx , -3x dx dx , -3x dx dx } 2 0 1 1 0 2 0 1 2 1 1 2 2 0 2 2 1 2 o4 : List

It is possible to get a linearly independent set of elements using this routine:

 i5 : w1=random newForm(2,1,2,"a"); i6 : w2=random newForm(2,1,2,"a"); i7 : w3=w1+w2; i8 : u=linearComb({w1,w2,w3},"a"); i9 : genIm(u,u) 2 2 2 2 o9 = {(2x - 2x x + 6x - 3x x + 6x x )dx + (- 7x + 5x x - x - 2x x - 0 0 1 1 0 2 1 2 0 0 0 1 1 0 2 ----------------------------------------------------------------------- 2 2 2 2 x x + x )dx + (- 3x - 4x x + 7x + 2x x - 7x x - 3x )dx 1 2 2 1 0 0 1 1 0 2 1 2 2 2 ------------------------------------------------------------------------ 2 2 2 2 2 , (x + 7x x + 3x + 2x x + x x + 8x )dx + (- x - 4x - 7x x - x 0 0 1 1 0 2 1 2 2 0 0 1 0 2 1 - --------------------------------------------------------------------- 2 2 2 2 - x )dx + (3x - 4x x + 7x - 5x x + x )dx 2 1 0 0 1 1 0 2 2 2 ------------------------------------------------------------------------ x } 2 --- o9 : List i10 : #oo o10 = 2