|
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
|