# logarithmicForm -- creates a logarithmic form

## Synopsis

• Usage:
logarithmicForm(n,L,varName)
• Inputs:
• n, an integer, number of variables minus one
• L, a list, list of degrees
• varName, , name of the coefficients
• Optional inputs:
• Projective => , 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 .