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