9
$\begingroup$

How is that DSolve has no trouble solving this:

DSolve[{
D[G[x1,x2,x3],x1]==0,
D[G[x1,x2,x3],x2]==0,
D[G[x1,x2,x3],x3]==0
},G[x1,x2,x3],{x1,x2,x3}]

but it fails to evaluate when there is a fourth variable:

DSolve[{
D[G[x1,x2,x3,x4],x1]==0,
D[G[x1,x2,x3,x4],x2]==0,
D[G[x1,x2,x3,x4],x3]==0,
D[G[x1,x2,x3,x4],x4]==0
},G[x1,x2,x3,x4],{x1,x2,x3,x4}]

I am using Mathematica 11.3.0.0.

$\endgroup$
1
  • 4
    $\begingroup$ Same problem with Version 12.0. DSolve[{D[G[x1, x2, x3, x4], x1] == 0, D[G[x1, x2, x3, x4], x2] == 0, D[G[x1, x2, x3, x4], x3] == 0}, G[x1, x2, x3, x4], {x1, x2, x3, x4}] returns a solution. So, the problem is with the number of equations, not of variables. DSolve cannot be expected to solver every system of PDEs, but this seems rather elementary. Also, DSolve[{D[G[x1, x2, x3, x4, x5], x1] == 0, D[G[x1, x2, x3, x4, x5], x2] == 0, D[G[x1, x2, x3, x4, x5], x3] == 0, D[G[x1, x2, x3, x4, x5], x4] == 0}, G[x1, x2, x3, x4, x5], {x1, x2, x3, x4, x5}] fails. A bug, perhaps? $\endgroup$ – bbgodfrey Jul 24 '19 at 3:54
3
$\begingroup$

In V12.2, DSolve now handles the 4-variable case.

DSolve[{D[G[x1, x2, x3, x4], x1] == 0, D[G[x1, x2, x3, x4], x2] == 0, 
  D[G[x1, x2, x3, x4], x3] == 0, D[G[x1, x2, x3, x4], x4] == 0}, 
 G[x1, x2, x3, x4], {x1, x2, x3, x4}]

(*  {{G[x1, x2, x3, x4] -> C[1]}}  *)

It also handles a hundred, a thousand, or more:

nvars = 100;
vars = ToExpression@Array["x" <> ToString[#] &, nvars];
DSolve[Map[D[G @@ vars, #] == 0 &, vars], G @@ vars, vars]

For nvars = 1000, I raised $RecursionLimit = 10000 and $IterationLimit = 100000 and waited over 400 sec.

$\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.