Fast and backward stable computation of roots of polynomials
1. 1
. . .
1
a0
a1
...
an1
Fast and stable computation of the
roots of polynomials
Jared L. Aurentz1, Thomas Mach2, Raf Vandebril2, and
David S. Watkins1
1Dept. of Mathematics, Washington State University
2Dept. Computer Science, KU Leuven
Structured Numerical Linear and Multilinear Algebra:
Analysis, Algorithms and Applications
11 September 2014
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 1/41
2. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Collaborators
This is joint work with
David S. Watkins (WSU)
Jared L. Aurentz (WSU)
Raf Vandebril (KU Leuven)
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 2/41
3. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Problem
p(x) = xn + an1xn1 + an2xn2 + + a0 = 0
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 3/41
4. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Problem
p(x) = xn + an1xn1 + an2xn2 + + a0 = 0
Companion matrix
A =
2
66666664
a0
1 a1
1 a2
. . .
...
1 an2
1 an1
3
77777775
Get the zeros of p by computing the eigenvalues of A.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 3/41
5. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Cost
If structure not exploited:
If structure exploited:
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 4/41
6. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Cost
If structure not exploited:
O(n2) storage
O(n3)
ops
Francis's implicitly-shifted QR algorithm
Matlab's roots command.
If structure exploited:
O(n) storage
O(n2)
ops
data-sparse representation + Francis's algorithm
several methods proposed
including some by my coauthors (fast but potentially unstable)
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 4/41
7. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Some of the Competitors
Chandrasekaran, Gu, Xia, Zhu (2007)
Bini, Boito, Eidelman, Gemignani, Gohberg (2010)
Boito, Eidelman, Gemignani, Gohberg (2012)
Fortran codes available
Quasiseparable generator representation
we use essentially 2 2 unitary matrices
results on backward stability
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 5/41
8. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Our Contribution
We present
yet another O(n) representation
Francis's algorithm in O(n)
ops/iteration
Fortran codes (we're faster)
normwise almost backward stable (We can prove it.)
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 6/41
9. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Structure
companion matrix is unitary-plus-rank-one
A =
2
0 0 ei
1 0
6664
. . .
...
1 0
3
7775+
2
6664 0 0 ei a0
0 0 a1
...
...
...
0 0 an1
3
7775
preserved by unitary similarities
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 7/41
10. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Structure
companion matrix is unitary-plus-rank-one
A =
2
0 0 ei
1 0
6664
. . .
...
1 0
3
7775+
2
6664 0 0 ei a0
0 0 a1
...
...
...
0 0 an1
3
7775
preserved by unitary similarities
companion matrix is also upper Hessenberg.
preserved by Francis's algorithm
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 7/41
11. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Structure
companion matrix is unitary-plus-rank-one
A =
2
0 0 ei
1 0
6664
. . .
...
1 0
3
7775+
2
6664 0 0 ei a0
0 0 a1
...
...
...
0 0 an1
3
7775
preserved by unitary similarities
companion matrix is also upper Hessenberg.
preserved by Francis's algorithm
We exploit this structure.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 7/41
12. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Structure
Chandrasekaran, Gu, Xia, Zhu (2007)
Compute the companion's QR factorization
A = QR
Q is upper Hessenberg and unitary.
R is upper triangular and unitary-plus-rank-one.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 8/41
13. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Structure
Chandrasekaran, Gu, Xia, Zhu (2007)
Compute the companion's QR factorization
A = QR
Q is upper Hessenberg and unitary.
R is upper triangular and unitary-plus-rank-one.
We do this too.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 8/41
14. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Unitary Part (Matrix Q)
Q factored in core transformations
2
664
3
775
=
2
664
1
1
3
775
2
1
664
1
3
775
2
1
664
1
3
775
Q =
O(n) storage
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 9/41
15. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Upper Triangular Part (Matrix R)
R = U + xyT unitary-plus-rank-one, so
R has quasiseparable rank 2.
R =
2
666666664
. . .
...
...
...
. . .
...
3
777777775
quasiseparable generator representation (O(n) storage)
Chandrasekaran, Gu, Xia, and Zhu exploit this structure.
We do it dierently.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 10/41
16. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Our Representation (Matrix A)
Add a row/column for extra wiggle room
A =
2
666664
0 a0 1
1 a1 0
. . .
...
...
1 an1 0
0 0
3
777775
Extra zero root can be de
ated immediately.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 11/41
17. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Our Representation (Matrix A)
Add a row/column for extra wiggle room
A =
2
666664
0 a0 1
1 a1 0
. . .
...
...
1 an1 0
0 0
3
777775
Extra zero root can be de
ated immediately.
A = QR, where
Q =
2
666664 0 1 0
1 0 0
. . .
...
...
1 0 0
0 1
3
777775
R =
2
666664
1 a1 0
. . .
...
...
1 an1 0
a0 1
0 0
3
777775
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 11/41
18. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Our Representation (Matrix Q)
Q =
2
666664
0 1 0
1 0 0
. . .
...
...
1 0 0
0 1
3
777775
Q is stored in factored form
Q =
Q = Q1Q2 Qn1 (mark the n 1 instead of n)
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 12/41
19. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Our Representation (Matrix R)
R =
2
666664
1 a1 0
. . .
... ...
1 an1 0
a0 1
0 0
3
777775
R is unitary-plus-rank-one:
2
666664
1 0 0
. . .
...
...
1 0 0
0 1
1 0
3
777775
+
2
666664
0 a1 0
. . .
...
...
0 an1 0
a0 0
1 0
3
777775
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 13/41
20. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Representation of R
R = U + xyT , where
xyT =
2
666664
a1
... an1
a0
1
3
777775
0 0 1 0
Next step: Roll up x.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 14/41
21. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Representation of R
2
64
3
75
=
2
3
64
75
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 15/41
22. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Representation of R
2
64
3
75
=
2
3
64
75
0
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 15/41
23. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Representation of R
2
64
3
75
=
2
3
64
75
0
0
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 15/41
24. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Representation of R
2
64
3
75
=
2
64
0
0
0
3
75
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 15/41
25. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Representation of R
2
64
3
75
=
2
64
0
0
0
3
75
C1 Cn1Cnx = e1 (w.l.g. = 1)
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 15/41
26. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Representation of A
Altogether we have
A = QR = Q C (B + e1yT )
A = Q1 Qn1 C
1 (B1 Bn + e1yT )
n C
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 16/41
27. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Francis's Iterations
We have complex single-shift code,
real double-shift code.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 17/41
28. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Francis's Iterations
We have complex single-shift code,
real double-shift code.
We describe single-shift case for simplicity
ignoring rank-one part.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 17/41
29. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Francis's Iterations
We have complex single-shift code,
real double-shift code.
We describe single-shift case for simplicity
ignoring rank-one part.
Two basic operations:
Fusion
)
Turnover
,
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 17/41
30. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
31. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
32. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
33. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
34. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
35. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
36. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
37. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
38. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
39. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
40. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
41. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
42. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
43. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
44. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
45. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
46. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
47. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
48. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
49. Introduction Factorization Facts Francis's Algorithm Numerical experiments
The Bulge Chase
Q1 Qn1
C
n C
1
B = B1 Bn
+
1
0
0
0
0
e1
yT
R
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 18/41
50. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Done!
Iteration complete!
Cost: 3n turnovers/iteration, so O(n)
ops/iteration
Double-shift iteration is similar:
chase two core transformations instead of one, 7n turnovers/iteration.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 19/41
51. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Speed Comparison, Fortran implementation
Contestants
LAPACK code xHSEQR (O(n3))
AMVW (our single-shift code)
BBEGG (Bini, Boito, et al. 2010)
only single-shift code
BEGG (Boito, Eidelman, et al. 2012)
only double-shift code
CGXZ (Chandrasekaran, Gu, et al. 2007)
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 20/41
52. Introduction Factorization Facts Francis's Algorithm Numerical experiments
complex single-shift|random coecients
101 102 103 104
BBEGG: 23.297
BEGG: 15.442
AMVW: 4.269
101
102
105
Time in seconds
AMVW
ZHSEQR
BBEGG
BEGG
108
Accuracy
1012
101 102 103 104 1016
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 21/41
53. Introduction Factorization Facts Francis's Algorithm Numerical experiments
real double-shift|random coecients
101 102 103 104
CGXZ: 9.023
BBEGG: 7.899
AMVW: 3.817
101
102
105
Time in seconds
AMVW
DHSEQR
BBEGG
CGXZ
108
Accuracy
1012
101 102 103 104 1016
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 22/41
54. Introduction Factorization Facts Francis's Algorithm Numerical experiments
single-shift|random aeb, b 2 [R; R], R = 5; : : : ; 25
101 102 103 104
101
102
105
Time in seconds
AMVW
ZHSEQR
BBEGG
BEGG
108
Accuracy
1012
101 102 103 104 1016
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 23/41
55. Introduction Factorization Facts Francis's Algorithm Numerical experiments
double-shift|random aeb, b 2 [R; R], R = 5; : : : ; 25
101 102 103 104
101
102
105
Time in seconds
AMVW
DHSEQR
BBEGG
CGXZ
108
Accuracy
1012
101 102 103 104 1016
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 24/41
56. Introduction Factorization Facts Francis's Algorithm Numerical experiments
single-shift|zn 1
101 102 103 104
BBEGG: 27.847
BEGG: 16.933
AMVW: 3.198
101
102
105
Time in seconds
AMVW
ZHSEQR
BBEGG
BEGG
108
Accuracy
1012
101 102 103 104 1016
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 25/41
57. Introduction Factorization Facts Francis's Algorithm Numerical experiments
double-shift|zn 1
101 102 103 104
CGXZ: 8.883
BBEGG: 6.595
AMVW: 3.554
101
102
105
Time in seconds
AMVW
DHSEQR
BBEGG
CGXZ
108
Accuracy
1012
101 102 103 104 1016
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 26/41
58. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Special Polynomials
Roots known!
No. Description Deg.
1 Wilkinson polynomial 10
2 Wilkinson polynomial 15
3 Wilkinson polynomial 20
4 scaled and shifted Wilkinson poly. 20
5 reverse Wilkinson polynomial 10
6 reverse Wilkinson polynomial 15
7 reverse Wilkinson polynomial 20
8 prescribed roots of varying scale 20
9 prescribed roots of varying scale 3 20
10 Chebyshev polynomial 20
11 z20 + z19 + + z + 1 20
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 27/41
59. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Special Polynomials (2)
Roots known!
No. Description Deg.
MPSolve
12 trv m, C. Traverso 24
13 mand31 Mandelbrot example (k = 5) 31
14 mand63 Mandelbrot example (k = 6) 63
Vanni Noferini
15 polynomial from V. Noferini 12
16 polynomial from V. Noferini 35
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 28/41
60. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Special Polynomials (3)
Roots known!
No. Description Deg.
Jenkins and Traub
17 p1(z) with a =1 e8 3
18 p1(z) with a =1 e15 3
19 p1(z) with a =1 e+8 3
20 p1(z) with a =1 e+15 3
21 p3(z) under
ow test 10
22 p3(z) under
ow test 20
23 p10(z) de
ation test a = 10 e+3 3
24 p10(z) de
ation test a = 10 e+6 3
25 p10(z) de
ation test a = 10 e+9 3
26 p11(z) de
ation test m = 15 60
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 29/41
61. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Special Polynomials (4)
Roots unknown!
No. Description Deg.
27 Bernoulli polynomial (k = 20) 20
28 truncated exponential (k = 20) 20
used in Bevilacqua, Del Corso, and Gemignani
29{33 p1(z) with m = 10, 20, 30, 256, 512 2m
34{38 p2(z) with m = 10, 20, 30, 256, 512 l 2m
39{43 p3(z) with m + 1 = 20, : : : , 1024, = 0:9 m + 1
44{48 p3(z) with m + 1 = 20, : : : , 1024, = 0:999 m + 1
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 30/41
70. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Backward stability
We have a proof for
U(A + A)U = ^A;
where
kAk2 kcoecients of p(x)k22
O(m):
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 39/41
71. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Backward stability
We have a proof for
U(A + A)U = ^A;
where
kAk2 kcoecients of p(x)k22
O(m):
The square is annoying, and
in the analysis also a dependency of ja0j.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 39/41
72. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Backward stability
We have a proof for
U(A + A)U = ^A;
where
kAk2 kcoecients of p(x)k22
O(m):
The square is annoying, and
in the analysis also a dependency of ja0j.
But in the numerical experiments
Tests with small ja0j no problem: as accurate as LAPACK.
Tests with growing kxk2 no problem: as accurate as LAPACK.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 39/41
73. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Conclusion
We have a new fast companion eigenvalue method:
about as accurate as LAPACK,
and more accurate than the other fast methods,
does OK on harder problems
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 40/41
74. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Conclusion
We have a new fast companion eigenvalue method:
about as accurate as LAPACK,
and more accurate than the other fast methods,
does OK on harder problems
faster than LAPACK from size 16 on,
faster than all other fast methods,
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 40/41
75. Introduction Factorization Facts Francis's Algorithm Numerical experiments
Conclusion
We have a new fast companion eigenvalue method:
about as accurate as LAPACK,
and more accurate than the other fast methods,
does OK on harder problems
faster than LAPACK from size 16 on,
faster than all other fast methods,
almost backward stable (see preprint).
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 40/41
76. Introduction Factorization Facts Francis's Algorithm Numerical experiments
More ...
Preprint: http://www.cs.kuleuven.be/publicaties/
rapporten/tw/TW654.abs.html.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 41/41
77. Introduction Factorization Facts Francis's Algorithm Numerical experiments
More ...
Preprint: http://www.cs.kuleuven.be/publicaties/
rapporten/tw/TW654.abs.html.
Fortran code: http://people.cs.kuleuven.be/~raf.vandebril/
homepage/software/companion_qr.php.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 41/41
78. Introduction Factorization Facts Francis's Algorithm Numerical experiments
More ...
Preprint: http://www.cs.kuleuven.be/publicaties/
rapporten/tw/TW654.abs.html.
Fortran code: http://people.cs.kuleuven.be/~raf.vandebril/
homepage/software/companion_qr.php.
Package by Andreas Noack in julia (http://julialang.org/):
Pkg.clone(https://github.com/andreasnoackjensen/AMVW.jl)
Pkg.build(AMVW).
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 41/41
79. Introduction Factorization Facts Francis's Algorithm Numerical experiments
More ...
Preprint: http://www.cs.kuleuven.be/publicaties/
rapporten/tw/TW654.abs.html.
Fortran code: http://people.cs.kuleuven.be/~raf.vandebril/
homepage/software/companion_qr.php.
Package by Andreas Noack in julia (http://julialang.org/):
Pkg.clone(https://github.com/andreasnoackjensen/AMVW.jl)
Pkg.build(AMVW).
Thank you for your attention.
J. Aurentz, T. Mach, R. Vandebril, D. Watkins, Fast and stable computation of the roots of polynomials 41/41