|
D.15.3.39 derivationMul
Procedure from library difform.lib (see difform_lib).
- Usage:
- phi*psi; phi,psi derivation
- Return:
- the componentwise product of phi and psi
- Remarks:
- The product is computed componentwise - this works since the
structure lists of derivations are sorted the same way.
- Note:
- one can also multiply polynomials and derivations
Example:
| LIB "difform.lib";
ring R = 0,(a,b,t),ls;
diffAlgebra();
==> // The differential algebra Omega_R was constructed and the differential \
forms dDa, dDb, dDt, da, db, dt are available.
list L_1; L_1[1] = list(da,dt,db); L_1[2] = list(2a,2t-b,2t);
list L_2; L_2[1] = list(dt,db,da); L_2[2] = list(-a,-b,-t);
/////////////////
// Derivations //
/////////////////
derivation phi_1 = L_1; phi_1;
==> Omega_R^1 --> R
==> da |--> 2a
==> db |--> 2t
==> dt |--> 2t-b
==>
==>
derivation phi_2 = L_2; phi_2;
==> Omega_R^1 --> R
==> da |--> -t
==> db |--> -b
==> dt |--> -a
==>
==>
///////////////////////////////////
// Multiplication of derivations //
///////////////////////////////////
phi_1*phi_2;
==> Omega_R^1 --> R
==> da |--> -2at
==> db |--> -2bt
==> dt |--> -2at+ab
==>
==>
phi_1*phi_2*phi_2;
==> Omega_R^1 --> R
==> da |--> 2at2
==> db |--> 2b2t
==> dt |--> 2a2t-a2b
==>
==>
phi_2*(3a2-bt);
==> Omega_R^1 --> R
==> da |--> bt2-3a2t
==> db |--> b2t-3a2b
==> dt |--> abt-3a3
==>
==>
kill Omega_R,da,db,dt,L_1,L_2,phi_1,phi_2;
|
|