Xref: utzoo sci.math:3054 comp.graphics:2008 Path: utzoo!mnetor!uunet!husc6!mailrus!tut.cis.ohio-state.edu!osu-cis!att-cb!att-ih!ihnp4!inuxc!iuvax!bsu-cs!cfchiesa From: cfchiesa@bsu-cs.UUCP (Christopher Chiesa) Newsgroups: sci.math,comp.graphics Subject: Re: Solution of quartic equation Message-ID: <2381@bsu-cs.UUCP> Date: 16 Mar 88 21:41:52 GMT References: <1656@thorin.cs.unc.edu> <7662@agate.BERKELEY.EDU> Organization: CS Dept, Ball St U, Muncie, Indiana Lines: 36 Summary: Cube roots of complex numbers In article <7662@agate.BERKELEY.EDU>, greg@jiff.berkeley.edu (Greg) writes: > In article <1656@thorin.cs.unc.edu> turner@unc.cs.unc.edu (Douglass Turner) writes: > >Hello, does anyone know of a good, robust, method to find all roots of a > >quartic equation? > > [miscellaneous introductory comments] > > The direct solution is prone to programmer's instability. It's very > messy and doesn't generalize. The most painful step is taking the > cube root of a complex number, which cannot be expressed in terms of > roots of real numbers. In any case, the numerous roots in the formula Perhaps I misunderstand you (heaven knows I didn't follow the Sturm chains and so on), but... I recall taking cube and higher roots of complex numbers quite easily by converting from "cartesian" (A+Bi) representation to "polar" (r cis Theta), and performing a few straightforward real-number calculations. Basically, you take the root (let's generalize and say the Nth root) of the "r" (radius) part of the representation, and divide the "Theta" (angle) part by N, to find the first Nth root; then you add Theta/N to the angle part re- peatedly to get the other N-1 roots. Works quite nicely; I've never bothered to program it, but if it's been a bottleneck for you, this may be a way around it. I'd be interested to know if this has been helpful to you or anyone else... Chris Chiesa Senior, CS Dept Ball State University Muncie, IN -- <><><><><><><><><><><><><><><><><><><><><><><><><><><><> Chris Chiesa <><><><><> <> {ihpn4|seismo}!{iuvax|pur-ee}!bsu-cs!cfchiesa <> <> cfchiesa@bsu-cs.UUCP <> <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>