До найбільш популярних прямих методів відносять метод Гаусса та його різновиди, метод Крамера (визначників), метод оберненої матриці, а також метод прогонки, що використовується в задачах з діагональними матрицями. Проте, метод Крамера (визначників), детально розглянутий в стандартних курсах вищої математики, не може бути застосований в більшості практичних задач через велику складність розрахунку визначників навіть при невеликому зростанні порядку системи. Тому в цьому розділі буде зосереджено увагу на розгляді методу Гаусса, який, якщо й поступається ітераційним методам в певних практичних областях, все ж таки є найбільш універсальним, а також методу прогонки, що використовується в задачах з діагональними матрицями.
Цей метод є одним з найпоширеніших методів рішення СЛАР. У його основі лежить ідея послідовного виключення невідомих, що приводить вихідну систему до трикутного виду, у якому всі коефіцієнти нижче головної діагоналі дорівнюють нулю. Існують різні обчислювальні схеми, що реалізують цей метод. Найбільше поширення мають схеми з вибором головного елемента по рядку, по стовпцю, або по всій матриці.
Класичний метод Гаусса (метод виключення) грунтується на доведенні матриці коефіцієнтів системи (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 том посібника).