[VA] SRC #012b - Then and Now: Root
|
11-10-2022, 01:29 PM
(This post was last modified: 11-10-2022 03:06 PM by C.Ret.)
Post: #12
|
|||
|
|||
RE: [VA] SRC #012b - Then and Now: Root
(11-10-2022 08:26 AM)J-F Garnier Wrote: My understanding is that the PROOT method, with 200 terms, proves that the root Zmin is indeed the smallest in abs value for the complete 10000th degree polynomial: Your explanations make sense and explain why the results no longer evolve when there are enough monômes, the truly high powers of x with |x]<1 becoming negligible at the (limited) 12-figures precision of the machine. This also explains why using Horner's method as I do waste a lot of computation time because the summation starts with the negligible monômes which will be overwritten by the larger values of the last ones. Concerning the PROOT instruction, I did some tests with about twenty values for N ranging from 8 to 66. Each time, I observe that the root of minimal absolute value (of minimal norm) is store at the first position in the result vector containing the roots. I now short end my code by removing the search loop for the minimum value at the end of the program. I only count of the PROOT program to systematically place the smallest normed root in the first R(0) position. It may have to do with this paragraph found on page 128, section 12 of the Math Pac Owner's Manual: Having the minimal absolute value (minimal normed or smallest magnitude root) at R(0) is not just a coincidence... EDITED: See next post where Chan show me that It is effectively just by coïncidence !! I put a new set of AAA cells in my HP-71B to replace the previous old set that just died during the last endless attempt. It took nearly two hours to find the minimum norm ABS(R(0)) = 0.806513599261 from a polynomial P() of degree N=200 with the following 3-liner directly adapted from J. -F. Garnier's code: 10 T0=TIME @ N=200 @ OPTION BASE 0 @ DIM P(N) @ COMPLEX R(N-1) 20 P(N)=2 @ P(N-1)=3 @ FOR K=N-2 TO 0 STEP -1 @ P(K)=FPRIM(2+P(K+1)) @ NEXT K 30 MAT R=PROOT(P) @ T0=TIME-T0 @ DISP T0;ABS(R(0)) @ BEEP T0 6760.46 (1:52'40.4") ABS(R(0)) .806513599261 R(0) (-.645758096347,-.483177676217) ABS(R(1)) .806513599261 R(1) (-.645758096347,.483177676217) |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 5 Guest(s)