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.

  • $\begingroup$ Related, perhaps duplicate?: (3886), (21151) $\endgroup$
    – Mr.Wizard
    Commented Jan 18, 2016 at 0:50
  • $\begingroup$ @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?" $\endgroup$
    – David
    Commented Jan 18, 2016 at 1:28
  • $\begingroup$ Okay, fair enough. +1 awaiting an answer. $\endgroup$
    – Mr.Wizard
    Commented Jan 18, 2016 at 1:30
  • $\begingroup$ Not even Reduce[x^(1/3) == -1] works, by the way. It just yields False $\endgroup$
    – user1722
    Commented Jan 18, 2016 at 1:37
  • 1
    $\begingroup$ 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. $\endgroup$ Commented Jan 18, 2016 at 3:42

1 Answer 1


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]]


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]]


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."

  • $\begingroup$ Absolutely tremendous answer. $\endgroup$
    – David
    Commented Jan 18, 2016 at 5:11

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.