- MatrixBalance
- EigenVectorsBackward
- ReduceToHessenbergBalanced
- ReflectHessenbergBalancedToQ
- EigenHessenbergBalancedSchurQ
MatrixBalance
Балансирует общую вещественную или комплексную квадратную матрицу A. Сначала выполняется перестановка A с помощью преобразования подобия для выделения собственных значений в первых 1 до ILO-1 и последних IHI+1 до N элементов на диагонали. Затем выполняется диагональное преобразование подобия для строк и столбцов от ILO до IHI, чтобы сделать нормы строк и столбцов максимально близкими. Оба шага являются опциональными. Балансировка может уменьшить 1-норму матрицы и повысить точность вычисленных собственных значений и/или собственных векторов. Функция LAPACK GEBAL.
Вычисления для типа matrix<double>
bool matrix::MatrixBalance(
|
Вычисления для типа matrix<float>
bool matrixf::MatrixBalance(
|
Вычисления для типа matrix<complex>
bool matrixc::MatrixBalance(
|
Вычисления для типа matrix<complexf>
bool matrixcf::MatrixBalance(
|
Параметры
job
[in] Значение из перечисления ENUM_EIG_BALANCE, которое определяет необходимость и способ балансировки входной матрицы.
AB
[out] Сбалансированная матрица.
ilo
[out] Индекс нижней границы сбалансированной матрицы.
ihi
[out] Индекс верхней границы сбалансированной матрицы.
scale
[out] Вектор подробностей перестановок и масштабирования при балансировке входной матрицы.
Детали перестановок и масштабирования, применяемых при балансировке А.
Если P(j) — это индекс строки и столбца, меняемого местами со строкой и столбцом j, а D(j) — это коэффициент масштабирования, примененный к строке и столбцу j, тогда
scale(j) = P(j), для j = 1,...,ilo-1
= D(j), для j = ilo,...,ihi
= P(j) для j = ihi+1,..., n.
Порядок, в котором выполняются перестановки: сначала n в ihi+1, затем 1 в ilo-1.
Возвращаемое значение
Возвращает true в случае успеха, иначе false в случае ошибки.
ENUM_EIG_BALANCE
Перечисление, определяющее необходимость вычисления собственных векторов.
Идентификатор |
Описание |
---|---|
EIGBALANCE_N |
Не проводится диагональное масштабирование и перестановка. |
EIGBALANCE_P |
Выполняются перестановки, чтобы привести матрицу к почти верхнетреугольному виду. Не выполняется диагональное масштабирование |
EIGBALANCE_S |
Выполняется диагональное масштабирование матрицы. Перестановка не проводится |
EIGBALANCE_B |
Выполняется и диагональное масштабирование, и перестановка. |