- EigenSolver
- EigenSolverX
- EigenSolverShur
- EigenSolver2
- EigenSolver2X
- EigenSolver2Shur
- EigenSolver2Blocked
- EigenSolver2ShurBlocked
EigenSolver2Shur
Вычисление для пары обычных квадратных матриц обобщённых собственных значений, обобщённых собственных векторов, обобщённых форм Шура и левых и правых векторов Шура (lapack-функция GGES).
Вычисляет обобщенные собственные значения, обобщенную действительную/комплексную форму Шура (S,T), опционально левую и/или правую матрицы векторов Шура (vsl и vsr) для пары действительных/комплексных несимметричных матриц (A,B) размером n на n. Это дает обобщенную факторизацию Шура:
(A,B) = ( vsl*S *vsrH, vsl*T*vsrH )
Также может упорядочивать собственные значения таким образом, чтобы выбранный кластер собственных значений появлялся в ведущих диагональных блоках верхней квазитреугольной матрицы S и верхней треугольной матрицы T. Затем ведущие столбцы vsl и vsr образуют ортонормированный/унитарный базис для соответствующих левого и правого собственных пространств (дефляционных подпространств).
Вычисления для типа matrix<double>
bool matrix::EigenSolver2Shur(
|
Вычисления для типа matrix<float>
bool matrixf::EigenSolver2Shur(
|
Вычисления для типа matrix<complex>
bool matrix::EigenSolver2Shur(
|
Вычисления для типа matrix<complexf>
bool matrixcf::EigenSolver2Shur(
|
Параметры
B
[out] Вторая матрица в паре.
jobvs
[in] Значение из перечисления ENUM_EIG_VECTORS, определяющее способ вычисления левых и правых собственных векторов.
alpha
[out] Вектор собственных значений.
beta
[out] Вектор делителей собственных значений.
shur_s
[out] Mатрица S, блочная верхнетреугольная матрица Шура (форма Шура для входной матрицы).
shur_t
[out] Mатрица T, блочная верхнетреугольная матрица Шура (форма Шура для второй матрицы в паре).
vsl
[out] Матрица левых векторов Шура.
vsr
[out] Матрица правых векторов Шура.
Возвращаемое значение
Возвращает true в случае успеха, иначе false в случае ошибки.
Примечание
Расчёт зависит от значений параметра jobvs.
Вторая матрица в паре должна быть того же самого размера, что и первая (входная) матрица.
Реальные (не комплексные) матрицы могут иметь комплексное решение. Поэтому вектор собственных значений должен быть комплексным. В случае комплексного решения код ошибки устанавливается в 4019 (ERR_MATH_OVERFLOW). В противном случае нужно учитывать только реальные части комплексных значений вектора собственных значений.
EigenSolverShur
Перечисление, определяющее необходимость вычисления собственных векторов.
Идентификатор |
Описание |
---|---|
EIGVECTORS_N |
Вычисляются только собственные значения, без векторов. |
EIGVECTORS_L |
Вычисляются только левые собственные векторы. |
EIGVECTORS_R |
Вычисляются только правые собственные векторы. |
EIGVECTORS_LR |
Вычисляются левые и правые собственные векторы, собственные значения вычисляются всегда. |