Вычислительные методы линейной алгебры. Горбаченко В.И - 80 стр.

UptoLike

80
Несимметричные матрицы могут быть плохо обусловлены при вычисле-
нии собственных значений, что приводит к большим погрешностям вычисле-
ний. С помощью функции
balance производится масштабирование эле-
ментов матрицы при помощи балансировки. Масштабирование применяется
для предварительной обработки матрицы в случае сильного разброса абсо-
лютных значений элементов. Балансировка матрицы A заключается в нахо-
ждении диагональной матрицы
D
такой, чтобы у подобной матрицы
1
=BDAD
нормы строк и столбцов были примерно одинаковыми. Баланси-
ровка не изменяет спектр матрицы. Если A симметричная матрица, то ба-
лансировки не происходит, так как матрица
A
уже сбалансирована. Элемен-
ты матрицы D являются целыми степенями основания 2, поэтому ошибок
округления при балансировке не происходит. Функция
eig производит пред-
варительную балансировку матрицы. Но предварительная балансировка мат-
рицы не всегда оправдана. Например, если относительно малые элементы ис-
ходной матрицы есть ошибки округления, то после балансировки они будут
сравнимы с остальными элементами матрицы, что приведет к неверному ре-
зультату при вычислениях собственных значений.
Функция
[V,D]=eig(A,'nobalance') вычисляет собственные зна-
чения и векторы
без предварительной балансировки матрицы. Для такой
формы функции собственные векторы не нормируются.
Функция
s=condeig(A)вычисляет вектор чисел обусловленности за-
дачи на собственные значения для матрицы
A. Числа обусловленности опре-
деляются как обратные величины косинусов углов между левыми и правыми
собственными векторами, соответствующими некоторому собственному зна-
чению. Функция
[V,D,s]=condeig(A) возвращает матрицу V собствен-
ных векторов, диагональную матрицу
D собственных значений и вектор s
чисел обусловленности. Результат выполнения этой функции эквивалентен
выполнению двух функций
[V,D]=eig(A); s=condeig(A);.
    Несимметричные матрицы могут быть плохо обусловлены при вычисле-
нии собственных значений, что приводит к большим погрешностям вычисле-
ний. С помощью функции balance производится масштабирование эле-
ментов матрицы при помощи балансировки. Масштабирование применяется
для предварительной обработки матрицы в случае сильного разброса абсо-
лютных значений элементов. Балансировка матрицы A заключается в нахо-
ждении диагональной матрицы D такой, чтобы у подобной матрицы
B = D−1AD нормы строк и столбцов были примерно одинаковыми. Баланси-
ровка не изменяет спектр матрицы. Если A – симметричная матрица, то ба-
лансировки не происходит, так как матрица A уже сбалансирована. Элемен-
ты матрицы D являются целыми степенями основания 2, поэтому ошибок
округления при балансировке не происходит. Функция eig производит пред-
варительную балансировку матрицы. Но предварительная балансировка мат-
рицы не всегда оправдана. Например, если относительно малые элементы ис-
ходной матрицы есть ошибки округления, то после балансировки они будут
сравнимы с остальными элементами матрицы, что приведет к неверному ре-
зультату при вычислениях собственных значений.
    Функция [V,D]=eig(A,'nobalance') вычисляет собственные зна-
чения и векторы без предварительной балансировки матрицы. Для такой
формы функции собственные векторы не нормируются.
    Функция s=condeig(A)вычисляет вектор чисел обусловленности за-
дачи на собственные значения для матрицы A. Числа обусловленности опре-
деляются как обратные величины косинусов углов между левыми и правыми
собственными векторами, соответствующими некоторому собственному зна-
чению. Функция [V,D,s]=condeig(A) возвращает матрицу V собствен-
ных векторов, диагональную матрицу D собственных значений и вектор s
чисел обусловленности. Результат выполнения этой функции эквивалентен
выполнению двух функций [V,D]=eig(A); s=condeig(A);.




                                                                      80