7
$\begingroup$

Bug introduced in 6.0 or earlier and fixed in 10.1


Consider this set of PDE $$\left( x^{2}+y^{2}\right) \dfrac {\partial u}{\partial x}+n x y\dfrac{\partial u}{\partial y}=0$$ have general solution $$u\left( x,y\right) =f\left( \dfrac {1}{n-1}\dfrac {\left( n-1\right) x^{2}-y^{2}}{y^{\dfrac{2}{n}}}\right)$$for $n\in Z$ and $n\geq 2$, where $f$ is an arbitrary function.

However, in Mathematica, only solution for $n=2$ can be given. For $n=3$ and $n=4$, Mathematica calculates for a long time (I didn't wait for the result).

The key point is when $n\geq 5$, Mathematica starts giving strange error messages and refuse to solve the PDE. For example,

DSolve[(x^2 + y^2) D[u[x, y], x] + 5 x y D[u[x, y], y] == 0, u[x, y], {x, y}]
(*{{c[x, y] -> C[1][DSolve`DSolvePDEDump`const$19959[1]]}}*)

I get

Function::slot: Slot[DSolveDSolvePDEDumpiPowerExpand[1]] (in DSolveDSolvePDEDumpiPowerExpand[DSolveDSolvePDEDumpiPowerExpand[DSolveDSolvePDEDumpiPowerExpand[-1024] DSolveDSolvePDEDumpiPowerExpand[DSolveDSolvePDEDumpiPowerExpand[<<1>>]^DSolveDSolvePDEDumpiPowerExpand[<<1>>]]]+<<1>>+<<3>>+DSolveDSolvePDEDumpiPowerExpand[<<33>>[Slot[<<33>>[<<1>>]]]^<<33>>[5]]]&) should contain a non-negative integer. >>

Root::npoly: (DSolveDSolvePDEDumpiPowerExpand[DSolveDSolvePDEDumpiPowerExpand[DSolveDSolvePDEDumpiPowerExpand[-1024] DSolveDSolvePDEDumpiPowerExpand[DSolveDSolvePDEDumpiPowerExpand[<<1>>]^DSolveDSolvePDEDumpiPowerExpand[<<1>>]]]+<<4>>+DSolveDSolvePDEDumpiPowerExpand[<<33>>[Slot[<<33>>[<<1>>]]]^<<33>>[5]]]&)[#1] is not a polynomial in #1. >>

I understand that Mathematica may not always be able to solve a PDE, but why am I getting those error messages? What do they mean?

$\endgroup$
9
  • $\begingroup$ I wonder what form has that f in the "general" solution ... Can you share some info about it? $\endgroup$ Commented Mar 13, 2015 at 12:40
  • $\begingroup$ @belisarius f is an arbitrary function. In other words, no matter what f you choose, $u \left( x,y\right)$ is a solution to the PDE. To simplify the problem, you can ignore the $f$ function and just use what is inside. $\endgroup$
    – vapor
    Commented Mar 13, 2015 at 12:43
  • $\begingroup$ @belisarius Linear and quasilinear first-order PDEs have such a solution. In DSolve[D[u[x, y], x] + D[u[x, y], y] == 1, u, {x, y}] and DSolve[D[u[x, y], x] + u[x, y] D[u[x, y], y] == 1, u, {x, y}] the f shows up as C[1]. $\endgroup$
    – Michael E2
    Commented Mar 13, 2015 at 13:52
  • 1
    $\begingroup$ @belisarius I just learned that a few months ago myself :) -- never had a course in PDEs. I think of it like this: An ordinary antiderivative is defined up to a function of no variables (i.e. a constant); an anti-partial-derivative is defined up to a function n-1 variables, where n is the number of variables in the fn./PDE being integrated. $\endgroup$
    – Michael E2
    Commented Mar 13, 2015 at 14:07
  • 1
    $\begingroup$ OK, it is confirmed as a bug by Wolfram technical support. $\endgroup$
    – vapor
    Commented Mar 17, 2015 at 16:11

1 Answer 1

3
$\begingroup$

This bug is fixed in Mathematica 10.1.0. (Mac OS X 10.10.3)

DSolve[(x^2 + y^2) D[u[x, y], x] + 5 x y D[u[x, y], y] == 0, u[x, y], {x, y}]// AbsoluteTiming

Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >>

{0.086166,{{u[x, y] -> C[1][Log[-((4 x^2 - y^2)^(5/8)/y^(1/4))]]}, 
{u[x, y] -> C[1][Log[-((I (4 x^2 - y^2)^(5/8))/y^(1/4))]]}, 
{u[x, y] -> C[1][Log[(I (4 x^2 - y^2)^(5/8))/y^(1/4)]]},
{u[x, y] -> C[1][Log[(4 x^2 - y^2)^(5/8)/y^(1/4)]]}, 
{u[x, y] -> C[1][Log[-(((-1)^(1/4) (4 x^2 - y^2)^(5/8))/y^(1/4))]]}, 
{u[x, y] -> C[1][Log[((-1)^(1/4) (4 x^2 - y^2)^(5/8))/y^(1/4)]]}, 
{u[x, y] -> C[1][Log[-(((-1)^(3/4) (4 x^2 - y^2)^(5/8))/y^(1/4))]]}, 
{u[x, y] -> C[1][Log[((-1)^(3/4) (4 x^2 - y^2)^(5/8))/y^(1/4)]]}}}

Similarly, it worked with all $n\geq5$, but for $n=4$ and $n=3$, the evaluation is still quite long.

$\endgroup$

Your Answer

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

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