TransWikia.com

DSolve does not return solution to simple system of second order PDEs

Mathematica Asked on April 8, 2021

I’m trying to solve a simple system of second order PDEs with Mathematica 11.1.
Here is the system:

DSolve[{
  D[f[x, y, z], x, y] == 0,
  D[f[x, y, z], x, z] == 0,
  D[f[x, y, z], y, z] == 0
  }, f[x, y, z], {x, y, z}]

Mathematica returns it unevaluated…
I expect the solution to be

f[x,y,z] -> C[1][x] + C[2][y] + C[3][z]

Any idea what I can try?

Thanks!

Update:

We can differentiate a third time:

DSolve[{D[f[x, y, z], x, y, z] == 0}, f[x, y, z], {x, y, z}]

and then Mathematica gives the following answer:

f[x, y, z] -> C[1][y, z] + C[2][x, z] + C[3][x, y]

Maybe this can be somehow combined with the answer by bbgodfrey to give the correct answer for the system above?

2 Answers

The comment by user64494 suggested to me the following

sxy = Flatten@DSolve[{D[f[x, y, z], x, y] == 0}, f[x, y, z], {x, y, z}] /. 
    C[n_][z][v_] -> d[n][v, z];
sxz = Flatten@DSolve[{D[d[1][x, z], x, z] == 0}, d[1][x, z], {x, z}] /. C -> c;
syz = Flatten@DSolve[{D[d[2][y, z], y, z] == 0}, d[2][y, z], {y, z}] /. C -> b;
sxy /. sxz /. syz
(* {f[x, y, z] -> b[1][y] + b[2][z] + c[1][x] + c[2][z]} *)

Not at all satisfying but perhaps useful in some circumstances.

Correct answer by bbgodfrey on April 8, 2021

First we solve the system:

s = Flatten @@ 
   DSolve[{D[f[x, y, z], x, y, z] == 0}, f[x, y, z], {x, y, z}] /. 
  C[n_][a_, b_] -> d[n][a, b]

getting:

{f[x, y, z] -> d[1][y, z] + d[2][x, z] + d[3][x, y]}

Then we solve the original system equation for equation:

sxyz = Join[
  Flatten @@ 
    DSolve[D[d[1][y, z] + d[2][x, z] + d[3][x, y], x, y] == 0, 
     d[3][x, y], {x, y}] /. C[n_][a_] -> f1[n][a],
  Flatten @@ 
    DSolve[D[d[1][y, z] + d[2][x, z] + d[3][x, y], x, z] == 0, 
     d[2][x, z], {x, z}] /. C[n_][a_] -> f2[n][a],
  Flatten @@ 
    DSolve[D[d[1][y, z] + d[2][x, z] + d[3][x, y], y, z] == 0, 
     d[1][y, z], {y, z}] /. C[n_][a_] -> f3[n][a]
  ]

getting:

{d[3][x, y] -> f1[1][x] + f1[2][y], 
 d[2][x, z] -> f2[1][x] + f2[2][z],
 d[1][y, z] -> f3[1][y] + f3[2][z]}

The final solution comes then from:

(s /. sxyz) //. f_[n_][a_] + g_[m_][a_] -> F[n][m][a]

as:

{f[x, y, z] -> F[1][1][x] + F[2][1][y] + F[2][2][z]}

Answered by C. B. on April 8, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP