EigenSolverSchur

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

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

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

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

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

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

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

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

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

Параметры

jobvs

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

eigen_values

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

schur_matrix

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

schur_vectors

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

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

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

Примечание

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

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

ENUM_EIG_SCHUR

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

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

Описание

EIGSCHUR_N

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

EIGSCHUR_V

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