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
|