РУБРИКИ |
Численные методы |
РЕКЛАМА |
|
Численные методыЧисленные методыМЕТОДИ РОЗВ’ЯЗАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ. Розглянемо чисельні методи розв’язання систем лінійних алгебраїчних рівнянь 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. |
|
© 2007 |
|