MathGroup Archive 2005

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

Search the Archive

Re: finding roots of 1 + 6*x - 8*x^3

  • To: mathgroup at smc.vnet.net
  • Subject: [mg54642] Re: [mg54630] finding roots of 1 + 6*x - 8*x^3
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Fri, 25 Feb 2005 01:18:40 -0500 (EST)
  • References: <200502240821.DAA13324@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

On 24 Feb 2005, at 09:21, Kennedy wrote:

> Hello All,
>
> I am trying to find the roots of
> 1 + 6*x - 8*x^3.
>
> Roots[1+6*x-8*x^3==0,x] yields this ugly thing:
> (made uglier by my converting to InputForm)
>
> x == ((1 + I*Sqrt[3])/2)^(1/3)/2 +
>    1/(2^(2/3)*(1 + I*Sqrt[3])^(1/3)) ||
>  x == -((1 - I*Sqrt[3])*((1 + I*Sqrt[3])/2)^(1/3))/4 -
>    ((1 + I*Sqrt[3])/2)^(2/3)/2 ||
>  x == -(1 - I*Sqrt[3])/(2*2^(2/3)*(1 + I*Sqrt[3])^
>       (1/3)) - (1 + I*Sqrt[3])^(4/3)/(4*2^(1/3))
>
> This monstrosity is chock full of imaginaries,
> even though I know all three roots are real.
>
> I tried Solve too but got the same thing, except
> in the form of a set of replacements. My guess is
> that Solve just calls Roots when handed a poly-
> nomial.
>
> When I ran the above through FullSimplify, I
> got three "Root" objects, the upshot of which is
> that the roots of the polynomial are indeed the
> Roots of said polynomial. Huh.
>
> What command can I use to get the roots into
> a form that are
> (a)  purely real, and
> (b)  in radical form?
>
> Thanks,
> Kennedy
>
> PS.  Mathematica 4.2
>
>
>
It is part of basic undergraduate mathematics (or should be!)  that the 
roots of a polynomial equation of degree 3, even when all three are 
real, may not be expressible in radicals without using complex numbers. 
This looks like this kind of case.

Root objects are very useful, in fact much mnore than radicals, since 
one can perform algebraic operations on them and compute their 
numerical values to arbitrary precision:


Chop[N[Roots[1 + 6*x - 8*x^3 == 0, x], 20]]

x ==
    0.93969262078590838405410927732473010213`20.1505149978\
3199 ||
   x ==
    -0.76604444311897803520239265055541055426`20.150514997\
831998 ||
   x ==
    -0.17364817766693034885171662676932325372`20.150514997\
831998

ALternatively, if you prefer an expression that is obviously real but 
does not use radicals, you can do:



ComplexExpand /@ (x /. Solve[1 + 6*x - 8*x^3 == 0, x])


{Cos[Pi/9], (-(1/2))*Cos[Pi/9] - (1/2)*Sqrt[3]*Sin[Pi/9],
   (-(1/2))*Cos[Pi/9] + (1/2)*Sqrt[3]*Sin[Pi/9]}


Let me restate the point. What you are asking for is, in general, 
mathematically impossible so it's no use complaining that Mathematica 
can't do it.


Andrzej Kozlowski
Chiba, Japan
http://www.akikoz.net/andrzej/index.html
http://www.mimuw.edu.pl/~akoz/


  • Prev by Date: Re: Simplify and Abs
  • Next by Date: Re: Re: expression formatting inside tables
  • Previous by thread: Re: finding roots of 1 + 6*x - 8*x^3
  • Next by thread: Re: finding roots of 1 + 6*x - 8*x^3