10

I am curious why this command returned no answers:

Solve[x^(1/3) == -1, x]

Gives this output:

(* {} *)

I was able to get around the problem with this:

Solve[Surd[x, 3] == -1, x]

Which returns:

(* {{x -> -1}} *)

But I still wonder why Solve[x^(1/3) == -1, x] does not return an answer.

xyz
  • 605
  • 4
  • 38
  • 117
David
  • 14,883
  • 4
  • 44
  • 117
  • Related, perhaps duplicate?: (3886), (21151) – Mr.Wizard Jan 18 '16 at 00:50
  • @Mr.Wizard Thanks for the links, but I don't think they are strictly related to my question. which is "Why doesn't Solve[x^(1/3) == -1, x] return any answers?" – David Jan 18 '16 at 01:28
  • Okay, fair enough. +1 awaiting an answer. – Mr.Wizard Jan 18 '16 at 01:30
  • Not even Reduce[x^(1/3) == -1] works, by the way. It just yields False –  Jan 18 '16 at 01:37
  • 1
    I don't think there is a solution. I believe that the image of the complex plane under $z\to z^{1/3}$ is ${r e^{i\theta}: r\geq 0, -\pi/3 < \theta \leq \pi/3}$, given the location of the branch cut. – Mark McClure Jan 18 '16 at 03:42
  • I agree with @MarkMcClure: the branch cut by default is along the negative real axis, and Solve looks for solutions among the complex numbers that form the image of $z^{1/3}$. The desired $-1$ is not in that set. – Jens Jan 18 '16 at 04:00
  • @MarkMcClure Awesome answer. Thanks for beautiful help. Do you think you can do a quick answer showing the domain, then the range? What would be your favorite command to show this? – David Jan 18 '16 at 04:32

1 Answers1

17

I think the negative result of Solve and Reduce is correct, because the fractional power in question requires choosing a branch of the inverse function to $z\mapsto z^3$. The default in Mathematica is to put this cut along the negative real axis. This comes from the fact that the Arg function has that same cut, and that fractional powers 1/n of x are obtained from Abs[x]^(1/n) Exp[I Arg[x]/n].

Here is a plot of real and imaginary parts for the image of the standard cube root:

plot[f_] := 
 Module[{fn = f /. z -> x + I y}, 
  Show[ContourPlot[Im[fn], {x, -3, 3}, {y, -3, 3}, 
    ContourShading -> Automatic, ExclusionsStyle -> Red], 
   ContourPlot[Re[fn], {x, -3, 3}, {y, -3, 3}, 
    ContourShading -> False, ContourStyle -> Blue, 
    ExclusionsStyle -> Red], FrameLabel -> {"Re(z)", "Im(z)"}, 
   Background -> Lighter[Orange], PlotRangePadding -> 0, 
   PlotLabel -> 
    Framed[Grid[{{Style["-", Bold, Blue], 
        "Real part"}, {Style["-", Bold, Gray], "Imaginary part"}}, 
      Alignment -> Left], FrameStyle -> None, Background -> White, 
     RoundingRadius -> 5], ImageSize -> 300]]

plot[z^(1/3)]

z root

The red line is the branch cut. The image does not contain the real number $-1$, as you can see by hovering over the contour lines for the real part.

This code is from another answer here.

Now we can also illustrate how a different branch can be chosen such that it contains the desired result:

arg[z_, σ_: - Pi] := 
  Arg[z Exp[-I (σ + Pi)]] + σ + Pi;

plot[Abs[z]^(1/3) Exp[I arg[z, 3 Pi/2]/3]]

branch

The explanation for the arg function is in the above link. This image has $-1$ in it, as you can verify by hovering over it. In fact, you get

With[{z = -1}, Abs[z]^(1/3) Exp[I arg[z, 3 Pi/2]/3]]

(* ==> -1 *)

The above discussion is for inverse functions defined in the complex plane, whereas the new function Surd is defined only on the real axis. Solve works with Surd because effectively the branch cut is now moved off the real axis, similar to what I showed in the last plot. This is what is meant in the help docs for Surd when it says "on the negative axis, Surd is different from the principal root returned by Power."

Jens
  • 97,245
  • 7
  • 213
  • 499