[net.math] cubic roots

pete@hao.UUCP (Pete Reppert) (10/11/85)

*** REPLACE THIS LINE WITH YOUR MESSAGE ***

  O.K. I take it there just aren`t any easy-as-pie ways
  to find the roots to a cubic eqaution except synthetic
  division, which doesn`t seem to work always. How do you
  know when not to use synth division, and of the many 
  other baroque methods, which are most popular? What 
  indicators do you look out for, etc.?
			 

			  
      Any replies, wisecracks, etc. welcome.
-- 
 Pete Reppert
 HAO/NCAR
 PO BOX 3000
 Boulder, Colorado 80307  

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (10/12/85)

>   O.K. I take it there just aren`t any easy-as-pie ways
>   to find the roots to a cubic eqaution except synthetic
>   division, which doesn`t seem to work always. How do you
>   know when not to use synth division, and of the many 
>   other baroque methods, which are most popular? What 
>   indicators do you look out for, etc.?

Synthetic division is useful for factoring out one of the
primitive polynomials, once you have found it, thereby
reducing the degree of the polynomial.

However, all polynomials through quartics have exact
analytical solutions, which can be found in math handbooks.
Computationally, care must be taken or one gets incorrect
results.  E.g., exponents can overflow if you don't scale.

ashby@uiucdcsp.CS.UIUC.EDU (10/15/85)

There is an "easy" closed formula for the roots of an arbitrary
cubic (and quartic).  You should be able to find it in any book
of mathematical formulae (eg, CRC).  However, if you need to 
compute these roots, then the formulae are not very good.

The following "algorithm" is a numerically stable way of computing
the roots of any nth degree polynomial (n not too big):

1)  Set up the poly's companion matrix.  (This is defined in almost
    any linear algebra book.)

2)  Now compute the eigenvalues of the matrix.  To do this the
    package EISPACK is recommended.  (If you don't have this 
    pkg, you should get it; it is in the public domain.)

3)  These egvals are the desired roots of the poly.

hall@uiucdcsp.CS.UIUC.EDU (10/17/85)

A simple,reliable method for a cubic with real coefficients is to
arrange for a/the real root to lie in (0,1)-by using x:=-x and
x:=1/x -and then use bisection.
.
q
-
w