Top
Back: derivationNeq
Forward: derivationContractionGen
FastBack:
FastForward:
Up: difform_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.2.42 derivationEval

Procedure from library difform.lib (see difform_lib).

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

Return:
the polynomial phi(df), the derivation phi evaluated at df

Remarks:
- By linearity it is enough to compute the sum of all differential forms: (coefficient of dx_i)*(image of dx_i)
- The coefficient list of df is computed via difformCoef - To avoid searching generators in lists, the coefficient list of df and the structure list of phi are sorted the same way

Note:
- the differential form 0 is allowed as input
- an error will occur if the given differential form is not of degree 1 or -1

Example:
 
LIB "difform.lib";
ring R = 13,(x,y,z,t),dp;
diffAlgebra();
==> // The differential algebra Omega_R was constructed and the differential \
   forms dDx, dDy, dDz, dDt, dx, dy, dz, dt are available.
/////////////////////////////////
// Construction of derivations //
/////////////////////////////////
list L_1; L_1[1] = list(dx,dt,dz,dy); L_1[2] = list(x,y,z,t);
derivation phi_1 = L_1; phi_1;
==>  Omega_R^1 --> R
==>        dx |--> x
==>        dy |--> t
==>        dz |--> z
==>        dt |--> y
==> 
==> 
list L_2; L_2[1] = list(dx,dy,dz,dt); L_2[2] = list(y2x-zt,zt + y, t3-x, y4-y5);
derivation phi_2 = L_2; phi_2;
==>  Omega_R^1 --> R
==>        dx |--> xy2-zt
==>        dy |--> zt+y
==>        dz |--> t3-x
==>        dt |--> -y5+y4
==> 
==> 
list L_3; L_3[1] = list(dx,dy,dz,dt); L_3[2] = list(0,0,0,0);
derivation phi_3 = L_3; phi_3;
==>  Omega_R^1 --> R
==>        dx |--> 0
==>        dy |--> 0
==>        dz |--> 0
==>        dt |--> 0
==> 
==> 
///////////////////////////////
// Evaluation of derivations //
///////////////////////////////
phi_1(0);
==> 0
phi_1(dx+dy+dz+dt);
==>    ? Cannot apply derivation to non-homogeneous element!
==>    ? leaving difform.lib::derivationEval (0)
phi_1(3*dx - dt);
==>    ? Cannot apply derivation to non-homogeneous element!
==>    ? leaving difform.lib::derivationEval (0)
phi_2(dt);
==> -y5+y4
phi_2(dx+dt);
==>    ? Cannot apply derivation to non-homogeneous element!
==>    ? leaving difform.lib::derivationEval (0)
phi_2(dx - dy + (x3-y2)*dz + 12*dt);
==>    ? Cannot apply derivation to non-homogeneous element!
==>    ? leaving difform.lib::derivationEval (0)
phi_3(dx);
==> 0
phi_3(dy);
==> 0
phi_3(dx - 24*(dx + dz) - x4*dy);
==> 0
kill Omega_R,dx,dy,dz,dt,L_1,L_2,L_3,phi_1,phi_2,phi_3;
See also: difformCoef; difformListSort.


Top Back: derivationNeq Forward: derivationContractionGen FastBack: FastForward: Up: difform_lib Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 4.3.1, 2022, generated by texi2html.