![]() ![]() `radius(i)` is set to -1 if the corresponding root !! cannot be represented as floating point due to overflow or !! underflow. the disk of center !! `root(i)` and radius `radius(i)` contains a root of `p(x)`, for !! `i=1.,n`. real ( wp ), intent ( out ) :: radius ( n ) !! real vector of `n` components, containing the error bounds to !! the approximations of the roots, i.e. complex ( wp ), intent ( out ) :: root ( n ) !! complex vector of `n` components, containing the !! approximations to the roots of `p(x)`. complex ( wp ), intent ( in ) :: poly ( n + 1 ) !! complex vector of n+1 components, `poly(i)` is the !! coefficient of `x**(i-1), i=1.,n+1` of the polynomial `p(x)` integer, intent ( in ) :: nitmax !! the max number of allowed iterations. Subroutine polzeros ( n, poly, nitmax, root, radius, err ) implicit none integer, intent ( in ) :: n !! degree of the polynomial. Storing the abscissae of the vertices of the convex hull. The vector err is used also in the routine convex hull for I.e., it can be viewed as an exact root of a if after nitmax iterations the stop condition ![]() Vector of n components detecting an error condition: radius(i) is set to -1 if the corresponding rootĬannot be represented as floating point due to overflow or Root(i) and radius radius(i) contains a root of p(x), for Real vector of n components, containing the error bounds to bini, dipartimento di matematica, universita' di performed under the support of the esprit bra project 6846 possoĬomplex vector of n+1 components, poly(i) is theĬoefficient of x**(i-1), i=1.,n+1 of the polynomial p(x)Ĭomplex vector of n components, containing the Numerical Algorithms volume 13, pages 179-200 (1996) Dario Andrea Bini, " Numerical computation of polynomial zeros by means of Aberth's method".This provides an inclusion disk of center x and radius r containing a The computation is performed by means of aberth's method Represented as a complex(wp) number the error bound is set to -1. in the situation where the root cannot be in the situation where underflow does not allow toĬompute a guaranteed bound, the program outputs a warning messageĪnd sets the bound to 0. Set of a-posteriori error bounds which are guaranteed in the most Robustness of the program (see the comments in the routine aberth).īesides a set of approximations to the roots, the program delivers a the computation can be speeded up by performing some sideĬomputations in single precision, thus slightly reducing the in this limit situation the program outputs a warning Small, i.e., the greatest and the smallest positive real(wp) numbers, Simultaneously coefficients of moduli close to big and close to Overflow situations are very unlikely and may occurr if there exist the routine is fast, robustĪgainst overflow, and allows to deal with polynomials of any degree. This routine approximates the roots of the polynomial ![]() Numerical computation of the roots of a polynomial havingĬomplex coefficients, based on aberth's method. Public subroutine polzeros(n, poly, nitmax, root, radius, err) ![]()
0 Comments
Leave a Reply. |