nag_quartic_roots (c02alc) determines the roots of a quartic equation with real coefficients.
nag_quartic_roots (c02alc) attempts to find the roots of the quartic equation
where
,
,
,
and
are real coefficients with
. The roots are located by finding the eigenvalues of the associated 4 by 4 (upper Hessenberg) companion matrix
given by
Further details can be found in
Section 9.
To obtain the roots of a cubic equation,
nag_cubic_roots (c02akc) can be used.
nag_quartic_roots (c02alc) is not threaded in any implementation.
The method used by the function consists of the following steps, which are performed by functions from LAPACK.
(a) |
Form matrix . |
(b) |
Apply a diagonal similarity transformation to (to give ). |
(c) |
Calculate the eigenvalues and Schur factorization of . |
(d) |
Calculate the left and right eigenvectors of . |
(e) |
Estimate reciprocal condition numbers for all the eigenvalues of . |
(f) |
Calculate approximate error estimates for all the eigenvalues of (using the 1-norm). |
To find the roots of the quartic equation