c02akf attempts to find the roots of the cubic equation
where
,
,
and
are real coefficients with
. The roots are located by finding the eigenvalues of the associated
(upper Hessenberg) companion matrix
given by
The eigenvalues are obtained by a call to
f08pef. Further details can be found in
Section 9.
To obtain the roots of a quartic equation,
c02alf can be used.
If on entry
or
, explanatory error messages are output on the current error message unit (as defined by
x04aaf).
Background information to multithreading can be found in the
Multithreading documentation.
Please consult the
X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this routine. Please also consult the
Users' Note for your implementation for any additional implementation-specific information.
The method used by the routine consists of the following steps, which are performed by routines from LAPACK in
Chapter F08.
-
(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 -norm).
This example finds the roots of the cubic equation