?laesy

Computes the eigenvalues and eigenvectors of a 2-by-2 complex symmetric matrix, and checks that the norm of the matrix of eigenvectors is larger than a threshold value.

Syntax

call claesy( a, b, c, rt1, rt2, evscal, cs1, sn1 )

call zlaesy( a, b, c, rt1, rt2, evscal, cs1, sn1 )

Include Files

  • Fortran: mkl.fi
  • C: mkl.h

Description

The routine performs the eigendecomposition of a 2-by-2 symmetric matrix


Equation

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


Equation

Input Parameters

a, b, c

COMPLEX for claesy

DOUBLE COMPLEX for zlaesy

Elements of the input matrix.

Output Parameters

rt1, rt2

COMPLEX for claesy

DOUBLE COMPLEX for zlaesy

Eigenvalues of larger and smaller modulus, respectively.

evscal

COMPLEX for claesy

DOUBLE COMPLEX for zlaesy

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 to 0.1E0).

cs1, sn1

COMPLEX for claesy

DOUBLE COMPLEX for zlaesy

If evscal is not zero, then (cs1, sn1) is the unit right eigenvector for rt1.

For more complete information about compiler optimizations, see our Optimization Notice.