I'm trying to solve the following partial differential equation: $$ f(x,y) = \partial_x^2f(x,y)-\partial_y^2f(x,y) $$ for which one obvious solution would be: $$ f(x,y)=e^{2x+\sqrt{3}y} $$ An even more general solution would be: $$ f(x,y)=c_1e^{\cosh(\alpha)\,x+\sinh(\alpha)\,y}+c_2e^{-(\cosh(\alpha)\,x+\sinh(\alpha)\,y)} $$ for arbitrary $\alpha,\,c_1$ and $c_2$.

When trying to let Mathematica solve this equation via

DSolve[f[x, y] == D[f[x, y], {x, 2}] - D[f[x, y], {y, 2}], f[x, y], {x, y}]

it just returns the input. Did I set up DSolve the wrong way?

  • $\begingroup$ Every soft has its limitations. BTW, where is the PDE under consideration used? $\endgroup$ – user64494 Oct 21 '20 at 17:18

Unfortunately, DSolve is unable to solve many simple PDEs. Here, it is successful only with substantial human assistance. Assume f[x, y] -> fx[x] fy[y]. Then,

sx = DSolveValue[1 == fx''[x]/fx[x] - fy''[y]/fy[y], fx[x], x] /. {C[1] -> c1x, C[2] -> c2x}
(* c1x E^(-((x Sqrt[fy[y] + (fy''[y]])/Sqrt[fy[y]])) + 
   c2x E^((x Sqrt[fy[y] + (fy''[y]])/Sqrt[fy[y]]) *)

The quantity

sx[[2, 2, 2]]/x
(* Sqrt[fy[y] + (fy''[y]]/Sqrt[fy[y]] *)

must be a constant, so

sy = DSolveValue[%^2 == c^2, fy[y], y] /. {C[1] -> c1y, C[2] -> c2y}
(* c2y E^(-Sqrt[-1 + c^2] y) + c1y E^(Sqrt[-1 + c^2] y) *)

The solution of the PDE then is

sxy = sx sy /. sx[[2, 2, 2]] -> c x
(* (c1x E^(-c x) + c2x E^(c x)) (c2y E^(-Sqrt[-1 + c^2] y) + c1y E^(Sqrt[-1 + c^2] y)) *)

where the five constants may be complex numbers. The two solutions given in the question are special cases. The accuracy of this result can be verified by

Simplify[f[x, y] == D[f[x, y], {x, 2}] - D[f[x, y], {y, 2}] /. 
    f -> Function[{x, y}, Evaluate[sxy]]]
(* True *)

Probably, this simple PDE could be solved by hand more rapidly than with Mathematica.


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.