2.1.1 Прямі методи

 

До найбільш популярних прямих методів відносять метод Гаусса та його різновиди, метод Крамера (визначників), метод оберненої матриці, а також метод прогонки, що використовується в задачах з діагональними матрицями. Проте, метод Крамера (визначників), детально розглянутий в стандартних курсах вищої математики, не може бути застосований в більшості практичних задач через велику складність розрахунку визначників навіть при невеликому зростанні порядку системи. Тому в цьому розділі буде зосереджено увагу на розгляді методу Гаусса, який, якщо й поступається ітераційним методам в певних практичних областях, все ж таки є найбільш універсальним, а також методу прогонки, що використовується в задачах з діагональними матрицями.

 

2.1.1.1 Метод Гаусса

 

Цей метод є одним з найпоширеніших методів рішення СЛАР. У його основі лежить ідея послідовного виключення невідомих, що приводить вихідну систему до трикутного виду, у якому всі коефіцієнти нижче головної діагоналі дорівнюють нулю. Існують різні обчислювальні схеми, що реалізують цей метод. Найбільше поширення мають схеми з вибором головного елемента по рядку, по стовпцю, або по всій матриці.

Класичний метод Гаусса (метод виключення) грунтується на доведенні матриці коефіцієнтів системи (2.1) до трикутного вигляду:

і складається з двох етапів: прямого ходу і зворотного підставлення. Етап прямого ходу закінчується, коли одне з рівнянь системи стає рівнянням з одним невідомим. Далі, здійснюючи зворотне підставлення, знаходять всі невідомі. З метою зменшення обчислювальної похибки використовують метод Гаусса з вибором головного елементу. Під головним елементом будемо розуміти максимальний по модулю елемент матриці А, обраний по заданій множині рядків та стовпців. Алгоритм методу полягає у наступному.

Спочатку знаходиться головний елемент матриці А і шляхом перестановки рівнянь та стовпців він розміщується на місці елемента (перестановку стовпців потрібно запам’ятовувати для вірного співставлення змінних з отриманими значеннями). Потім ділимо перше рівняння на , після чого воно отримує вигляд:

                                   (2.2)

Помножимо послідовно (2.2) на а21, а31, …, аn1 та віднімемо відповідно з 2-го, … , n-го рівняння системи. Отримаємо СЛАР А1х=В1:

.

Її елементи розраховані за формулами:

і для , .

Нехай на деякому кроці отримано матриці Ак і Вк (початкові матриці відповідають А0 і В0), а діагональний елемент ак+1, к+1к – максимальний по модулю елемент матриці Ак по рядкам i>k і стовпцям j>k (при необхідності переставляються відповідні рівняння чи стовпці).

Наведемо формули для розрахунку матриць Ак+1 і Вк+1:

,          (2.3)

.                    (2.4)

При програмуванні методу для зберігання інформації про коефіцієнти матриць достатньо використовувати один двомірний масив з n рядками та n+1 стовпцем, в якому розміщується розширена матриця системи .

Умови завершення прямого ходу метода Гаусса.

При виконанні розрахунків може виникнути проблема: елемент . Ця ситуація виникає, коли всі елементи матриці Ак по рядках i>k дорівнюють нулю. Система в цьому випадку має вигляд:

Застосування формул (2.3), (2.4) неможливе. В даному випадку система має безкінечну множину розв’язків, або не має їх зовсім. Це визначається по матриці Вк.

Якщо всі елементи bik = 0 при i k+1, то система має безкінечну множину розв’язків, причому корені х1,…, хк називаються залежними і виражають через значення хк+1,…,xn, які називают незалежними коренями.

Якщо хоч один елемент bik 0 при i k+1, то розв’язків у системи немає.

У випадку, коли проблеми ділення на нуль не виникало і була отримана трикутна матриця Аn, система має єдиний розв’язок. Для його пошуку застосовується зворотній хід метода Гаусса:

.               (2.5)

Число арифметичних операцій для реалізації методу

.

Алгоритм методу наведений на рисунку 2.1. Приклад розв’язку СЛАР методом Гаусса наведено у Додатку А( 2 том посібника).