EigenTridiagonalQR

Вычисление собственных значений и собственных векторов симметричной трехдиагональной матрицы с использованием QR-алгоритма (lapack-функция STEV).

Вычисления для типа matrix<double>

bool  matrix::EigenTridiagonalQR(
   ENUM_EIG_VALUES       jobv,               // необходимость вычисления собственных векторов
   vector&               eigen_values,       // вектор рассчитанных собственных значений
   matrix&               eigen_vectors       // матрица рассчитанных собственных векторов
   );

Вычисления для типа matrix<float>

bool  matrixf::EigenTridiagonalQR(
   ENUM_EIG_VALUES       jobv,               // необходимость вычисления собственных векторов
   vectorf&              eigen_values,       // вектор рассчитанных собственных значений
   matrixf&              eigen_vectors       // матрица рассчитанных собственных векторов
   );

Параметры

jobv

[in]  Значение из перечисления ENUM_EIG_VALUES, определяющее способ вычисления собственных векторов.

eigen_values

[out] Вектор собственных значений.

eigen_vectors

[out] Матрица собственных векторов.

Возвращаемое значение

Возвращает true в случае успеха, иначе false в случае ошибки.

Примечание

Расчёт зависит от значений параметра jobv.

При значении jobv = EIGVALUES_V рассчитываются собственные векторы и собственные значения.

При значении EIGVALUES_N собственные векторы не рассчитываются. Рассчитываются только собственные значения.

На входе должна быть симметричная матрица в трехдиагональной форме.

ENUM_EIG_VALUES

Перечисление, определяющее необходимость вычисления собственных векторов.

Идентификатор

Описание

EIGVALUES_V

Вычисляются собственные векторы и собственные значения.

EIGVALUES_N

Вычисляются только собственные значения, без векторов.