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