Question: How to use differetial operator two time in sucession ?

Dear All

I am trying to use differential operator two times in sucession but I am not getting desired differentiation. Please see content below:


 

with(PDEtools):

DepVars := [u(x, t), v(x, t), phi(x, t), psi(x, t)]; 1; declare(u(x, t), v(x, t), phi(x, t), psi(x, t))

[u(x, t), v(x, t), phi(x, t), psi(x, t)]

 

u(x, t)*`will now be displayed as`*u

 

v(x, t)*`will now be displayed as`*v

 

phi(x, t)*`will now be displayed as`*phi

 

psi(x, t)*`will now be displayed as`*psi

(1)

_local(I):

I := phi(x, t)*(diff(v(x, t), x)+b*(diff(u(x, t), x, x)))+psi(x, t)*(diff(u(x, t), x, x, x)+d*(diff(v(x, t), x, x)))

phi(x, t)*(diff(v(x, t), x)+b*(diff(diff(u(x, t), x), x)))+psi(x, t)*(diff(diff(diff(u(x, t), x), x), x)+d*(diff(diff(v(x, t), x), x)))

(2)

ToJet(I, DepVars)

phi*(b*u[x, x]+v[x])+psi*(d*v[x, x]+u[x, x, x])

(3)

T[1] := proc (f) options operator, arrow; diff(f, u[x]) end proc; 1; T[2] := proc (f) options operator, arrow; diff(f, u[x, x]) end proc; 1; T[3] := proc (f) options operator, arrow; diff(f, u[x, x, x]) end proc; 1; U[1] := proc (f) options operator, arrow; diff(f, v[x]) end proc; 1; U[2] := proc (f) options operator, arrow; diff(f, v[x, x]) end proc

proc (f) options operator, arrow; diff(f, u[x]) end proc

 

proc (f) options operator, arrow; diff(f, u[x, x]) end proc

 

proc (f) options operator, arrow; diff(f, u[x, x, x]) end proc

 

proc (f) options operator, arrow; diff(f, v[x]) end proc

 

proc (f) options operator, arrow; diff(f, v[x, x]) end proc

(4)

d := proc (f) options operator, arrow; diff(f, x)+u[x]*(diff(f, u))+u[x, x]*(diff(f, u[x]))+u[x, x, x]*(diff(f, u[x, x])) end proc

proc (f) options operator, arrow; diff(f, x)+u[x]*(diff(f, u))+u[x, x]*(diff(f, u[x]))+u[x, x, x]*(diff(f, u[x, x])) end proc

(5)

T[2](I)

0

(6)

Why this is giving zero result ?

If I change Ito jet notation then I get result non zero result like:

T[2](phi*(b*u[x, x]+v[x])+psi*(d*v[x, x]+u[x, x, x]))

phi*b

(7)

d(T[2](phi*(b*u[x, x]+v[x])+psi*(d*v[x, x]+u[x, x, x])))

0

(8)

I was expecting this to be "phi[x]*b, "but instead I am getting zero result.``


 

Download operator_for_differentiation.mw

Please Wait...