#### D.15.4.44 derivationContraction

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

Usage:
  derivationContraction(phi,df); phi derivation, df difform

Return:
  the image of the contraction map i_phi applied to df

Remarks:
  Since the contraction map is linear, it is only applied to the generators: So the image of df under i_phi is a sum, where the coefficients are multiplied by the image of the generators.

Note:
  over the basering, the contraction map is the 0-map

Example:

    LIB "difform.lib";
    ring R = 0,(x,y,z),lp;
    diffAlgebra();
    ==> // The differential algebra Omega_R was constructed and the differential \
       forms dDx, dDy, dDz, dx, dy, dz are available.
    /////////////////////////////////
    // Construction of derivations //
    /////////////////////////////////
    list L_1; L_1[1] = list(dx,dy,dz); L_1[2] = list(x,y,z);
    derivation phi_1 = L_1; phi_1;
    ==>  Omega_R^1 --> R
    ==>        dx |--> x
    ==>        dy |--> y
    ==>        dz |--> z
    ==>
    ==>
    list L_2; L_2[1] = list(dx,dy,dz); L_2[2] = list(y-x,z-y,x-z);
    derivation phi_2 = L_2; phi_2;
    ==>  Omega_R^1 --> R
    ==>        dx |--> -x+y
    ==>        dy |--> -y+z
    ==>        dz |--> x-z
    ==>
    ==>
    /////////////////////////////////
    // Contractions of derivations //
    /////////////////////////////////
    derivationContraction(phi_1,dx+dy+dz);
    ==> x+y+z
    ==>
    derivationContraction(phi_1,x2*y4-z);
    ==> 0
    ==>
    derivationContraction(phi_1,x2*dx*dy + dx*dy*dz);
    ==> (-x2y)*dx+(-x3)*dy+z*dx*dy+y*dx*dz+x*dy*dz
    ==>
    derivationContraction(phi_2,dx+dy+dz);
    ==> 0
    ==>
    derivationContraction(phi_2,dx*dy*dz - dx*dy + dx*dz);
    ==> (-x-y+2z)*dx+(-x+y)*dy+(x-y)*dz+(x-z)*dx*dy+(-y+z)*dx*dz+(-x+y)*dy*dz
    ==>
    kill Omega_R,dx,dy,dz,L_1,L_2,phi_1,phi_2;

See also: derivationContraction; derivationLie.

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