Macaulay2 » Documentation
Packages » DiffAlg :: logarithmicForm
next | previous | forward | backward | up | index | toc

# logarithmicForm -- creates a logarithmic form

- Usage:
    `logarithmicForm(n,L,varName)`
- Inputs:
  - n, an integer, number of variables minus one
  - L, a list, list of degrees
  - varName, a string, name of the coefficients
- Optional inputs:
  - Projective => a Boolean value, default value false, whether to create a logarithmic form that descends to projective space
- Outputs:
  - an instance of the type DiffAlgForm, a generic logarithmic form

## Description

A logarithmic form of type (d_0,...,d_n) is a differential 1-form w that can be written as w=(prod f_i)sum df_i/f_i, where f_i is a polynomial of degree d_i. This routine creates such a logarithmic form using homogeneous polynomials. When using a list L of length two, the differential form is called rational.

In this example we generate a random logarithmic form in affine 3-dimensional space with degrees (1,1,2).

    i1 : random logarithmicForm(2,{1,1,2},"a")

               2          2      3       2                     2           2
    o1 = (- 30x x  + 20x x  + 10x  + 600x x  - 395x x x  - 220x x  - 100x x  +
               0 1      0 1      1       0 2       0 1 2       1 2       0 2
         ------------------------------------------------------------------------
               2       3           3      2          2      2
         405x x  - 100x )dx  + (30x  - 20x x  - 10x x  - 95x x  + 80x x x  +
             1 2       2   0       0      0 1      0 1      0 2      0 1 2
         ------------------------------------------------------------------------
            2          2        2      3              3       2           2
         30x x  + 10x x  - 60x x  + 15x )dx  + (- 600x  + 490x x  + 140x x  -
            1 2      0 2      1 2      2   1          0       0 1       0 1
         ------------------------------------------------------------------------
            3       2                    2           2        2
         30x  + 100x x  - 415x x x  + 60x x  + 100x x  - 15x x )dx
            1       0 2       0 1 2      1 2       0 2      1 2   2

    o1 : DiffAlgForm

In this example we generate a generic rational form in the projective plane of type (1,1).

    i2 : logarithmicForm(2,{1,1},"a",Projective => true)

    o2 = ((a0 a2 a1  - a1 a0 a2 )x  + (a0 a2 a1  - a1 a0 a2 )x )dx  + ((-
             1  0  1     0  1  1  1      1  0  2     0  1  2  2   0
         ------------------------------------------------------------------------
         a0 a2 a1  + a1 a0 a2 )x  + (a0 a1 a2  - a0 a1 a2 )x )dx  + ((- a0 a2 a1
           1  0  1     0  1  1  0      1  2  1     1  1  2  2   1         1  0  2
         ------------------------------------------------------------------------
         + a1 a0 a2 )x  + (- a0 a1 a2  + a0 a1 a2 )x )dx
             0  1  2  0        1  2  1     1  1  2  1   2

    o2 : DiffAlgForm

In the following example, we produce a logarithmic form that descends to projective space.

    i3 : l = random logarithmicForm(2,{1,1},"a",Projective => true)

    o3 = (9x  - 11x )dx  + (- 9x  - 19x )dx  + (11x  + 19x )dx
            1      2   0        0      2   1       0      1   2

    o3 : DiffAlgForm

    i4 : (radial 2)_l

    o4 = 0

    o4 : DiffAlgForm

## Ways to use logarithmicForm:

- `logarithmicForm(ZZ,List,String)`

## For the programmer

The object logarithmicForm is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/DiffAlg.m2:701:0.