11
$\begingroup$

Maple can separate and eliminate a function in a system of PDE equations, with casesplit in the PDEtools package. How to do that in Mathematica? Starting PDEs are:

$$ -A\frac{\partial ^2Q(x,y)}{\partial x^2}+B\frac{\partial ^3P(x,y)}{\partial x^3}+C Q(x,y)-C\frac{\partial P(x,y)}{\partial x}+D\frac{\partial ^2Q(x,y)}{\partial y^2}=0 $$

$$ -B\frac{\partial ^3Q(x,y)}{\partial x^3}+E\frac{\partial ^4P(x,y)}{\partial x^4}-C \frac{\partial Q(x,y)}{\partial x}+C\frac{\partial ^2P(x,y)}{\partial x^2}-F\frac{\partial ^2P(x,y)}{\partial y^2}=0 $$

Maple code

des:= {-A*diff(Q(x,y),x,x)+B*diff(P(x,y),x,x,x)+C*Q(x,y) 
 -C*diff(P(x,y),x)+D*diff(Q(x,y),y,y)=0, 
 -B*diff(Q(x,y),x,x,x)+E*diff(P(x,y),x,x,x,x)-C*diff(Q(x,y),x) +
  C*diff(P(x,y),x,x)-F*diff(P(x,y),y,y)=0};

PDEtools:-casesplit(des,[Q,P]);

Maple output is

$$\left( -{B}^{2}+EA \right) {\frac {\partial ^{6}}{\partial {x}^{6}}}P \left( x,y \right) + \left( - D C-AF \right) {\frac { \partial ^{4}}{\partial {y}^{2}\partial {x}^{2}}}P \left( x,y \right) + \left( AC-CE \right) {\frac {\partial ^{4}}{\partial {x}^{4}}}P \left( x,y \right) + D F{\frac {\partial ^{4}}{ \partial {y}^{4}}}P \left( x,y \right) - D E { \frac {\partial ^{6}}{\partial {y}^{2}\partial {x}^{4}}}P \left( x,y \right) +CF{\frac {\partial ^{2}}{\partial {y}^{2}}}P \left( x,y \right) = 0 $$

$\endgroup$
3
  • $\begingroup$ @ Mr. Wizard Thank you for attention. $\endgroup$ Jun 5, 2012 at 9:08
  • $\begingroup$ An even easier question would be: how can one eliminate a function in a set of ordinary differential equations using Mathematica. $\endgroup$
    – Fabian
    Jun 6, 2012 at 17:03
  • $\begingroup$ @ Fabian, thank you for suggestion, if you have idea, write it. $\endgroup$ Jun 9, 2012 at 8:05

1 Answer 1

4
$\begingroup$

Your equations are:

q = qq[x, y]; p = pp[x, y];

r1 = -a D[q, {x, 2}] +b D[p, {x, 3}] +c D[q, {x, 0}] -c D[p, {x, 1}] + d D[q, {y , 2}] == 0;

s1 = -b D[q, {x, 3}] +e D[p, {x, 4}] -c D[q, {x, 1}] +c D[p, {x, 2}] - f D[p, {y , 2}] == 0;

then declare:

rule = Flatten[{#[x, y] -> #, Derivative[n_, m_][#][x_, y_] -> # x^n y^m} & /@ {pp, qq}];
invRule = (x_ -> y_) :> y Derivative[Sequence @@ x][pp];

Transform

t = Total[CoefficientRules[Eliminate[{r1, s1} /. rule, qq] /. (x_ == y_) -> (x - y), {x, y}] 
      /. pp -> 1 /. invRule] == 0;

t // StandardForm // TeXForm

$c f \text{pp}^{(0,2)}+d f \text{pp}^{(0,4)}+(-c d-a f) \text{pp}^{(2,2)}+(a c-c e) \text{pp}^{(4,0)}-d e \text{pp}^{(4,2)}+\left(-b^2+a e\right) \text{pp}^{(6,0)}=0$

$\endgroup$
2
  • $\begingroup$ It is ok, but how to do that if I have three variables, for example, I need to eliminate to variables $\endgroup$ Dec 7, 2012 at 0:21
  • $\begingroup$ Code is working when I am using for eliminating from 3 eqs, but how when I have 4. i used your steps: link mathematica.stackexchange.com/questions/15949/… $\endgroup$ Dec 20, 2012 at 23:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.