# Singular          #### D.15.12.32 derivationFromList

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

Usage:
derivation phi = derivationFromList(L); L list

Return:
the derivation defined by the list L

Remarks:
The structure of L is checked and L is sorted,
then it is set as structure list of phi

Note:
the structure of L must follow the rules:
- L is a list of all degree-1 generators: all dx_i must occure once and no other differential forms are allowed. The order of the list is not important - L is the list of images of the dx_i: these must be polynomials Since the map is linear, it is enough to store the images of the dx_i

Example:
 ```LIB "difform.lib"; ring R = 11,(u,v,w,x),lp; diffAlgebra(); ==> // The differential algebra Omega_R was constructed and the differential \ forms du, dv, dw, dx are available. ///////////////////////////////////// // Construction of structure lists // ///////////////////////////////////// list L_1; L_1 = list(du,dv,dw,dx); L_1 = list(u,v,w,x); list L_2; L_2 = list(dx,dw,du,dv); L_2 = list(x2,w2,u2,v-wu); ///////////////////////////////// // Construction of derivations // ///////////////////////////////// derivation phi = derivationFromList(L_1); phi; ==> Omega_R^1 --> R ==> du |--> u ==> dv |--> v ==> dw |--> w ==> dx |--> x ==> ==> derivation psi = derivationFromList(L_2); psi; ==> Omega_R^1 --> R ==> du |--> u2 ==> dv |--> -uw+v ==> dw |--> w2 ==> dx |--> x2 ==> ==> kill Omega_R,du,dv,dw,dx,phi,psi,L_1,L_2; ``` 