EigenSymmetricQR

Вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряжённой) матрицы при помощи классического алгоритма QR (LAPACK-функции SYEV, HEEV).

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

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

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

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

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

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

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

bool  matrixcf::EigenSymmetricQR(
   ENUM_EIG_VALUES       jobv,               // нужно ли вычислять собственные векторы
   vectorf&              eigen_values,       // вектор собственных значений
   matrixcf&             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

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