blob: dbbc4c78dde673b00eae9f5943e8d38c783a80a4 [file] [log] [blame]
* Estimate error on general poly roots using Newton method? Allow for
multiple roots and higher derivatives
* Newton-Maehly (Newton with implicit deflation)
* Jenkins-Traub
* Brian Smith's adaptation of Laguerre's method
* Hirano's method, SIAM J Num Anal 19 (1982) 793-99 by Murota
* Carstensen, Petkovic, "On iteration methods without derivatives for
the simultaneous determination of polynomial zeros", J. Comput. Appl.
Math., 45 (1993) 251-267
* Investigate this,
> NA Digest Sunday, July 11, 1999 Volume 99 : Issue 28
>
> From: Murakami Hiroshi <nadigest@tmca.ac.jp>
> Date: Sun, 11 Jul 1999 18:56:54 +0900 (JST)
> Subject: Code for Wilf's Complex Bisection Method
>
> A sample demo source of root finding method for the general complex
> coefficient polynomial is placed to URL <ftp://ftp.tmca.ac.jp/wilf.taz>.
> It is about 8KB in size and is a tar and gnu-zipped file.
> The algorithm is taken from the following reference:
> HERBERT S.WILF,"A Global Bisection Algorithm for Computing the Zeros
> of Polynomials in the Complex Plane",ACM.vol.25,No.3,July 1978,pp.415-420.
>
> The Wilf's method is the complex plane version of the Sturm bi-section
> method for the real polynomial. And theoretically very interesting.
> For the given complex interval (complex rectilinear region and sides are
> parallel to the x-y axis), the procedure gives the count of the complex
> roots of the polynomial inside the interval. Thus, successive bi-section
> or quad-section of the interval can give the sequence of the shrinking
> intervals containing the root inside to attain the required accuracies.
> The source code is written mostly Fortran77 language, however some
> violations are intensionally left as: 1: The DO-ENDDO loop structure.
> 2: The longer than 6 letter names. 3: The use of under-score letter.
> 4: The use of include statement.
> The code will be placed in the public domain.
>
* Investigate this
From: "Steven G. Johnson" <stevenj@alum.mit.edu>
To: help-gsl@gnu.org
Subject: [Help-gsl] (in)accuracy of gsl_poly_complex_solve for repeated
roots?
Date: Sun, 05 Jun 2005 16:25:40 -0400
Precedence: list
Envelope-to: bjg@network-theory.co.uk
Hi, I noticed that gsl_poly_complex_solve seems to be surprisingly
inaccurate. For example, if you ask it for the roots of 1 + 4x + 6x^2 +
4x^3 + x^4, which should have x = -1 as a four-fold root (note that the
coefficients and solutions are exactly representable), it gives roots:
-0.999903+9.66605e-05i
-0.999903-9.66605e-05i
-1.0001+9.66834e-05i
-1.0001-9.66834e-05i
i.e. it is accurate to only 4 significant digits. (On the other hand,
when I have 4 distinct real roots it seems to be accurate to machine
precision.)
If this kind of catastrophic accuracy loss is intrinsic to the algorithm
when repeated roots are encountered, please note it in the manual.
However, I suspect that there may be algorithms to obtain higher
accuracy for multiple roots. I found the below references in a
literature search on the topic, which you may want to look into. (The
first reference can be found online at
http://www.neiu.edu/~zzeng/multroot.htm)
Cordially,
Steven G. Johnson
---------------------------------------------------------------------
Algorithm 835: MULTROOT - a Matlab package for computing polynomial
roots and multiplicities
Zeng, Z. (Dept. of Math., Northeastern Illinois Univ., Chicago, IL, USA)
Source: ACM Transactions on Mathematical Software, v 30, n 2, June 2004,
p 218-36
ISSN: 0098-3500 CODEN: ACMSCU
Publisher: ACM, USA
Abstract: MULTROOT is a collection of Matlab modules for accurate
computation of polynomial roots, especially roots with nontrivial
multiplicities. As a blackbox-type software, MULTROOT requires the
polynomial coefficients as the only input, and outputs the computed
roots, multiplicities, backward error, estimated forward error, and the
structure-preserving condition number. The most significant features of
MULTROOT are the multiplicity identification capability and high
accuracy on multiple roots without using multiprecision arithmetic, even
if the polynomial coefficients are inexact. A comprehensive test suite
of polynomials that are collected from the literature is included for
numerical experiments and performance comparison (21 refs.)
---------------------------------------------------------------------
Ten methods to bound multiple roots of polynomials
Rump, S.M. (Inst. fur Informatik III, Tech. Univ. Hamburg-Harburg,
Hamburg, Germany) Source: Journal of Computational and Applied
Mathematics, v 156, n 2, 15 July 2003, p 403-32
ISSN: 0377-0427 CODEN: JCAMDI
Publisher: Elsevier, Netherlands
Abstract: Given a univariate polynomial P with a k-fold multiple root or
a k-fold root cluster near some z, we discuss nine different methods to
compute a disc near z which either contains exactly or contains at least
k roots of P. Many of the presented methods are known and of those some
are new. We are especially interested in the behavior of methods when
implemented in a rigorous way, that is, when taking into account all
possible effects of rounding errors. In other words, every result shall
be mathematically correct. We display extensive test sets comparing the
methods under different circumstances. Based on the results, we present
a tenth, hybrid method combining five of the previous methods which, for
give z, (i) detects the number k of roots near z and (ii) computes an
including disc with in most cases a radius of the order of the numerical
sensitivity of the root cluster. Therefore, the resulting discs are
numerically nearly optimal
_______________________________________________
Help-gsl mailing list
Help-gsl@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gsl