- EigenSolver
- EigenSolverX
- EigenSolverShur
- EigenSolver2
- EigenSolver2X
- EigenSolver2Shur
- EigenSolver2Blocked
- EigenSolver2ShurBlocked
EigenSolver
Вычисление собственных значений и собственных векторов обычной квадратной матрицы классическим алгоритмом (LAPACK-функция GEEV).
Вычисления для типа matrix<double>
bool matrix::EigenSolver(
|
Вычисления для типа matrix<float>
bool matrixf::EigenSolver(
|
Вычисления для типа matrix<complex>
bool matrixc::EigenSolver(
|
Вычисления для типа matrix<complexf>
bool matrixcf::EigenSolver(
|
Параметры
jobv
[in] Значение из перечисления ENUM_EIG_VECTORS, определяющее способ вычисления левых и правых собственных векторов.
EV
[out] Вектор собственных значений.
left_eigenvectors
[out] Матрица левых собственных векторов.
right_eigenvectors
[out] Матрица правых собственных векторов.
Возвращаемое значение
Возвращает true в случае успеха и false в случае ошибки.
Примечание
Расчет зависит от значений параметра jobv.
Если параметр установлен в значение EIGVECTORS_N, левые и правые векторы не рассчитываются. Рассчитываются только собственные значения.
Если установлено EIGVECTORS_L, рассчитываются только левые собственные векторы, правые векторы не рассчитываются.
При значении EIGVECTORS_R рассчитываются только правые собственные векторы, левые векторы не рассчитываются.
При значении EIGVECTORS_LR рассчитываются левые и правые собственные векторы, собственные значения вычисляются всегда.
Реальные (не комплексные) матрицы могут иметь комплексное решение. Поэтому вектор собственных значений должен быть комплексным. В случае комплексного решения код ошибки устанавливается в 4019 (ERR_MATH_OVERFLOW). В противном случае нужно учитывать только реальные части комплексных значений вектора собственных значений.
Перечисление, определяющее необходимость вычисления собственных векторов.
Идентификатор |
Описание |
---|---|
EIGVECTORS_N |
Вычисляются только собственные значения, без векторов. |
EIGVECTORS_L |
Вычисляются только левые собственные векторы. |
EIGVECTORS_R |
Вычисляются только правые собственные векторы. |
EIGVECTORS_LR |
Вычисляются левые и правые собственные векторы, собственные значения вычисляются всегда. |