(71B) Aberth method
|
02-23-2022, 03:13 PM
(This post was last modified: 02-23-2022 03:31 PM by robve.)
Post: #1
|
|||
|
|||
(71B) Aberth method
ABERTH POLYNOMIAL ROOT FINDER
Aberth method: Durand-Kerner with Newton's method Estimate the complex roots of a polynomial with real coefficients Note: Durand-Kerner is not guaranteed to converge Optimized implementation: - Finds complex roots z of polynomial p such that |p(z)|<T given tolerance T - Prevents overflow/nan/inf by bounding the root shift adjustment magnitude during polishing - Tested with a large sample of polynomials For details see: https://www.hpmuseum.org/forum/thread-18051.html See also: https://en.wikipedia.org/wiki/Durand–Kerner_method and https://en.wikipedia.org/wiki/Aberth_method For HP-71B + Math Pac Degree: max polynomial degree limited by time and memory only Tolerance: T=1E-6 (adjustable) Levels: up to L=20 iterations (adjustable) Example: (Solve x^2+2x+3=0) [RUN] N=2 A(0)=1 A(1)=2 A(2)=3 T=1E-6 L=20 (-1,-1.414214) (-1,1.414214) (Solve x^3-2x^2-x+2=0) [RUN] N=3 A(0)=1 A(1)=-2 A(2)=-1 A(3)=2 T=1E-6 L=20 (1,0) (2,0) (-1,0) (Solve x^3+3x^2+x+3=0) [RUN] N=3 A(0)=1 A(1)=3 A(2)=1 A(3)=3 T=1E-6 L=20 (0,1) (0,-1) (-3,0) (Solve x^4+2999x^3-10003e3x^2-2399e7x+24e9=0) [RUN] N=4 A(0)=1 A(1)=2999 A(2)=-10003E3 A(3)=-2399E7 A(4)=24E9 T=1E-6 L=20 (1,0) (-4000,0) (-2000,0) (3000,0) (Solve 5x^6-45x^5+225x^4-425x^3+170x^2+370x-500=0) [RUN] N=6 A(0)=5 A(1)=-45 A(2)=225 A(3)=-425 A(4)=170 A(5)=370 A(6)=-500 T=1E-6 L=20 (1,1) (3,4) (-1,0) (3,-4) (1,-1) (2,0) Code: ' ABERTH POLYNOMIAL ROOT FINDER "I count on old friends" -- HP 71B,Prime|Ti VOY200,Nspire CXII CAS|Casio fx-CG50...|Sharp PC-G850,E500,2500,1500,14xx,13xx,12xx... |
|||
« Next Oldest | Next Newest »
|
Messages In This Thread |
(71B) Aberth method - robve - 02-23-2022 03:13 PM
|
User(s) browsing this thread: 1 Guest(s)