\brief \b ESMF_DLAEV2 computes the eigenvalues and eigenvectors of a 2-by-2 symmetric/Hermitian matrix. \htmlonly Download ESMF_DLAEV2 + dependencies [TGZ] [ZIP] [TXT] \endhtmlonly \par Purpose:
\verbatim
ESMF_DLAEV2 computes the eigendecomposition of a 2-by-2 symmetric matrix [ A B ] [ B C ]. On return, RT1 is the eigenvalue of larger absolute value, RT2 is the eigenvalue of smaller absolute value, and (CS1,SN1) is the unit right eigenvector for RT1, giving the decomposition
[ CS1 SN1 ] [ A B ] [ CS1 -SN1 ] = [ RT1 0 ] [-SN1 CS1 ] [ B C ] [ SN1 CS1 ] [ 0 RT2 ]. \endverbatim \param[in] A \verbatim A is DOUBLE PRECISION The (1,1) element of the 2-by-2 matrix. \endverbatim
\param[in] B \verbatim B is DOUBLE PRECISION The (1,2) element and the conjugate of the (2,1) element of the 2-by-2 matrix. \endverbatim
\param[in] C \verbatim C is DOUBLE PRECISION The (2,2) element of the 2-by-2 matrix. \endverbatim
\param[out] RT1 \verbatim RT1 is DOUBLE PRECISION The eigenvalue of larger absolute value. \endverbatim
\param[out] RT2 \verbatim RT2 is DOUBLE PRECISION The eigenvalue of smaller absolute value. \endverbatim
\param[out] CS1 \verbatim CS1 is DOUBLE PRECISION \endverbatim
\param[out] SN1 \verbatim SN1 is DOUBLE PRECISION The vector (CS1, SN1) is a unit right eigenvector for RT1. \endverbatim \author Univ. of Tennessee \author Univ. of California Berkeley \author Univ. of Colorado Denver \author NAG Ltd. \date December 2016 \ingroup OTHERauxiliary \par Further Details:
\verbatim
RT1 is accurate to a few ulps barring over/underflow.
RT2 may be inaccurate if there is massive cancellation in the determinant AC-BB; higher precision or correctly rounded or correctly truncated arithmetic would be needed to compute RT2 accurately in all cases.
CS1 and SN1 are accurate to a few ulps barring over/underflow.
Overflow is possible only if RT1 is within a factor of 5 of overflow. Underflow is harmless if the input data is 0 or exceeds underflow_threshold / macheps. \endverbatim
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
double precision | :: | A | ||||
double precision | :: | B | ||||
double precision | :: | C | ||||
double precision | :: | RT1 | ||||
double precision | :: | RT2 | ||||
double precision | :: | CS1 | ||||
double precision | :: | SN1 |