#### D.15.4.29 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 applied 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 dDx, dDy, dDz, dDa, dDb, dDc, 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;

See also: difformUnivDer.

User manual for Singular version 4.4.1, 2025, generated by texi2html.