Blob Blame History Raw
# -*- org -*-
#+CATEGORY: poly

* 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