- MatrixBalance
- EigenVectorsBackward
- ReduceToHessenbergBalanced
- ReflectHessenbergBalancedToQ
- EigenHessenbergBalancedSchurQ
Matrix Balance
В этом разделе представлены функции, повышающие численную устойчивость и точность вычисления собственных значений за счет преобразования общих матриц в сбалансированные формы. Балансировка матрицы включает перестановку и масштабирование строк и столбцов для уменьшения нормы матрицы и выделения собственных значений. Такое преобразование значительно улучшает работу последующих алгоритмов.
Функции из этого раздела будут особенно полезны при подготовке матриц к эффективным и точным вычислениям собственных значений и разложениям Шура.
Функция |
Выполняемое действие |
---|---|
Балансирует общую вещественную или комплексную квадратную матрицу A. Сначала выполняется перестановка A с помощью преобразования подобия для выделения собственных значений в первых 1 до ILO-1 и последних IHI+1 до N элементов на диагонали. Затем выполняется диагональное преобразование подобия для строк и столбцов от ILO до IHI, чтобы сделать нормы строк и столбцов максимально близкими. Оба шага являются опциональными. Балансировка может уменьшить 1-норму матрицы и повысить точность вычисленных собственных значений и/или собственных векторов. Функция LAPACK GEBAL. |
|
Формирует правые или левые собственные векторы вещественной или комплексной общей матрицы с помощью обратного преобразования, примененного к собственным векторам сбалансированной матрицы, полученной функцией MatrixBalance. Функция LAPACK GEBAK. |
|
Преобразует вещественную или комплексную общую сбалансированную матрицу A размера n на n к верхней форме Хессенберга H с помощью ортогонального преобразования подобия: Q**T * A * Q = H. Функция LAPACK GEHRD. |
|
Генерирует ортогональную матрицу Q, которая определяется как произведение элементарных отражений от ReduceToHessenbergBalanced: Q = H(ilo) H(ilo+1). . . H(ihi-1). Функция LAPACK ORGHR. |
|
Вычисляет собственные значения матрицы Хессенберга H и матриц T и Z из разложения Шура H = Z T Z**T, где T — верхняя квазитреугольная матрица (форма Шура), а Z — ортогональная матрица векторов Шура. Опционально Z может быть перемножена справа с входной ортогональной матрицей Q, что позволяет получить факторизацию Шура матрицы A, которая была приведена к форме Хессенберга H ортогональной матрицей Q: A = Q*H*Q**T = (QZ)*T*(QZ)**T. Функция LAPACK HSEQR. |