2
$\begingroup$

Does any one know a trick to make DSolve find solution to this coupled linear first order PDE system: (these are Cauchy-Riemann PDE equations, but with one of them having one of the dependent variables as well).

ClearAll[F1,F2,x,y];

ode1  = D[F1[x,y],y]-D[F2[x,y],x] == 0
ode2  = D[F1[x,y],x]+D[F2[x,y],y] == y  (*y here causes the problem*)

DSolve[{ode1,ode2},{F1[x,y],F2[x,y]},{x,y}]

Mathematica graphics

This can be solved in Maple:

restart;
#infolevel[pdsolve]:=3;
eq1:= diff(F1(x,y),y)-diff(F2(x,y),x) = 0;
eq2:= diff(F1(x,y),x)+diff(F2(x,y),y) = y;
pdsolve({eq1,eq2},{F1(x,y),F2(x,y)});

Solution it gives is

F1(x, y) = _F1(y-I*x)+_F2(y+I*x)
F2(x, y) = I*_F1(y-I*x)-I*_F2(y+I*x)+(1/2)*y^2+_C1

Screen shot:

Mathematica graphics

If the RHS of the second equation is not y but a constant or some other parameter, then Mathematica can now solve it:

ClearAll[F1,F2,x,y,m];
ode1  =  D[F1[x,y],y]-D[F2[x,y],x]  == 0
ode2  = D[F1[x,y],x]+D[F2[x,y],y]   == m
DSolve[{ode1,ode2},{F1[x,y],F2[x,y]},{x,y}]

Mathematica graphics

Is this a known limitation of DSolve or is there a trick or some other method to get the same solution as in Maple?

Using version 11.2 on windows 7.

$\endgroup$
  • $\begingroup$ Would you view Simplify[Unevaluated[D[F1[x, y], x] + D[F2[x, y], y] == y] /. F2[x, y] -> G2[x, y] + y^2/2] as cheating? $\endgroup$ – bbgodfrey Jan 11 '18 at 4:39
  • $\begingroup$ @bbgodfrey thanks, but I am not sure how to use the above trick. I trired ClearAll[F1,F2,G2,x,y,m]; ode1=D[F1[x,y],y]-D[F2[x,y],x]==0; ode2=Simplify[Unevaluated[D[F1[x,y],x]+D[F2[x,y],y]==y]/.F2[x,y]->G2[x,y]+y^2/2]; DSolve[{ode1,ode2},{F1[x,y],G2[x,y]},{x,y}] but it still does not solve it. $\endgroup$ – Nasser Jan 11 '18 at 4:51
  • $\begingroup$ Below is what I had in mind. $\endgroup$ – bbgodfrey Jan 11 '18 at 4:56
2
$\begingroup$

The following substitution eliminates the right side of ode2, and DSolve then can solve the resulting equations.

ode3 = Unevaluated[D[F1[x, y], y] - D[F2[x, y], x] == 0] /. F2[x, y] -> G2[x, y] + y^2/2
(* D[F1[x, y], y] - D[G2[x, y], x] == 0 *)

ode4 = Simplify[Unevaluated[D[F1[x, y], x] + D[F2[x, y], y] == y] /. 
    F2[x, y] -> G2[x, y] + y^2/2]
(* D[F1[x, y], x] + D[G2[x, y], y] == 0 *)

DSolve[{ode3, ode4}, {F1[x, y], G2[x, y]}, {x, y}] // Flatten
(* {F1[x, y] -> I C[1][I x + y] - I C[2][-I x + y], 
    G2[x, y] -> C[1][I x + y] + C[2][-I x + y]} *)
$\endgroup$

Your Answer

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

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