МЕТОДИ РОЗВ’ЯЗАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ.
Розглянемо чисельні методи розв’язання систем лінійних алгебраїчних рівнянь
Ax=f T
(1) де A - матриця m*m, x = ( x1, x2 , ... ,xm ) - шуканий вектор,
Т f =(f1, f2, ... , fm) -заданий вектор.
Припускаємо, що [pic]та визначник матриці А відмінний від нуля, так що існує єдиний розв’язок х. З курсу алгебри відомо, що систему (1) можна розв’язати за формулами Крамера*. Для великих m цей спосіб практично нереалізований тому, що потребує порядку m! aрифметичних дій. Тому широко використовуються інші методи розв’язання, наприклад, метод Гаусса**, який потребує [pic] дій.
Методи чисельного розв’язання системи (1) поділяються на дві групи:
-прямі методи;
-ітераційні методи.
У прямих (або точних) методах розв’язок x системи (1) відшукується за скінченну кількість арифметичних дій. Внаслідок похибок заокруглення прямі методи насправді не приводять до точного розв’язку системи (1) і назвати їх точними можливо лише залишаючи осторонь похибки заокруглення.
Ітераційні методи (їх також називають методами послідовних наближень)
полягають у тому, що розв’язок x системи (1) відшукується як границя при
[pic] послідовних наближень [pic]де n- номер ітерації. Як
правило, за скінченну кількість ітерацій ця границя не досягається.
______________________
* Крамер Габрієль (1704-1752)- швейцарський математик.
** Гаус Карл Фридрих (1777-1855)- німецький математик, астроном, фізик, геодезист, професор Гетінгенського університету.
МЕТОД ГАУССА .
Запишемо систему (1) у розгорнутому вигляді: а11x1+a12x2+...+a1mxm=f1 ,
a21x1+a22x2+...+a2mxm =f2 ,
(2)
...................................... am1x1+am2x2+...+ammxm =fm .
Метод Гаусса розв’язання системи (2) полягає у послідовному вилученні невідомих x1, x2, ..., xm-1 з цієї системи.
Припустимо, що a11[pic]0 . Поділив перше рівняння на a11, одержимо x1+c12x2 +...+c1m xm =y1 ,
(3)
де : c1j=a1j /a11 ; j=2,m ; y1=f1/a11 .
Розглянемо тепер рівняння системи (2), що залишилися
ai1x1+ai2x2+...+aimxm=fi ; i= 2,m .
(4)
Помножимо (3) на ai1 та віднімемо одержане рівняння з і-го рівняння системи (4), i=2,m.
У результаті одержимо наступну систему рівнянь:
x1+c12x2+...+c1jxj+...+c1mxm =y1 ,
(1) (1) (1)
(1) a22x2+... +a2jxj+...+a2mxm=f2 ,
............................................
(5)
(1) (1) (1)
(1) am2x2+...+amjxj+...+ammxm=fm .
Tут позначено:
(1) (1) aij=aij-c1jai1; fi=fi -y1ai1; i,j=2,m .
(6)
Матриця системи (5) має вигляд:
[pic].
Матриці такої стуктури заведено позначати так:
[pic]
де хрестиками позначені ненульові елементи.
У системі (5) невідоме х міститься тільки в першому рівнянні, тому у подальшому достатньо мати справу із скороченою системою рівнянь:
(1)
(1) (1) (1) a22x2 +...+a2jxj +...+a2mxm =f2 ,
.............................................. (7)
(1) (1)
(1) (1) am2x2 +...+amjxj +...+ammxm =fm .
Тим самим ми здійснили перший крок методу Гаусса . Коли [pic], то з системи
(7) зовсім аналогічно можна вилучити невідоме x2 і прийти до системи,
еквівалентній (2),що має матрицю такої структури:
[pic]
При цьому перше рівняння системи (5) залишається без зміни.
Вилучая таким же чином невідомі х 3, х4 ,... ,x m-1 , приходимо остаточно до системи рівнянь виду: x1 +c12x2 +...+c1,m-1xm-1+c1mxm =y1, x2 +...+c2,m-1xm-1+c2mxm =y2 ,
................................ xm-1+cm-1,mxm=ym-1, xm=ym
,
що еквівалентна початковій системі (2) .
Матриця цієї системи
[pic] містить нулі усюди нижче головної діагоналі. Матриці такого виду називаються верхніми трикутними матрицями. Нижньою трикутною матрицею називається така матриця, у якої дорівнюють нулю усі елементи, що містяться вище головної діагоналі.
Побудова системи (8) складає прямий хід методу Гаусса. Зворотнiй хід
полягає у відшуканні невідомих х1, ... ,хm з системи (8). Тому що
матриця системи має трикутний вигляд, можна послідовно, починаючи з хm,
відшукати всі невідомі. Дійсно, xm=ym,
x m-1 =ym-1 -cm-1,m x m i т. д.
Загальні форми зворотнього ходу мають вигляд: m
xi =yi - ( cijxj ; i=m-1,1; xm =ym .
(10)
j=i+1
При реалізації на ЕОМ прямого ходу методу Гаусса немає необхідності діяти із змінними x1 ,x2 ,... ,xm. Досить вказати алгоритм,за яким початкова матриця А перетворюється до трикутного вигляду (9), та вказати відповідне перетворення правих частин системи.
Одержимо ці загальні формули.
Нехай вже здійснені перші к-1 кроків, тобто вже вилучені змінні x1 , x2,..., xk-1 .
Тоді маємо систему: x1+c12 x2 +...+c1,k-1xk-1+ c1kxk+....+c1mxm =y1 , x2 +...+c2,k-1xk-1+ c2kxk+....+c2mxm =y2 ,
.............................................. xk-1+ck-1,kxk+...+ck-1,mxm=yk-1
, (11)
(k-1) (k-1) (k-1) akkxk+...+akmxm =fk ,
............................
(k-1) (k-1) (k-1) amkxk+...+ammxm =fm .
Розглянемо К-те рівняння цієї системи:
(k-1) (k-1) (k-1)
akkxk+...+akmxm=fk ,
та припустимо, що [pic] . Поділивши обидві частини цього рівняння на
[pic] , одержимо
xk+ck,k+1xk+1+...+ckmxm=yk ,
(12)
(k-1) (k-1)
(k-1) (k-1)
де ckj=akj / akk ; j=k+1,m ; yk=fk / akk .
Далі помножимо рівняння (12) на [pic] та віднімемо одержане співвідношення з i-го рівняння системи (11). У результаті остання група рівнянь системи (11) набуває наступного вигляду:
x k+ck,k+1xk+1 +...+ ckmxm=yk,
(k) (k)
(k) ak+1,k+1xk+1+...+ ak+1,mxm=fk+1,
.......................................
(k)
(k) (k) am,k+1xk+1+... + ammxm=fm ,
(k) (k-1) (k-1) (k)
(k-1) (k-1)
де: aij =aij - aikckj ; i,j=k+1,m ; fi= fi - aikyk ; i=k+1,m
.
Таким чином, у прямому ході методу Гаусса коефіцієнти рівнянь перетворюються за наступним правилом
(0) akj =akj ; k,j=1,m ;
(k-1) (k-1) ckj=akj /akk ; j=k+1,m ; k=1,m ;
(13)
(k) (k-1) (k-1) aij =aij - aikckj ; i,j=k+1,m ; k=1,m .
(14)
Обчислення правих частин системи (8) здійснюється за формулами:
(0) (k-1) (k-1) fk=fk ; yk = fk / akk ; k=1,m ;
(15)
(k) (k-1) (k-1)
fi = fi - aikyk ; k=1,m .
(16)
Коефіціенти cij і праві частини yi ; i=1,m ; j=i+1,m зберігаються у пам’яті ЕОМ і використовуються при здійсненні зворотнього ходу за формулами (10).
Основним обмеженням методу є припущення, що усі елементи [pic] , на які
здійснюється ділення, відрізняються від нуля. Число [pic]називається
провідним елементом на К-му кроці вилучення. Навіть, якщо деякий провідний
елемент не дорівнює нулеві, а просто є близьким до нуля, в процесі
обчислень може мати місце нагромадження похибок. Вихід з цієї ситуації
полягає в тому, шо як провідний елемент вибирається не [pic] , а інше
число ( тобто на К-му кроці вилучається не xk, а інша змінна xj , [pic])
. Така стратегія вибору провідних елементів здійснюється в методі Гаусса з
вибором головного елементу, який буде розглянуто пізніш.
А тепер підрахуємо число арифметичних дій, що необхідні для розв’язання системи за допомогою методу Гаусса. Оскільки виконання операцій множення і ділення на ЕОМ потребує набагато більше часу, ніж виконання додавання і віднімання, обмежимось підрахуванням числа множень і ділень.
1.Обчислення коефіцієнтів [pic] за формулами (13) потребує:
[pic](m-k)=1+2+...+(m-1)= [pic] ділень .
2.Обчислення усіх коефіцієнтів [pic] за формулами (14) потребує
[pic]
множень (тут ми використовуємо легко перевіряєму за індукцією рівність
[pic] ).
Таким чином, обчислення ненульових елементів [pic] трикутної матриці С потребує
[pic] операцій множення і ділення.
3.Обчислення правих частин yk за формулами (15) потребує m ділень, а відшукання [pic] за формулами (16)
[pic] множень. Разом, обчислення правих частин перетвореної системи (8) потребує
[pic] дій множення і ділення.
Усього для реалізації прямого ходу методу Гаусса необхідно виконати
[pic] дій.
4.Для реалізації зворотнього ходу методу Гаусса за формулами (10) необхідно
[pic] множень.
Всього, для реалізації методу Гаусса необхідно виконати
[pic]
дій множення і ділення, причому основний час витрачається на прямий хід.
Для великих m число дій множення і ділення у методі Гаусса близьке до
[pic] За витратами часу та необхідній машинній пам’яті метод Гаусса
придатний для розв’язання систем рівнянь (2) загального вигляду з кількістю
змінних m порядку 100.