# Singular

#### D.15.12.47 derivationLie

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

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

Return:
the image of df under the Lie-derivative L_phi

Remarks:
The map L_phi is the anticommutator of the contraction map i_phi and the differential d:
(i_phi o d) + (d o i_phi)

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. ///////////////////////////////// // Construction of derivations // ///////////////////////////////// list L; L[1] = list(dx,dy,dz); L[2] = list(x2,y2,z2); derivation phi = L; phi; ==> Omega_R^1 --> R ==> dx |--> x2 ==> dy |--> y2 ==> dz |--> z2 ==> ==> derivation phi_poly = x-y; /////////////////////////////////// // Lie-derivative of derivations // /////////////////////////////////// diff(phi,dx); ==> 2x*dx ==> diff(phi,dx*dy); ==> (2x+2y)*dx*dy ==> diff(phi,dx*dy*dz); ==> (2x+2y+2z)*dx*dy*dz ==> diff(phi,dx*dy + dy*dx); ==> 0 ==> diff(phi,dx*dy - dy*dx); ==> (4x+4y)*dx*dy ==> diff(phi_poly,dx); ==> dx+(-1)*dy ==> diff(phi_poly,dx-dy); ==> 0 ==> diff(phi_poly,dx+dy); ==> 2*dx+(-2)*dy ==> diff(phi_poly,dx*(x2-y4) + 1); ==> (3x2-4xy3-2xy+3y4)*dx+(-x2+y4)*dy ==> kill Omega_R,dx,dy,dz,L,phi,phi_poly; ```