Procedure | Location | Procedure Type | Description |
---|---|---|---|
aberth | polyroots_module | Subroutine | compute the aberth correction. to save time, the reciprocation of root(j)-root(i) could be performed in single precision (complex*8) in principle this might cause overflow if both root(j) and root(i) have too small moduli. |
cdiv | polyroots_module | Subroutine | Compute the complex quotient of two complex numbers. |
cmerge | polyroots_module | Subroutine | given the upper convex hulls of two consecutive sets of pairs (j,a(j)), compute the upper convex hull of their union |
cmplx_roots_gen | polyroots_module | Subroutine | This subroutine finds roots of a complex polynomial. It uses a new dynamic root finding algorithm (see the Paper). |
cnvex | polyroots_module | Subroutine | compute the upper convex hull of the set (i,a(i)), i.e., the set of vertices (i_k,a(i_k)), k=1,2,...,m, such that the points (i,a(i)) lie below the straight lines passing through two consecutive vertices. the abscissae of the vertices of the convex hull equal the indices of the true components of the logical output vector h. the used method requires o(nlog n) comparisons and is based on a divide-and-conquer technique. once the upper convex hull of two contiguous sets (say, {(1,a(1)),(2,a(2)),...,(k,a(k))} and {(k,a(k)), (k+1,a(k+1)),...,(q,a(q))}) have been computed, then the upper convex hull of their union is provided by the subroutine cmerge. the program starts with sets made up by two consecutive points, which trivially constitute a convex hull, then obtains sets of 3,5,9... points, up to arrive at the entire set. the program uses the subroutine cmerge; the subroutine cmerge uses the subroutines left, right and ctest. the latter tests the convexity of the angle formed by the points (i,a(i)), (j,a(j)), (k,a(k)) in the vertex (j,a(j)) up to within a given tolerance toler, where i<j<k. |
comqr | polyroots_module | Subroutine | this subroutine finds the eigenvalues of a complex upper hessenberg matrix by the qr method. |
cpevl | polyroots_module | Subroutine | Evaluate a complex polynomial and its derivatives. Optionally compute error bounds for these values. |
cpoly | polyroots_module | Subroutine | Finds the zeros of a complex polynomial. |
cpolyroots | polyroots_module | Subroutine | Solve for the roots of a complex polynomial equation by computing the eigenvalues of the companion matrix. |
cpolz | polyroots_module | Subroutine | In the discussion below, the notation A([*,],k} should be interpreted as the complex number A(k) if A is declared complex, and should be interpreted as the complex number A(1,k) + i * A(2,k) if A is not declared to be of type complex. Similar statements apply for Z(k). |
cpqr79 | polyroots_module | Subroutine | This routine computes all zeros of a polynomial of degree NDEG with complex coefficients by computing the eigenvalues of the companion matrix. |
cpzero | polyroots_module | Subroutine | Find the zeros of a polynomial with complex coefficients:
|
csroot | polyroots_module | Subroutine | Compute the complex square root of a complex number. |
ctest | polyroots_module | Function | test the convexity of the angle formed by (il,a(il)), (i,a(i)), (ir,a(ir)) at the vertex (i,a(i)), up to within the tolerance toler. if convexity holds then the function is set to .true., otherwise ctest=.false. the parameter toler is set to 0.4 by default. |
daord | polyroots_module | Subroutine | Used to reorder the elements of the double precision array a so that abs(a(i)) <= abs(a(i+1)) for i = 1,...,n-1. it is assumed that n >= 1. |
dcbcrt | polyroots_module | Subroutine | Computes the roots of a cubic polynomial of the form
|
dcbrt | polyroots_module | Function | Cube root of a real number. |
dcpabs | polyroots_module | Function | evaluation of |
dcsqrt | polyroots_module | Subroutine |
|
dpolz | polyroots_module | Subroutine | Given coefficients |
dqdcrt | polyroots_module | Subroutine | Computes the roots of a quadratic polynomial of the form
|
dqtcrt | polyroots_module | Subroutine | dqtcrt computes the roots of the real polynomial |
fpml | polyroots_module | Subroutine | FPML: Fourth order Parallelizable Modification of Laguerre's method |
hqr | polyroots_module | Subroutine | This subroutine finds the eigenvalues of a real upper hessenberg matrix by the qr method. |
left | polyroots_module | Subroutine | given as input the integer i and the vector h of logical, compute the the maximum integer il such that il<i and h(il) is true. |
newton | polyroots_module | Subroutine | compute the newton's correction, the inclusion radius (4) and checks the stop condition (3) |
newton_root_polish | polyroots_module | Interface | "Polish" a root using Newton Raphson. This routine will perform a Newton iteration and update the roots only if they improve, otherwise, they are left as is. |
newton_root_polish_complex | polyroots_module | Subroutine | "Polish" a root using a complex Newton Raphson method. This routine will perform a Newton iteration and update the roots only if they improve, otherwise, they are left as is. |
newton_root_polish_real | polyroots_module | Subroutine | "Polish" a root using a complex Newton Raphson method. This routine will perform a Newton iteration and update the roots only if they improve, otherwise, they are left as is. |
polyroots | polyroots_module | Subroutine | Solve for the roots of a real polynomial equation by computing the eigenvalues of the companion matrix. |
polzeros | polyroots_module | Subroutine | Numerical computation of the roots of a polynomial having complex coefficients, based on aberth's method. |
pythag | polyroots_module | Function | Compute the complex square root of a complex number without destructive overflow or underflow. |
qr_algeq_solver | polyroots_module | Subroutine | Solve the real coefficient algebraic equation by the qr-method. |
quadpl | polyroots_module | Subroutine | Calculate the zeros of the quadratic |
right | polyroots_module | Subroutine | given as input the integer i and the vector h of logical, compute the the minimum integer ir such that ir>i and h(il) is true. |
rpoly | polyroots_module | Subroutine | Finds the zeros of a general real polynomial using the Jenkins & Traub algorithm. |
rpqr79 | polyroots_module | Subroutine | This routine computes all zeros of a polynomial of degree NDEG with real coefficients by computing the eigenvalues of the companion matrix. |
rpzero | polyroots_module | Subroutine | Find the zeros of a polynomial with real coefficients:
|
rroots_chebyshev_cubic | polyroots_module | Subroutine | Compute the roots of a cubic equation with real coefficients. |
scomqr | polyroots_module | Subroutine | This subroutine finds the eigenvalues of a complex upper hessenberg matrix by the qr method. |
sort_roots | polyroots_module | Subroutine | Sorts a set of complex numbers (with real and imag parts in different vectors) in increasing order. |
start | polyroots_module | Subroutine | compute the starting approximations of the roots |