EigenSymmetricDC

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

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

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

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

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

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

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

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

bool  matrixcf::EigenSymmetricDC(
   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

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