#### D.15.4.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;

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