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

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

Synopsis

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

See also

Ways to use genIm :