СРАВНЕНИЕ ПРОСТЫХ И ИТЕРАЦИОННЫХ МЕТОДОВ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ - Студенческий научный форум

VIII Международная студенческая научная конференция Студенческий научный форум - 2016

СРАВНЕНИЕ ПРОСТЫХ И ИТЕРАЦИОННЫХ МЕТОДОВ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ

Сенина А.С. 1, Межаков А.В. 1
1Белгородский государственный национальный исследовательский университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Введение

Решение систем линейных алгебраических уравнений – одна из основных задач вычислительной линейной алгебры. Хотя задача решения системы линейных уравнений сравнительно редко представляет самостоятельный интерес для приложений, от умения эффективно решать такие системы часто зависит сама возможность математического моделирования самых разнообразных процессов с применением ЭВМ. Значительная часть численных методов решения различных (в особенности – нелинейных) задач включает в себя решение систем линейных уравнений как элементарный шаг соответствующего алгоритма. Мы сравним два метода решения систем линейных уравнений – метод Гаусса и метод простых итераций.

Метод Гаусса

Одним из самых распространенных методов решения систем линейных уравнений является метод Гаусса. Этот метод (который также называют методом последовательного исключения неизвестных) известен в различных вариантах уже более 2000 лет.

Вычисления с помощью метода Гаусса заключаются в последовательном исключении неизвестных из системы для преобразования ее к эквивалентной системе с верхней треугольной матрицей. Вычисления значений неизвестных производят на этапе обратного хода.

Рассмотрим простейший вариант метода Гаусса, называемый схемой единственного деления.

Прямой ход состоит из n - 1 шагов исключения.

1-й шаг. Целью этого шага является исключение неизвестного x1 из уравнений с номерами i = 2, 3, …, n. Предположим, что коэффициент a11 0. Будем называть его главным элементом 1-го шага.

Найдем величины

qi1 = ai1/a11 (i = 2, 3, …, n),

называемые множителями 1-го шага. Вычтем последовательно из второго, третьего, …, n-го уравнений системы первое уравнение, умноженное соответственно на q21, q31, …, qn1.

Это позволит обратить в нуль коэффициенты при x1 во всех уравнениях, кроме первого.

В результате получим эквивалентную систему

a11x1 + a12x2 + a13x3 + … + a1nxn= b1 ,

a22(1)x2 + a23(1)x3 + … + a2n(1)xn= b2(1) ,

a32(1)x2 + a33(1)x3 + … + a3n(1)xn= b3(1) ,

………………….

an2(1)x2 + an3(1)x3 + … + ann(1)xn= bn(1) .

в которой aij(1) и bij(1) вычисляются по формулам

aij(1) = aij − qi1a1j , bi(1) = bi − qi1b1.

2-й шаг. Целью этого шага является исключение неизвестного x2 из уравнений с номерами i = 3, 4, …, n. Пусть a22(1) ≠ 0, где a22(1) – коэффициент, называемый главным (или ведущим) элементом 2-го шага. Вычислим множители 2-го шага

qi2 = ai2(1) / a22(1) (i = 3, 4, …, n)

и вычтем последовательно из третьего, четвертого, …, n-го уравнения системы второе уравнение, умноженное соответственно на q32, q42, …, qm2. В результате получим систему

a11x1 + a12x2 + a13x3 + … + a1nxn = b1 ,

a22(1)x2 + a23(1)x3 + … + a2n(1) = b2(1) ,

a33(2)x3 + … + a3n(2)xn = b3(2) ,

. . . . . . . . . . . . . . . . . . .

an3(2)x3 + … + ann(2)xn= bn(2) .

Здесь коэффициенты aij(2) и bij(2) вычисляются по формулам

aij(2) = aij(1) – qi2a2j(1) , bi(2) = bi(1) – qi2b2(1).

Аналогично проводятся остальные шаги. Опишем очередной k-й шаг.

k-й шаг. В предположении, что главный (ведущий) элемент k-го шага akk(k–1) отличен от нуля, вычислим множители k-го шага

qik = aik(k–1) / akk(k–1) (i = k + 1, …, n)

и вычтем последовательно из (k + 1)-го, …, n-го уравнений полученной на предыдущем шаге системы k-e уравнение, умноженное соответственно на qk+1,k, qk+2,k, …, qnk.

После (n - 1)-го шага исключения получим систему уравнений

a11x1 + a12x2 + a13x3 + … + a1nxn = b1 ,

a22(1)x2 + a23(1)x3 + … + a2n(1)xn = b2(1) ,

a33(2)x3 + … + a3n(2)xn = b3(2) ,

………………

ann(n–1)xn = bn(n–1) .

Матрица A(n-1) которой является верхней треугольной. На этом вычисления прямого хода заканчиваются.

Обратный ход. Из последнего уравнения системы находим xn. Подставляя найденное значение xn в предпоследнее уравнение, получим xn–1. Осуществляя обратную подстановку, далее последовательно находим xn–1, xn–2, …, x1. Вычисления неизвестных здесь проводятся по формулам

xn = bn(n–1) / ann(n–1),

xk = (bn(k–1) – ak,k+1(k–1)xk+1 – … – akn(k–1)xn) / akk(k–1), (k = n – 1, …, 1).

Необходимость выбора главных элементов. Заметим, что вычисление множителей, а также обратная подстановка требуют деления на главные элементы akk(k–1). Поэтому, если один из главных элементов оказывается равным нулю, то схема единственного деления не может быть реализована. В ситуации, когда все главные элементы отличны от нуля, но среди них есть близкие к нулю, возможен неконтролируемый рост погрешности.

Метод простых итераций

Для того чтобы применить метод простой итерации, необходимо систему уравнений

(1)

с квадратной невырожденной матрицей привести к виду

, (2)

где – квадратная невырожденная матрица с элементами

,

– вектор-столбец неизвестных ,

– вектор-столбец с элементами , .

Существуют различные способы приведения системы (1) к виду (2). Рассмотрим самый простой.

Представим систему в развернутом виде:

(3)

Из первого уравнения системы (3) выразим неизвестную :

из второго уравнения – неизвестную :

и т. д. В результате получим систему:

(4)

Матричная запись системы (4) имеет вид (2). На главной диагонали матрицы находятся нулевые элементы, а остальные элементы вычисляются по формулам:

(5)

Очевидно, что диагональные элементы матрицы должны быть отличны от нуля. Выберем произвольно начальное приближение. Обычно в качестве первого приближения берут или . Подставим начальное приближение в правую часть (4). Вычисляя левые части, получим значения . Продолжая этот процесс дальше, получим последовательность приближений, причем приближение строится следующим образом:

Последняя система представляет собой расчетные формулы метода простой итерации.

Сходимость метода простой итерации.Известно следующее достаточноеусловие сходимости метода простой итерации.

Если элементы матрицы удовлетворяют условию:

, (6)

то итерационная последовательность сходится к точному решению .

Условие (7) называют условием преобладания диагональных элементов матрицы , так как оно означает, что модуль диагонального элемента -ой строки больше суммы модулей остальных элементов этой строки, .

Необходимо помнить, что условие сходимости (6) является лишь достаточным. Его выполнение гарантирует сходимость метода простых итераций, но его невыполнение, вообще говоря, не означает, что метод расходится.

Справедлива следующая оценка погрешности:

, (7)

где .

Правую часть оценки (7) легко вычислить после нахождения очередного приближения.

Иначе достаточное условие (6) для матрицы может быть переформулирована так: если , то итерационный процесс (6) сходится к точному решению системы.

Критерий окончания. Если требуется найти решение с точностью , то в силу (7) итерационный процесс следует закончить, как только на -ом шаге выполнится неравенство: .

Поэтому в качестве критерия окончания итерационного процесса можно использовать неравенство , где .

Если выполняется условие , то можно пользоваться более простым критерием окончания:

. (8)

В других случаях использование последнего критерия (8) неправомерно и может привести к преждевременному окончанию итерационного процесса.

Заключение

Анализируя результаты, полученные с помощью программ, можно сделать следующие выводы.

Метод Гаусса дает точное решение системы алгебраических уравнений, но требует перед своим применением дополнительные преобразования – проверку на наличие нулевых диагональных элементов, впрочем, как и метод простых итераций.

Во-первых, количество итераций сильно зависит от матрицы А исходной системы уравнений вида Ax=b. Чем ближе диагональные элементы матрицы А к нулю, тем больше итераций требуется для того, чтобы решить исходную систему линейных алгебраических уравнений.

Во-вторых, на количество шагов влияет начальное приближение. Чем оно ближе к точному решению, тем меньше требуется шагов для сходимости метода. Следует отметить, что в рассматриваемых примерах достаточно точное начальное приближение требует количества итераций приблизительно в 1,7-2,0 раза меньше, чем произвольное, достаточно далеко отстоящее от точного решения, приближение.

При приближении x(0)=(1000,1000,1000) и точности , потребовалось 15 шагов для сходимости.

Метод простой итерации сходится быстро, если диагональные элементы матрицы А системы Ax=b близки к единице, а остальные – близки к нулю, и приближение достаточно близко к точному решению.

Список литературы:

  1. Ануфриев И. Е. Самоучитель MatLab 5.3 6.x - СПб.: БВХ - Петербург, 2002. – 736 с.

  2. Демидович Б.П. Численные методы анализа / Б.П. Демидович, И.А. Марон, Э.З. Шувалова. – М.: Наука, 1976. – 368с.

  3. Дьяконов В. П. MATLAB. Полный самоучитель; ДМК Пресс - Москва, 2010. – 768 c.

  4. Курбатова, Е.А. MATLAB 7. Самоучитель; Вильямс - Москва, 2006. – 256 c.

  5. Мартынов Н. Н. MATLAB 7. Элементарное введение; КУДИЦ-Образ - Москва, 2005. – 416 c.

  6. Мэтью Д., Финк К. Численные методы. Использование MATLAB (3-е издание). – СПб. : Вильямс, 2002. – 720 с.

Просмотров работы: 1702