- •4 Решение систем линейных алгебраических уравнений
- •4.1 Общие сведения
- •4.2 Метод гаусса
- •4.3 Связь метода гаусса с разложением матрицы на множители. Схема халецкого
- •4.4 Вычисление определителя и обратной матрицы
- •4.5 Метод прогонки
- •4.6 Плохо обусловленные системы. Мера обусловленности
- •4.7 Итерационные методы решения слау
- •4.7.1 Метод простой итерации
- •4.7.2 Метод Зейделя
- •4.7.3 Метод релаксации
- •4.8 Нахождение собственных значений
- •4.8.1 Метод Леверрье
- •4.8.2 Метод неопределенных коэффициентов построения характеристического полинома
- •4.8.3 Итерационный способ одновременного нахождения собственных значений и собственных векторов
4.8.2 Метод неопределенных коэффициентов построения характеристического полинома
Пусть
.
Положим в этом соотношении последовательно = 0,1,2,…, n–1. Тогда для коэффициентов pi (i = 1..n) получаем систему линейных уравнений
Из первого уравнения сразу определяем коэффициент
pn= D(0)=det(A).
Система уравнений для других коэффициентов принимает вид:
Порядок действий при работе с этим методом можно определить следующий:
находим определители вида D(k) = det(A–kE),
где k = 0,1,…, n–1;
составляем матрицу В вида
и находим ей обратную В–1;
тогда решение имеет вид p = В–1d, где
.
4.8.3 Итерационный способ одновременного нахождения собственных значений и собственных векторов
Нахождение собственных значений путем решения характеристического полинома можно назвать прямым способом. Существуют и итерационные способы, например, для положительно определенной симметрической матрицы, часто встречающейся в практических приложениях, известен итерационный способ одновременного нахождения собственных значений и собственных векторов.
Напомним свойства положительно определенной симметрической матрицы:
все собственные числа действительны и положительны;
собственные векторы образуют систему ортогональных полиномов, то есть
при j
k
. (4.22)
Рассмотрим систему линейных уравнений (4.18). Для определения собственных векторов x(i), соответствующих всему спектру собственных значений {i}, имеем n систем уравнений:
Ах(1)=1х(1); Ах(2)=2х(2); …, Ах(n)=nх(n), (4.23)
каждая из которых представляет собой систему n нелинейных уравнений с n+1 неизвестным.
Преобразуем первую систему из этого списка (запишем справа налево и поделим на 1):
Теперь воспользуемся тем обстоятельством, что при умножении (делении) собственного вектора на скаляр он остается собственным вектором той же матрицы, то есть он определяется с точностью до коэффициента пропорциональности. Отсюда практический вывод: собственный вектор можно нормировать, например, поделив на максимальный элемент. Таким образом, можно всегда положить одну из координат собственного вектора равной единице. Пусть хn(1) = 1.
Для решения получившейся системы n нелинейных уравнений с n неизвестными можно использовать, например, метод простой итерации.
Итерационный процесс будет иметь вид:
Задаем
начальные приближения
и
и
с заданной степенью точности находим
первое собственное значение 1
и первый собственный вектор х(1).
Для нахождения второго собственного значения 2 и второго собственного вектора х(2) запишем вторую систему из списка (4.23):
(4.24)
и воспользуемся условием ортогональности (4.22), записав его для векторов х(1) и х(2):
.
Выразим
отсюда одно из неизвестных, например,
:
и, подставляя его в (4.24), получаем
Полагая
решаем эту систему методом простой
итерации и получаем второе собственное
значение 2
и второй собственный вектор
.
Для
нахождения третьего собственного
значения 3
и второго собственного вектора
записываем
два соотношения ортогональности:
,
из которого выражаем
,
и
,
из которого выражаем
.
Добавляя
условие нормализации
,
решаем третью систему уравнений из
списка (4.23). И так далее.
Так как собственные векторы определяются с точностью до коэффициентов пропорциональности, то решение будет выглядеть следующим образом:
1 |
|
|
… |
|
|
2 |
|
|
… |
|
|
3 |
|
|
… |
|
|
… |
… |
… |
… |
… |
… |
n |
|
|
… |
|
|
1 Так как условие ||B||<1 – достаточное условие сходимости, то практически можно поступить следующим образом. После преобразования программируем итерационную схему и проводим вычисление. Если процесс сходится – решение найдено, если нет – проводим другое преобразование.
1 Например, для квадратного уравнения 2+р1+р2=0, используя теорему Виета, получаем формулу Ньютона при k=1: S1= 1+2 =-p1 Далее, рассмотрим S2=12+22= =(1+2)2-212 =(-p1)(-p1)-2p2 . Заменяя –p1=1+2 =S1, получаем формулу Ньютона при k=2 : S2+p1S1=-2p2.
2 Англ. trace – след, или нем. Spur - след
