Previous: zlaein Up: ../lapack-z.html Next: zlaev2

NAME ZLAESY - compute the eigendecomposition of a 2x2 symmetric matrix ( ( A, B );( B, C ) ) provided the norm of the matrix of eigenvectors is larger than some threshold value SYNOPSIS SUBROUTINE ZLAESY( A, B, C, RT1, RT2, EVSCAL, CS1, SN1 ) COMPLEX*16 A, B, C, CS1, EVSCAL, RT1, RT2, SN1 PURPOSE ZLAESY computes the eigendecomposition of a 2x2 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 ] ARGUMENTS A (input) COMPLEX*16 The ( 1, 1 ) entry of input matrix. B (input) COMPLEX*16 The ( 1, 2 ) entry of input matrix. The ( 2, 1 ) entry is also given by B, since the 2 x 2 matrix is symmetric. C (input) COMPLEX*16 The ( 2, 2 ) entry of input matrix. RT1 (output) COMPLEX*16 The eigenvalue of larger modulus. RT2 (output) COMPLEX*16 The eigenvalue of smaller modulus. EVSCAL (output) 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 x 2 matrix could not be diagonalized, or the norm of the matrix of eigen- vectors before scaling was larger than the threshold value THRESH (set below). CS1 (output) COMPLEX*16 SN1 (output) COMPLEX*16 If EVSCAL .NE. 0, ( CS1, SN1 ) is the unit right eigenvector for RT1.