EigenSolverShur

Вычисление собственных значений, верхнетреугольной матрицы в форме Шура и матрицы векторов Шура (LAPACK-функция GEES). См. также Разложение Шура.

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

bool  matrix::EigenSolverShur(
   ENUM_EIG_VECTORS      jobvs,                   // способ вычисления векторов Шура
   vectorc&              eigen_values,            // вектор рассчитанных собственных значений
   matrix&               shur_matrix,             // матрица в форме Шура
   matrix&               shur_vectors             // матрица векторов Шура
   );

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

bool  matrixf::EigenSolverShur(
   ENUM_EIG_VECTORS      jobvs,                   // способ вычисления векторов Шура
   vectorcf&             eigen_values,            // вектор рассчитанных собственных значений
   matrixf&              shur_matrix,             // матрица в форме Шура
   matrixf&              shur_vectors             // матрица векторов Шура
   );

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

bool  matrixc::EigenSolverShur(
   ENUM_EIG_VECTORS      jobvs,                   // способ вычисления векторов Шура
   vectorc&              eigen_values,            // вектор рассчитанных собственных значений
   matrixc&              shur_matrix,             // матрица в форме Шура
   matrixc&              shur_vectors             // матрица векторов Шура
   );

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

bool  matrixcf::EigenSolverShur(
   ENUM_EIG_VECTORS      jobvs,                   // способ вычисления векторов Шура
   vectorcf&             eigen_values,            // вектор рассчитанных собственных значений
   matrixcf&             shur_matrix,             // матрица в форме Шура
   matrixcf&             shur_vectors             // матрица векторов Шура
   );

Параметры

jobvs

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

eigen_values

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

shur_matrix

[out]  Верхнетреугольная матрица Шура (форма Шура для входной матрицы).

shur_vectors

[out]  Матрица векторов Шура. Не вычисляется, если параметр jobvs установлен в значение N.

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

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

Примечание

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

Реальные (не комплексные) матрицы могут иметь комплексное решение. Поэтому входной вектор собственных значений должен быть комплексным. В случае комплексного решения код ошибки устанавливается в 4019 (ERR_MATH_OVERFLOW). В противном случае нужно учитывать только реальные части комплексных значений вектора собственных значений.

EigenSolverShur

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

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

Описание

EIGSHUR_N

Векторы Шура не вычисляются

EIGSHUR_V

Векторы Шура вычисляются