EigenTridiagonalQR

Compute eigenvalues and eigenvectors of a symmetric tridiagonal matrix using the QR algorithm (lapack function STEV).

Computing for type matrix<double>

bool  matrix::EigenTridiagonalQR(
  ENUM_EIG_VALUES     jobv,              // compute eigenvectors or not
  vector&             eigen_values,      // vector of computed eigenvalues
  matrix&               eigen_vectors      // matrix of computed eigenvectors
  );

Computing for type matrix<float>

bool  matrixf::EigenTridiagonalQR(
  ENUM_EIG_VALUES     jobv,              // compute eigenvectors or not
  vectorf&           eigen_values,      // vector of computed eigenvalues
  matrixf&             eigen_vectors      // matrix of computed eigenvectors
  );

Parameters

jobv

[in]  ENUM_EIG_VALUES enumeration value which determines the method for computing eigenvectors.

eigen_values

[out] Vector of eigenvalues.

eigen_vectors

[out] Matrix of eigenvectors.

Return Value

Return true if successful, otherwise false in case of an error.

Note

Computation depends on the value of the jobv parameter.

When jobv = EIGVALUES_V, eigenvectors and eigenvalues are calculated.

If EIGVALUES_N is set, eigenvectors are not calculated. Only eigenvalues are computed.

The input must be a symmetric matrix in the tridiagonal form.

ENUM_EIG_VALUES

An enumeration that specifies whether to calculate eigenvectors.

ID

Description

EIGVALUES_V

Eigenvectors and eigenvalues are calculated.

EIGVALUES_N

Only eigenvalues are calculated, without vectors.