# Singular          #### D.15.12.31 difformDiff

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

Usage:
difformDiff(df); df difform

Return:
the image of df under the differential

Remark:
To compute the image, the universal derivation is applied to each coefficient and multiplied with the corresponding generator

Note:
- the differential is a map Omega_R^(p) -> Omega_R^(p+1) and this procedure applies the differential to all homogeneous parts of df
- this procedure can also be apllied to polynomials - in this case it is just the universal derivation

Example:
 ```LIB "difform.lib"; ring R = 0,(x,y,z,a,b,c),lp; diffAlgebra(); ==> // The differential algebra Omega_R was constructed and the differential \ forms dx, dy, dz, da, db, dc are available. //////////////////////////////////////// // Construction of differential forms // //////////////////////////////////////// difform df_1 = y*dx + z*dy + x*dz + a*db + b*dc + c*da; difform df_2 = -5*c4*dc*dz*dy + 3*dx*dz - 13*a4*da*db + 12*a4*da*db + x8*dx*dy + 12 + dy*da + dz*dx - (y4-y5)*x12*dx*db*dz - dx - dy + db + x2*db*dy; poly f = 3x2y2 - z3*c; /////////////////////////////////////// // Differential applied to the forms // /////////////////////////////////////// difformDiff(df_1); ==> (-1)*dx*dy+dx*dz+(-1)*dy*dz+da*db+(-1)*da*dc+db*dc ==> difformDiff(df_2); ==> (-2x)*dx*dy*db+(5x12y4-4x12y3)*dx*dy*dz*db ==> difformDiff(f); ==> 6xy2*dx+6x2y*dy+(-3z2c)*dz+(-z3)*dc ==> // The composition of differentials is the zero-map: difformDiff(difformDiff(df_1)); ==> 0 ==> kill Omega_R,df_1,df_2,f,dx,dy,dz,da,db,dc; ``` 