Blame poly/TODO

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