Procedures

ProcedureLocationProcedure TypeDescription
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.

Read more…
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).

Read more…
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.

Read more…
cpevl polyroots_module Subroutine

Evaluate a complex polynomial and its derivatives. Optionally compute error bounds for these values.

Read more…
cpoly polyroots_module Subroutine

Finds the zeros of a complex polynomial.

Read more…
cpolyroots polyroots_module Subroutine

Solve for the roots of a complex polynomial equation by computing the eigenvalues of the companion matrix.

Read more…
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).

Read more…
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.

Read more…
cpzero polyroots_module Subroutine

Find the zeros of a polynomial with complex coefficients: P(Z)= A(1)*Z**N + A(2)*Z**(N-1) +...+ A(N+1)

Read more…
csroot polyroots_module Subroutine

Compute the complex square root of a complex number.

Read more…
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 a(1) + a(2)*z + a(3)*z**2 + a(4)*z**3 = 0

Read more…
dcbrt polyroots_module Function

Cube root of a real number.

dcpabs polyroots_module Function

evaluation of sqrt(x*x + y*y)

dcsqrt polyroots_module Subroutine

w = sqrt(z) for the double precision complex number z

Read more…
dpolz polyroots_module Subroutine

Given coefficients A(1),...,A(NDEG+1) this subroutine computes the NDEG roots of the polynomial A(1)*X**NDEG + ... + A(NDEG+1) storing the roots as complex numbers in the array Z. Require NDEG >= 1 and A(1) /= 0.

Read more…
dqdcrt polyroots_module Subroutine

Computes the roots of a quadratic polynomial of the form a(1) + a(2)*z + a(3)*z**2 = 0

Read more…
dqtcrt polyroots_module Subroutine

dqtcrt computes the roots of the real polynomial

Read more…
fpml polyroots_module Subroutine

FPML: Fourth order Parallelizable Modification of Laguerre's method

Read more…
hqr polyroots_module Subroutine

This subroutine finds the eigenvalues of a real upper hessenberg matrix by the qr method.

Read more…
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.

Read more…
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.

Read more…
polyroots polyroots_module Subroutine

Solve for the roots of a real polynomial equation by computing the eigenvalues of the companion matrix.

Read more…
polzeros polyroots_module Subroutine

Numerical computation of the roots of a polynomial having complex coefficients, based on aberth's method.

Read more…
pythag polyroots_module Function

Compute the complex square root of a complex number without destructive overflow or underflow.

Read more…
qr_algeq_solver polyroots_module Subroutine

Solve the real coefficient algebraic equation by the qr-method.

Read more…
quadpl polyroots_module Subroutine

Calculate the zeros of the quadratic a*z**2 + b*z + c.

Read more…
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.

Read more…
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.

Read more…
rpzero polyroots_module Subroutine

Find the zeros of a polynomial with real coefficients: P(X)= A(1)*X**N + A(2)*X**(N-1) +...+ A(N+1)

Read more…
rroots_chebyshev_cubic polyroots_module Subroutine

Compute the roots of a cubic equation with real coefficients.

Read more…
scomqr polyroots_module Subroutine

This subroutine finds the eigenvalues of a complex upper hessenberg matrix by the qr method.

Read more…
sort_roots polyroots_module Subroutine

Sorts a set of complex numbers (with real and imag parts in different vectors) in increasing order.

Read more…
start polyroots_module Subroutine

compute the starting approximations of the roots

Read more…
call~~graph~~CallGraph interface~newton_root_polish polyroots_module::newton_root_polish proc~newton_root_polish_complex polyroots_module::newton_root_polish_complex interface~newton_root_polish->proc~newton_root_polish_complex proc~newton_root_polish_real polyroots_module::newton_root_polish_real interface~newton_root_polish->proc~newton_root_polish_real proc~aberth polyroots_module::aberth proc~cdiv polyroots_module::cdiv proc~cmerge polyroots_module::cmerge proc~ctest polyroots_module::ctest proc~cmerge->proc~ctest proc~left polyroots_module::left proc~cmerge->proc~left proc~right polyroots_module::right proc~cmerge->proc~right proc~cmplx_roots_gen polyroots_module::cmplx_roots_gen proc~cnvex polyroots_module::cnvex proc~cnvex->proc~cmerge proc~comqr polyroots_module::comqr proc~comqr->proc~cdiv proc~csroot polyroots_module::csroot proc~comqr->proc~csroot proc~pythag polyroots_module::pythag proc~comqr->proc~pythag proc~cpevl polyroots_module::cpevl proc~cpoly polyroots_module::cpoly proc~cpolyroots polyroots_module::cpolyroots proc~cpolz polyroots_module::cpolz proc~scomqr polyroots_module::scomqr proc~cpolz->proc~scomqr proc~cpqr79 polyroots_module::cpqr79 proc~cpqr79->proc~comqr proc~cpzero polyroots_module::cpzero proc~cpzero->proc~cpevl proc~csroot->proc~pythag proc~daord polyroots_module::daord proc~dcbcrt polyroots_module::dcbcrt proc~dcbrt polyroots_module::dcbrt proc~dcbcrt->proc~dcbrt proc~dqdcrt polyroots_module::dqdcrt proc~dcbcrt->proc~dqdcrt proc~dcpabs polyroots_module::dcpabs proc~dcsqrt polyroots_module::dcsqrt proc~dcsqrt->proc~dcpabs proc~dpolz polyroots_module::dpolz proc~dqtcrt polyroots_module::dqtcrt proc~dqtcrt->proc~daord proc~dqtcrt->proc~dcbcrt proc~dqtcrt->proc~dcsqrt proc~fpml polyroots_module::fpml proc~hqr polyroots_module::hqr proc~newton polyroots_module::newton proc~polyroots polyroots_module::polyroots proc~polzeros polyroots_module::polzeros proc~polzeros->proc~aberth proc~polzeros->proc~newton proc~start polyroots_module::start proc~polzeros->proc~start proc~qr_algeq_solver polyroots_module::qr_algeq_solver proc~quadpl polyroots_module::quadpl proc~rpoly polyroots_module::rpoly proc~rpqr79 polyroots_module::rpqr79 proc~rpqr79->proc~hqr proc~rpzero polyroots_module::rpzero proc~rpzero->proc~cpzero proc~rroots_chebyshev_cubic polyroots_module::rroots_chebyshev_cubic proc~sort_roots polyroots_module::sort_roots proc~start->proc~cnvex
Help