MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: branch of (-1)^(1/3)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg94448] Re: branch of (-1)^(1/3)
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Sun, 14 Dec 2008 07:34:03 -0500 (EST)
  • Organization: The Open University, Milton Keynes, UK
  • References: <ghtjcj$r7f$1@smc.vnet.net>

slawek wrote:

> Is a simple way to choose the branch of (-1)^(1/3) ?

Mathematica always takes the principal root regardless whether it is
real or comlex. I am not aware of any mechanisms that would allow the user
to choose the branch cut at will.

Note that (-1)^(1/3) is deemed to be already a solution to the equation 
x^3 == -1 and, therefore, is not going to be "simplified" any further or 
be multi-valued.

In[1]:= Reduce[x^3 == -1]

Out[1]= x == -1 || x == (-1)^(1/3) || x == -(-1)^(2/3)

In[2]:= Solve[x^3 == -1]

Out[2]= {{x -> -1}, {x -> (-1)^(1/3)}, {x -> -(-1)^(2/3)}}

The tutorial "Functions That Do Not Have Unique Values" -- section 3.2.7 
of /The Mathematica Book/ 5th ed. -- might be worth reading.

tutorial/FunctionsThatDoNotHaveUniqueValues

http://reference.wolfram.com/mathematica/tutorial/FunctionsThatDoNotHaveUniqueValues.html

Also, prior version 6.0, it was possible to coerce Mathematica -- with 
mixed results -- to returns real values only, thanks to the standard 
add-on *Miscellaneous`RealOnly`*. Depending on the version your are 
using, you may want to give it a try. The package is still available on 
the web at

http://library.wolfram.com/infocenter/MathSource/6771/

> Mathematica gives a (correct) non-real answer. It is ok, but I need the (-1) 
> as the output when I input (1)^(1/3)  because I know that it is a solution 
> of real-valued problem.
> 
> Is any "standard way" to pick up a correct (i.e. arbitrary) root of 
> (-1)^(1/n) instead the default?

The "best" way is to solve the equation x^n == -1 and asking for real 
values only thanks to the the function Reduce[]. For instance,

In[3]:= Reduce[x^3 == -1, x, Reals]

Out[3]= x == -1

In[4]:= x /. ToRules[Reduce[x^3 == -1, x, Reals]]

Out[4]= -1

Regards,
-- Jean-Marc


  • Prev by Date: Did I trash Mathematica installation?
  • Next by Date: Re: Manipulate question
  • Previous by thread: Re: branch of (-1)^(1/3)
  • Next by thread: Re: branch of (-1)^(1/3)