0
$\begingroup$

I'd like to implement a generic rule for expanding differential forms by the product rule. For instance, I'd like to transform the following PDE:

$\phi \frac{\partial \phi}{\partial t} = \phi \nabla^2 \phi \;\;(Eqn 1)\;\;$ to $\;\; \frac{\partial \phi^2}{\partial t} = 2 \nabla \phi \cdot \nabla \phi + \nabla^2 \phi \;\;(Eqn 2)$

The above transformation requires two rules, which I've implemented like this:

PDE=D[\[Phi][x,t],t]==D[\[Phi][x,t],{x,2}];
EPDE=MultiplySides[PDE,\[Phi][x,t]]//First//First//First

$\phi (x,t) \phi ^{(0,1)}(x,t)=\phi (x,t) \phi ^{(2,0)}(x,t)$

prodrule2=f_[x,t] Derivative[0,1][f_][x,t]:>Inactive[Derivative][0,1][f[x,t] f[x,t]]/2;
prodrule3=f_[x,t] Derivative[2,0][f_][x,t]:>Inactive[Derivative][2,0][f[x,t] f[x,t]]/2-Inactive[Derivative][1,0][f[x,t]]^2;

Activate[EPDE/.prodrule2/.prodrule3]

$\frac{1}{2} \left(\phi (x,t)^2\right)^{(0,1)}=\frac{1}{2} \left(\phi (x,t)^2\right)^{(2,0)}-\left(\phi (x,t)^{(1,0)}\right)^2$

However, I'm hoping there is a more generic way to do this for arbitrary functions and functional dependencies. I discovered that product rule relations can be expressed generically as

productrule = D[f[x, t]*g[x, t], {x, n1}, {t, n2}]
Activate[productrule /. n1 -> 1 /. n2 -> 0]

$\frac{\partial ^{\text{n2}}\left(\underset{K[1]=0}{\overset{\text{n1}}{\sum }}\left(\begin{array}{c}\text{n1} \\K[1] \\\end{array}\right) f^{(K[1],0)}(x,t) \frac{\partial ^{\text{n1}-K[1]}g(x,t)}{\partial x^{\text{n1}-K[1]}}\right)}{\partial t^{\text{n2}}}$

$f^{(1,0)}(x,t) g(x,t)+f(x,t) g^{(1,0)}(x,t)$

My question: Is there a way to transform equations to the expanded form as shown in (Eqn 2) with a generic rule using the above generic product rule expressions?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.