# Singular

#### D.15.12.10 difformCoef

Procedure from library `difform.lib` (see difform_lib).

Usage:
difformCoef(df); df difform

Return:
list of lists of differential forms and polynomials:
- the first entry is a generator of the differential algebra which appears in df - the second entry is the corresponding coefficient

Remarks:
Via the procedure coef, the coefficients are found - therefore the ring has to be changed to the differential algebra. After that, the coefficients have to be mapped back to the original ring.

Note:
the returned list can be sorted with the procedure difformListSort and the optional string 'Llist'

Example:
 ```LIB "difform.lib"; ring R = 0,(x,y,z),lp; diffAlgebra(); ==> // The differential algebra Omega_R was constructed and the differential \ forms dx, dy, dz are available. difform df = 3*x25*dx - y*dx*dy + 12*dx*dy*dz - dz*dy + 3 + 12*x*dx + 24*(y4-y5) + dx*dy*x3*dz + dz - dy*dx + dz*x2 + z5*y*dy; /////////////////////////////// // Unsorted Coefficient List // /////////////////////////////// list L_1 = difformCoef(df); L_1; ==> [1]: ==> [1]: ==> dx*dy*dz ==> ==> [2]: ==> x3+12 ==> [2]: ==> [1]: ==> dx*dy ==> ==> [2]: ==> -y+1 ==> [3]: ==> [1]: ==> dy*dz ==> ==> [2]: ==> 1 ==> [4]: ==> [1]: ==> dx ==> ==> [2]: ==> 3x25+12x ==> [5]: ==> [1]: ==> dy ==> ==> [2]: ==> yz5 ==> [6]: ==> [1]: ==> dz ==> ==> [2]: ==> x2+1 ==> [7]: ==> [1]: ==> 1 ==> ==> [2]: ==> -24y5+24y4+3 ///////////////////////////// // Sorted Coefficient List // ///////////////////////////// L_1 = difformListSort(L_1,"Llist","gen","ds"); L_1; ==> [1]: ==> [1]: ==> dx*dy*dz ==> ==> [2]: ==> x3+12 ==> [2]: ==> [1]: ==> dy*dz ==> ==> [2]: ==> 1 ==> [3]: ==> [1]: ==> dx*dy ==> ==> [2]: ==> -y+1 ==> [4]: ==> [1]: ==> dz ==> ==> [2]: ==> x2+1 ==> [5]: ==> [1]: ==> dy ==> ==> [2]: ==> yz5 ==> [6]: ==> [1]: ==> dx ==> ==> [2]: ==> 3x25+12x ==> [7]: ==> [1]: ==> 1 ==> ==> [2]: ==> -24y5+24y4+3 kill Omega_R,df,dx,dy,dz,L_1; ```