10
$\begingroup$

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.

$\endgroup$
  • $\begingroup$ Related, perhaps duplicate?: (3886), (21151) $\endgroup$ – Mr.Wizard Jan 18 '16 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 Jan 18 '16 at 1:28
  • $\begingroup$ Okay, fair enough. +1 awaiting an answer. $\endgroup$ – Mr.Wizard Jan 18 '16 at 1:30
  • $\begingroup$ Not even Reduce[x^(1/3) == -1] works, by the way. It just yields False $\endgroup$ – barrycarter Jan 18 '16 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$ – Mark McClure Jan 18 '16 at 3:42
17
$\begingroup$

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

$\endgroup$
  • $\begingroup$ Absolutely tremendous answer. $\endgroup$ – David Jan 18 '16 at 5:11

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.