EigenSymmetricDC

Вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряжённой) матрицы при помощи алгоритма "divide and conquere" (lapack-функции SYEVD, HEEVD).

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

bool  matrix::EigenSymmetricDC(
   ENUM_EIG_VALUES       jobz,     // необходимость вычисления собственных векторов
   double&               EV,       // вектор рассчитанных собственных значений
   matrix&               V         // матрица рассчитанных собственных векторов
   );

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

bool  matrix::EigenSymmetricDC(
   ENUM_EIG_VALUES       jobz,     // необходимость вычисления собственных векторов
   float&                EV,       // вектор рассчитанных собственных значений
   matrixf&              V         // матрица рассчитанных собственных векторов
   );

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

bool  matrix::EigenSymmetricDC(
   ENUM_EIG_VALUES       jobz,     // необходимость вычисления собственных векторов
   double&               EV,       // вектор рассчитанных собственных значений
   matrixc&              V         // матрица рассчитанных собственных векторов
   );

Параметры

jobz

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

EV

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

VL

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

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

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

Примечание

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

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

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

На вход можно подать симметричную (эрмитову), верхнетреугольную или нижнетреугольную матрицу. Треугольные матрицы подразумеваются симметричными (эрмитово-сопряжёнными).

ENUM_EIG_VALUES

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

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

Описание

EIGVALUES_V

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

EIGVALUES_N

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