![]() |
LAPACK 3.12.1
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 112 of file zlaesy.f.