next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
DiffAlg :: genKer

genKer -- basis of the kernel of a linear expression

Synopsis

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

See also

Ways to use genKer :