![]() |
LAPACK
3.9.0
LAPACK: Linear Algebra PACKage
|
| subroutine zlaesy | ( | complex*16 | A, |
| complex*16 | B, | ||
| complex*16 | C, | ||
| complex*16 | RT1, | ||
| complex*16 | RT2, | ||
| complex*16 | EVSCAL, | ||
| complex*16 | CS1, | ||
| complex*16 | SN1 | ||
| ) |
ZLAESY computes the eigenvalues and eigenvectors of a 2-by-2 complex symmetric matrix.
Download ZLAESY + dependencies [TGZ] [ZIP] [TXT]
ZLAESY computes the eigendecomposition of a 2-by-2 symmetric matrix
( ( A, B );( B, C ) )
provided the norm of the matrix of eigenvectors is larger than
some threshold value.
RT1 is the eigenvalue of larger absolute value, and RT2 of
smaller absolute value. If the eigenvectors are computed, then
on return ( CS1, SN1 ) is the unit eigenvector for RT1, hence
[ CS1 SN1 ] . [ A B ] . [ CS1 -SN1 ] = [ RT1 0 ]
[ -SN1 CS1 ] [ B C ] [ SN1 CS1 ] [ 0 RT2 ] | [in] | A | A is COMPLEX*16
The ( 1, 1 ) element of input matrix. |
| [in] | B | B is COMPLEX*16
The ( 1, 2 ) element of input matrix. The ( 2, 1 ) element
is also given by B, since the 2-by-2 matrix is symmetric. |
| [in] | C | C is COMPLEX*16
The ( 2, 2 ) element of input matrix. |
| [out] | RT1 | RT1 is COMPLEX*16
The eigenvalue of larger modulus. |
| [out] | RT2 | RT2 is COMPLEX*16
The eigenvalue of smaller modulus. |
| [out] | EVSCAL | EVSCAL is COMPLEX*16
The complex value by which the eigenvector matrix was scaled
to make it orthonormal. If EVSCAL is zero, the eigenvectors
were not computed. This means one of two things: the 2-by-2
matrix could not be diagonalized, or the norm of the matrix
of eigenvectors before scaling was larger than the threshold
value THRESH (set below). |
| [out] | CS1 | CS1 is COMPLEX*16 |
| [out] | SN1 | SN1 is COMPLEX*16
If EVSCAL .NE. 0, ( CS1, SN1 ) is the unit right eigenvector
for RT1. |
Definition at line 117 of file zlaesy.f.