genKer -- basis of the kernel of a linear expression

Synopsis

• Usage:
gerKer(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, basis of the kernel of the linear expression

Description

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

In the case of a non-homogeneous linear expression, this routine returns a pair having in the first coordinate a basis of the kernel of the associated homogeneous linear expression and in the second coordinate a particular solution.

In the first example, we compute a basis of projective differential 1-forms in projective 3-space with polynomial coefficients of degree 1. Then, we define a random rational differential form of type (1,1) and compute its tangent directions using the generic projective form defined before.

In the second example, we compute a particular solution of a non-homogeneous linear expression.

 i1 : h = newForm(4,1,1,"a") o1 = (a x + a x + a x + a x + a x )dx + (a x + a x + a x + a x 0 0 5 1 10 2 15 3 20 4 0 1 0 6 1 11 2 16 3 ------------------------------------------------------------------------ + a x )dx + (a x + a x + a x + a x + a x )dx + (a x + a x + 21 4 1 2 0 7 1 12 2 17 3 22 4 2 3 0 8 1 ------------------------------------------------------------------------ a x + a x + a x )dx + (a x + a x + a x + a x + a x )dx 13 2 18 3 23 4 3 4 0 9 1 14 2 19 3 24 4 4 o1 : DiffAlgForm i2 : R = radial 4 o2 = x ax + x ax + x ax + x ax + x ax 0 0 1 1 2 2 3 3 4 4 o2 : DiffAlgField i3 : T = genKer(R _ h,h) o3 = {x dx - x dx , x dx - x dx , x dx - x dx , x dx - x dx , x dx - 1 0 0 1 2 0 0 2 2 1 1 2 3 0 0 3 3 1 ------------------------------------------------------------------------ x dx , x dx - x dx , x dx - x dx , x dx - x dx , x dx - x dx , x dx 1 3 3 2 2 3 4 0 0 4 4 1 1 4 4 2 2 4 4 3 ------------------------------------------------------------------------ - x dx } 3 4 o3 : List i4 : H = linearComb(T,"a") o4 = (a x + a x + a x + a x )dx + (- a x + a x + a x + a x )dx + (- 0 1 1 2 3 3 6 4 0 0 0 2 2 4 3 7 4 1 ------------------------------------------------------------------------ a x - a x + a x + a x )dx + (- a x - a x - a x + a x )dx + (- 1 0 2 1 5 3 8 4 2 3 0 4 1 5 2 9 4 3 ------------------------------------------------------------------------ a x - a x - a x - a x )dx 6 0 7 1 8 2 9 3 4 o4 : DiffAlgForm i5 : w = random logarithmicForm(4,{1,1},"a", Projective => true) o5 = (49x + 77x + 14x - 28x )dx + (- 49x + 140x + 70x - 140x )dx + (- 1 2 3 4 0 0 2 3 4 1 ------------------------------------------------------------------------ 77x - 140x + 70x - 140x )dx + (- 14x - 70x - 70x )dx + (28x + 0 1 3 4 2 0 1 2 3 0 ------------------------------------------------------------------------ 140x + 140x )dx 1 2 4 o5 : DiffAlgForm i6 : genKer(w ^ (diff H) + (diff w) ^ H,H) 1 1 1 o6 = {(x + x )dx - x dx - x dx , - -x dx + (-x + x )dx - x dx , -x dx 1 2 0 0 1 0 2 5 1 0 5 0 2 1 1 2 5 3 0 ------------------------------------------------------------------------ 1 1 + x dx + x dx + (- -x - x - x )dx , (x - -x + x )dx - x dx + 3 1 3 2 5 0 1 2 3 1 2 3 4 0 0 1 ------------------------------------------------------------------------ 1 11 11 1 1 7 -x dx - x dx , - --x dx + (--x - -x + x )dx + -x dx - x dx , (--x 2 0 3 0 4 20 1 0 20 0 2 3 4 1 2 1 3 1 4 20 1 ------------------------------------------------------------------------ 1 7 1 1 1 + --x )dx + (- --x + -x )dx + x dx + (- --x - -x )dx - x dx , - 10 3 0 20 0 2 3 1 4 2 10 0 2 1 3 2 4 ------------------------------------------------------------------------ 11 11 --x dx - x dx + (--x + x + x )dx - x dx } 20 3 0 3 1 20 0 1 4 3 3 4 o6 : List
 i7 : w1 = random newForm(4,1,1,"a"); i8 : w2 = random newForm(4,1,1,"a"); i9 : w3 = w1 ^ w2; i10 : h = newForm(4,1,1,"a"); i11 : last genKer(w1 ^ h - w3,h) 7 9 5 15 13 3 5 o11 = (- -x - x - -x + x + -x )dx + (--x - 5x - --x - -x + -x )dx + 4 0 1 4 2 3 4 4 0 2 0 1 2 2 4 3 2 4 1 ----------------------------------------------------------------------- 25 7 5 3 11 1 3 (- --x - -x - -x + -x - --x )dx + (-x - 4x - -x - 4x - 2x )dx 4 0 2 1 4 2 2 3 4 4 2 4 0 1 4 2 3 4 3 ----------------------------------------------------------------------- 11 3 + (--x - -x - 2x + 2x )dx 4 0 2 1 2 3 4 o11 : DiffAlgForm