Переупорядочить собственные значения в факторизации Шура в собственной библиотеке

Я использую библиотеку Eigen с Eclipse C ++. Интересно, есть ли метод или функция, которую я могу использовать, чтобы изменить порядок факторизации Шура X = UTU ‘производится RealSchur функции и вернуть переупорядоченную матрицу Шура TS и совокупное ортогональное преобразование US, так что X = US * TS * US ‘

Я хочу что-то похожее на функцию MATLAB «ordschur»: http://de.mathworks.com/help/matlab/ref/ordschur.html

Спасибо заранее.

0

Решение

Эта функция доступна в библиотеке LAPACK в функции DGEES.

Вот также выдержка из справки этой функции:

DGEES computes for an N-by-N real nonsymmetric matrix A, the
eigenvalues, the real Schur form T, and, optionally, the matrix of
Schur vectors Z.  This gives the Schur factorization A = Z*T*(Z**T).

Optionally, it also orders the eigenvalues on the diagonal of the
real Schur form so that selected eigenvalues are at the top left.
The leading columns of Z then form an orthonormal basis for the
invariant subspace corresponding to the selected eigenvalues.

A matrix is in real Schur form if it is upper quasi-triangular with
1-by-1 and 2-by-2 blocks. 2-by-2 blocks will be standardized in the
form
[  a  b  ]
[  c  a  ]

where b*c < 0. The eigenvalues of such a block are a +- sqrt(bc).

Существует также версия LAPACK для C, и она называется CLAPACK

0

Другие решения


По вопросам рекламы [email protected]