Re: question related to (-1)^(1/3)
- To: mathgroup at smc.vnet.net
- Subject: [mg96858] Re: question related to (-1)^(1/3)
- From: Peter Breitfeld <phbrf at t-online.de>
- Date: Thu, 26 Feb 2009 07:56:06 -0500 (EST)
- References: <gnqo3c$c95$1@smc.vnet.net>
"�»�¶�ª�ï" wrote: > I have tried expression: > RecurrenceTable[{x[n + 1] == -x[n]^(1/3), x[0] == 1}, > x, {n, 1, 200}] // N > > Mathematica produce > {-1., -0.5 - 0.866025 I, -0.766044 + 0.642788 I, -0.686242 - > 0.727374 I, -0.71393 + 0.700217 I, -0.704818 - 0.709389 I, > ... > > But it should be {1, -1, 1, -1, ... } > > If you try (-1)^(1/3) > > In[10]:= (-1)^(1/3) > > Out[10]= (-1)^(1/3) > > In[11]:= % // N > > Out[11]= 0.5 + 0.866025 I > As stated by others Mathematica always uses the principal branch for roots. To give me the real branch I use the following function: rprule=(b_?Negative)^Rational[m_,n_?OddQ]:>(-(-b)^(1/n))^m; Attributes[ReellePotenz]={Listable,NumericFunction,OneIdentity}; ReellePotenz[b_?Negative, Rational[m_, n_?OddQ]] := (-(-b)^(1/n))^m; ReellePotenz[x_,y_]:=Power[x,y]; ReellePotenz[x_]:=x//.rprule; Then you get: RecurrenceTable[{x[n + 1] == -x[n]^(1/3), x[0] == 1}, x, {n, 1, 10}] // ReellePotenz Out={-1, 1, -1, 1, -1, 1, -1, 1, -1, 1} Beware, that you can't apply this function to Reals, because they are evaluated immediately by Mathematica: In= (-1.)^(1/3) Out=0.5+0.866025I -- _________________________________________________________________ Peter Breitfeld, Bad Saulgau, Germany -- http://www.pBreitfeld.de