Решение систем лінійних алгебраїчних рівнянь методом Гаусса і Зейделя
Один із труднощів практичного розв’язання систем великий розмірності связанна з обмеженістю оперативної пам’яті ЕОМ. Хоча обсяг оперативної пам’яті новостворених обчислювальних машин зростає нас дуже швидко, тим не менш, рішуче зростають потреби практики у вирішенні завдань все більшої розмірності. У значною мірою обмеження на розмірність розв’язуваних систем можна зняти, якщо використовуватиме… Читати ще >
Решение систем лінійних алгебраїчних рівнянь методом Гаусса і Зейделя (реферат, курсова, диплом, контрольна)
Запровадження 1.
1. Теоретична частина 1.
1.1. Метод Гаусса 1.
1.2. Метод Зейделя 4.
1.3. Порівняння прямих і итерационных методів 6.
2. Практична частина 7.
2.1 Програма рішення системи лінійних рівнянь методом Гаусса 7.
2.2 Програма рішення системи лінійних рівнянь методом Зейделя 10.
Рішення систем лінійних алгебраїчних рівнянь — одну з основних завдань обчислювальної лінійної алгебри. Хоча завдання рішення системи лінійних рівнянь порівняно рідко представляє самостійний інтерес для додатків, уміння ефективно вирішувати такі часто залежить сама можливість математичного моделювання найрізноманітніших процесів з застосуванням ЕОМ. Значна частина коштів про чисельні методів розв’язання різноманітних (в особливості - нелінійних) завдань включає у собі рішення систем лінійних рівнянь як елементарний крок відповідного алгоритма.
Один із труднощів практичного розв’язання систем великий розмірності связанна з обмеженістю оперативної пам’яті ЕОМ. Хоча обсяг оперативної пам’яті новостворених обчислювальних машин зростає нас дуже швидко, тим не менш, рішуче зростають потреби практики у вирішенні завдань все більшої розмірності. У значною мірою обмеження на розмірність розв’язуваних систем можна зняти, якщо використовуватиме зберігання матриці зовнішні запам’ятовуючі пристрої. Але цього разі багаторазово зростають як витрати машинного часу, і складність відповідних алгоритмів. Тому, за створенні обчислювальних алгоритмів лінійної алгебри велике увагу приділяють способам компактного розміщення елементів матриць у пам’яті ЭВМ.
На щастя, докладання часто-густо призводять до матрицями, у яких число ненульових елементів набагато меншою загального чила елементів матриці. Такі матриці прийнято називати разреженными. Однією з основні джерела розріджених матриць є математичні моделі технічних пристроїв, які з значної частини елементів, зв’язок між якими локальны. Найпростіші приклади таких пристроїв — складні будівельні конструкції і великі електричні цепи.
Відомі приклади вирішених останніми роками завдань, де число невідомих досягало сотень тисяч. Природно, було б неможливо, якби матриці не були разреженными (матриця системи зі ста тис. рівнянь в форматі подвійний точності посіла б близько 75 Гбайт).
1. Теоретична часть.
1.1. Метод Гаусса.
Однією з найбільш поширених методів рішення систем лінійних рівнянь є метод Гаусса. Цей метод (також називають методом послідовного винятку невідомих) відомий у різних варіантах вже з більш 2000 лет.
Обчислення з допомогою методу Гаусса полягають у послідовному виключення невідомих із системи для перетворення її до еквівалентній системі з верхньої трикутною матрицею. Обчислення значень невідомих виробляють на етапі зворотного хода.
1.1.1. Схема єдиного розподілу. Розглянемо спочатку найпростіший варіант методу Гаусса, званий схемою єдиного розподілу. Прямий хід складається з n (1 кроків винятку. 1-ї крок. Метою такого кроку є виняток невідомого x1 з рівнянь з номерами і = 2, 3, …, n. Припустимо, що коефіцієнт a11 (0. Будемо називати головним елементом 1-го шага.
Знайдемо величины.
qi1 = ai1/a11 (і = 2, 3, …, n),.
называемые множителями 1-го кроку. Віднімемо послідовно з другого, третього, …, n-го рівнянь системи перше рівняння, помножена відповідно на q21, q31, …, qn1. Це дозволить перетворити на нуль коефіцієнти при x1 переважають у всіх рівняннях, крім першого. Через війну одержимо еквівалентну систему.
a11×1 + a12×2 + a13×3 + … + 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 з рівнянь з номерами і = 3, 4, …, n. Нехай a22(1)? 0, де a22(1) — коефіцієнт, званий головним (або ведучим) елементом 2-го кроку. Обчислимо множники 2-го шага.
qi2 = ai2(1) / a22(1) (і = 3, 4, …, n).
и віднімемо послідовно з третього, четвертого, …, n-го рівняння системи друге рівняння, помножена відповідно на q32, q42, …, qm2. У результаті одержимо систему.
a11×1 + a12×2 + a13×3 + … + 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) (і = k + 1, …, n).
и віднімемо послідовно з (k + 1)-го, …, n-го рівнянь отриманої на попередньому кроці системи k-e рівняння, помножена відповідно на qk+1,k, qk+2,k, …, qnk.
Після (n — 1)-го кроку винятку одержимо систему уравнений.
a11×1 + a12×2 + a13×3 + … + 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.1.2. Метод Гаусса з головного елемента по стовпцю (схема часткового вибору). Опис методу. На k-м кроці прямого ходу коефіцієнти рівнянь системи з номерами і = k + 1, …, n перетворюються по формулам.
aij (k) = aij (k-1) — qikakj, bi (k) = bi (k-1) — qikbk (k-1), і = k + 1, …, n.
Интуитивно ясно, аби уникнути сильного зростання коефіцієнтів системи та пов’язаних із цим помилок не можна допускати появи великих множників qik.
У методі Гаусса з головного элементоа по стовпцю гарантується, що |qik|? 1 всім k = 1, 2, …, n — 1 і і = k + 1, …, n. Відмінність цього варіанта методу Гаусса від схеми єдиного розподілу у тому, що у k-м кроці винятку як головне елемента вибирають максимальний по модулю коефіцієнт aikk при невідомої xk в рівняннях з номерами і = k + 1, …, n. Потім відповідне обраному коефіцієнта рівняння з номером ik змінюють місцями з k-м рівнянням системи у тому, щоб головні елементи посів місце коефіцієнта akk (k-1). Після цієї перестановки виняток невідомого xk виробляють, як і схемою єдиного деления.
1.1.3. Метод Гаусса з головного елемента у всій матриці (схема повного вибору). У цій схемі допускається порушення природного порядку винятку неизвестных.
На 1-му кроці мтода серед елементів aij визначають максимальний по модулю елемент ai1j1. Перше рівняння системи та рівняння з номером i1 змінюють місцями. Далі стандартним чином виробляють виняток невідомого xi1 із усіх рівнянь, крім первого.
На k-м кроці методу серед коефіцієнтів aij (k-1) при невідомих в рівняннях системи з номерами і = k, …, n вибирають максимальний по модулю коефіцієнт aikjk (k-1). Потім k-е рівняння і рівняння, що містить знайдений коефіцієнт, змінюють місцями й виключають невідоме xjk з рівнянь з номерами і = k + 1, …, n.
На етапі зворотного ходу невідомі обчислюють у порядку: xjn, xjn-1, …, xj1.
1.2. Метод Зейделя.
1.2.1. Приведення системи до виду, зручного для ітерацій. А щоб застосувати метод Зейделя до вирішення системи лінійних алгебраїчних уравнений.
Ax = b з квадратної невырожденной матрицею A, необхідно попередньо перетворити неї до виду.
x = Bx + c.
Здесь B — квадратна матриця із елементами bij (і, j = 1, 2, …, n), з — вектор-столбец із елементами cij (і = 1, 2, …, n).
У розгорнутої формі записи система має наступний вид:
x1 = b11×1 + b12×2 + b13×3 + … + b1nxn + c1 x2 = b21×1 + b22×2 + b23×3 + … + b2nxn + c2.
.. .. .. .. .. .. .. ... xn = bn1x1 + bn2x2 + bn3x3 + … + bnnxn + cn.
Власне кажучи, операція приведення системи до виду, зручного для ітерацій, перестав бути простий і вимагає спеціальних знань, і навіть істотного використання специфіки системы.
Найпростіший спосіб приведення системи до виду, зручного для ітерацій, ось у чому. З першого рівняння системи висловимо невідоме x1:
x1 = a11−1 (b1 — a12×2 — a13×3 — … — a1nxn),.
из другого рівняння — невідоме x2:
x2 = a21−1 (b2 — a22×2 — a23×3 — … — a2nxn),.
и т. буд. Через війну одержимо систему.
x1 = b12×2 + b13×3 + … + b1, n-1xn-1 + b1nxn+ c1, x2 = b21×1 + b23×3 + … + b2, n-1xn-1 + b2nxn+ c2, x3 = b31×1 + b32×2 + … + b3, n-1xn-1 + b3nxn+ c3 ,.
.. .. .. .. .. .. .. .. .. .. ... xn = bn1x1 + bn2x2 + bn3x3 + … + bn, n-1xn-1 + cn ,.
в чим головною діагоналі матриці B перебувають нульові елементи. Інші елементи виражаються по формулам.
bij = -aij / aii, ci = bi / aii (і, j = 1, 2, …, n, j? i).
Звісно, щодо можливості виконання зазначеного перетворення необхідно, щоб діагональні елементи матриці A були ненулевыми.
1.2.1. Опис методу. Введемо нижню й верхній трикутні матрицы.
0 0 0 … 0 0 b12 b13 … b1n b21 0 0 … 0 0 0 b23 … b2n.
B1 = b31 b32 0 … 0, B2 = 0 0 0 … b3n.
.. .. .. .. .. .. .. bn1 bn2 bn3 … 0 0 0 0 … 0.
Зауважимо, що B = B1 + B2 і рішення x вихідної системи задовольняє равенству.
x = B1x + B2 x + з .
Виберемо початкова наближення x (0) = [x1(0), x2(0), …, xn (0)]T. Підставляючи їх у праву частина рівності при верхньої трикутною матриці B2 і вираховуючи отримане вираз, знаходимо перше приближение.
x (1) = B1x (0) + B2x (1).
Подставляя наближення x (1), получим.
x (2) = B1x (1) + B2x (2).
Продолжая той процес далі, одержимо послідовність x (0), x (1), …, x (n), … наближень до вычисляемых по формуле.
x (k+1) = B1(k+1) + B2(k) + c.
или в розгорнутої формі записи.
x1(k+1) = b12×2(k) + b13×2(k) + … + b1nxn (k) + c1, x2(k+1) = b21×1(k+1) + b23×3(k) + … + b2nxn (k) + c2, x3(k+1) = b31×1(k+1) + b32×2(k+1) + … + b3nxn (k) + c3 ,.
.. .. .. .. .. .. .. .. .. .. .. .. .. xn (k+1) = bn1x1(k+1) + bn2x2(k+1) + bn3x3(k+1) + … + cn .
Об'єднавши приведення системи до виду, зручного для ітерацій і метод Зейделя до однієї формулу, получим.
xi (k+1) = xi (k) — aii-1(Sj=1i-1 aijxj (k+1) + Sj=1n aijxi (k) — bi).
Тогда достатня умова сходимоти методу Зейделя будет.
Sj=1, j? i n | aij | < | aii |.
(условие доминированния диагонали).
Метод Зейделя іноді називають також методом Гаусса-Зейделя, процесом Лібмана, методом послідовних замещений.
1.3. Порівняння прямих і итерационных методов.
Системи лінійних алгебраїчних рівнянь можна вирішити як за допомогою прямих, і і итерационных методів. Для систем рівнянь середньої розмірності частіше использют прямі методы.
Итерационные методи застосовують головним чином заради вирішення завдань великий розмірності, коли використання прямих методів неможливо через ограниченииий у доступній оперативної пам’яті ЕОМ чи то з необхідності виконання черезмерно значної частини арифметичних операцій. Великі системи рівнянь, що у основному додатках, зазвичай є разреженными. Методи винятку для систем з розрідженим і матрицями незручні, наприклад, тим, що з використанні їх велика кількість нульових елементів перетворюється на ненульові і матриця втрачає властивість розрідженості. На противагу їм під час использованнии итерационных методів у ході итерационного процесу матриця не змінюється, і її, природно, залишається розрідженій. Велика ефективність итерационных методів проти прямими методами тісно связанна із можливістю істотного використання розрідженості матриц.
Застосування итерационных методів для якісного рішення великий системи рівнянь потребує серйозного використання структури, спеціальних знань й жодного певного опыта.
2. Практична часть.
2.1 Програма рішення систем лінійних рівнянь методом Гаусса.
2.1.1. Постановка завдання. Потрібна вирішити систему лінійних алгебраїчних рівнянь з речовими коефіцієнтами вида.
a11×1 + a12×2 + … + a1nxn = b1 ,.
a21×2 + a22×2 + … + a2nxn = b2 ,.
.. .. .. .. .. ... an1x1 + an2x2 + … + annxn = bn.
для n? 10 методом Гаусса.
2.1.2. Тестовий пример.
3,2×1 + 5,4×2 + 4,2×3 + 2,2×4 = 2,6 ,.
2,1×1 + 3,2×2 + 3,1×3 + 1,1×4 = 4,8 ,.
1,2×1 + 0,4×2 — 0,8×3 — 0,8×4 = 3,6 ,.
4,7×1 + 10,4×2 + 9,7×3 + 9,7×4 = -8,4 ,.
x1 = 5, x2 = -4, x3 = 3, x4 = -2.
2.1.3. Опис алгоритму. У цьому програмі реалізований метод Гаусса зі схемою часткового выбора.
У зміну n вводиться порядок матриці системи. З допомогою допоміжної процедури ReadSystem в двомірний масив a і одновимірний масив b вводиться з клавіатури розширена матриця системи, після чого обидва масиву і змінна n передаються функції Gauss. У фукции Gauss кожному за k-го кроку обчислень виконується пошук максимального елемента у k-м стовпці матриці начинаяя з k-й рядки. Номер рядки, що містить максимальний елемент сохраняеется в перемінної l. У разі якщо максимальний елемент перебуває в k-й рядку, рядки з номерами k і l змінюються місцями. Якщо усі ці елементи рівні нулю, це відбувається припинення виконання функції Gauss з результатом false. Після вибору рядки виконується перетворення матриці методом Гаусса. Далі обчислюється рішення системи і міститься у масив x. Отримане рішення виводиться на екран з допомогою допоміжної процедури WriteX.
2.1.4. Лістинг програми розвитку й результати работы.
Uses CRT;
Const maxn = 10;
Type.
Data = Real;
Matrix = Array[1.maxn, 1. maxn] of Data;
Vector = Array[1.maxn] of Data;
{ Процедура введення розширеній матриці системи } Procedure ReadSystem (n: Integer; var a: Matrix; var b: Vector); Var і, j, r: Integer; Begin r := WhereY;
GotoXY (2, r);
Write («A »);
For і := 1 to n do begin.
GotoXY (i*6+2, r);
Write (i);
GotoXY (1, r+i+1);
Write (i:2); end;
GotoXY ((n+1)*6+2, r);
Write («b »);
For і := 1 to n do begin.
For j := 1 to n do begin.
GotoXY (j * 6 + 2, r + і + 1);
Read (a[i, j]); end;
GotoXY ((n + 1) * 6 + 2, r + і + 1);
Read (b[i]); end; End;
{ Процедура виведення результатів } Procedure WriteX (n :Integer; x: Vector); Var і: Integer; Begin.
For і := 1 to n do.
Writeln («x », і, «= «, x[i]); End;
{ Функція, реалізує метод Гаусса } Function Gauss (n: Integer; a: Matrix; b: Vector; var x: Vector): Boolean; Var і, j, k, l: Integer; q, m, t: Data; Begin.
For k := 1 to n — 1 do begin.
{ Шукаємо рядок l з максимальним елементом в k-ом стовпці} l := 0; m := 0;
For і := k to n do.
If Abs (a[i, k]) > m then begin m := Abs (a[i, k]); l := і; end;
{ Якщо в всіх рядків від k до n елемент в k-м стовпці нульової, то система має не має однозначного рішення }.
If l = 0 then begin.
Gauss := false;
Exit; end;
{ Змінюємо місцем l-ую рядок з k-ой }.
If l k then begin.
For j := 1 to n do begin t := a[k, j]; a[k, j] := a[l, j]; a[l, j] := t; end; t := b[k]; b[k] := b[l]; b[l] := t; end;
{ Перетворимо матрицю }.
For і := k + 1 to n do begin q := a[i, k] / a[k, k];
For j := 1 to n do.
If j = k then a[i, j] := 0 else a[i, j] := a[i, j] - q * a[k, j]; b[i] := b[i] - q * b[k]; end;
end;
{ Обчислюємо рішення } x[n] := b[n] / a[n, n];
For і := n — 1 downto 1 do begin t := 0;
For j := 1 to n-i do t := t + a[i, і + j] * x[i + j]; x[i] := (1 / a[i, і]) * (b[i] - t); end;
Gauss := true; End;
Var n, і: Integer; a: Matrix; b, x: Vector; Begin.
ClrScr;
Writeln («Програма рішення систем лінійних рівнянь методом Гаусса »);
Writeln;
Writeln («Запровадьте порядок матриці системи (макр. 10) »);
Repeat.
Write («> «);
Read (n);
Until (n > 0) and (n 4.
Введите розширену матрицю системи A 1 2 3 4 b.
1 3.2 5.4 4.2 2.2 2.6 2 2.1 3.2 3.1 1.1 4.8 3 1.2 0.4 -0.8 -0.8 3.6 4 4.7 10.4 9.7 9.7 -8.4.
Результат обчислень методом Гаусса x1 = 5.00E+00×2 = -4.00E+00×3 = 3.00E+00×4 = -2.00E+00.
2.2 Програма рішення систем лінійних рівнянь методом Зейделя.
2.2.1. Постановка завдання. Потрібна вирішити систему лінійних алгебраїчних рівнянь з речовими коефіцієнтами вида.
a11×1 + a12×2 + … + a1nxn = b1 ,.
a21×2 + a22×2 + … + a2nxn = b2 ,.
.. .. .. .. .. ... an1x1 + an2x2 + … + annxn = bn.
для n? 10 методом Зейделя.
2.2.2. Тестовий пример.
4,1×1 + 0,1×2 + 0,2×3 + 0,2×4 = 21,14 ,.
0,3×1 + 5,3×2 + 0,9×3 — 0,1×4 = - 17,82 ,.
0,2×1 + 0,3×2 + 3,2×3 + 0,2×4 = 9,02 ,.
0,1×1 + 0,1×2 + 0,2×3 — 9,1×4 = 17,08 ,.
x1 = 5,2, x2 = -4,2, x3 = 3, x4 = -1,8.
2.2.3. Опис алгоритму. У зміну n вводиться порядок матриці системи, в зміну e — максимальна абсолютна похибка. З допомогою допоміжної процедури ReadSystem в двомірний масив a і одновимірний масив b вводиться з клавіатури розширена матриця системи. Початкова прибижение передбачається рівним нулю. Обидва масиву і які змінюються n і e передаються функції Seidel. До функцій Seidel досліджується відповідність системи, у тому разі, якщо система має не сходиться, виконання функції припиняється з результатом false. У результаті кожної ітерації обчислюється нове наближення й абсолютна похибка. Коли отримана похибка дедалі менше заданої, виконання функції припиняється. Отримане рішення виводиться на екран з допомогою допоміжної процедури WriteX.
2.2.4. Лістинг програми розвитку й результати работы.
Uses CRT;
Const maxn = 10;
Type.
Data = Real;
Matrix = Array[1.maxn, 1. maxn] of Data;
Vector = Array[1.maxn] of Data;
{ Процедура введення розширеній матриці системи } Procedure ReadSystem (n: Integer; var a: Matrix; var b: Vector); Var і, j, r: Integer; Begin r := WhereY;
GotoXY (2, r);
Write («A »);
For і := 1 to n do begin.
GotoXY (i * 6 + 2, r);
Write (i);
GotoXY (1, r + і + 1);
Write (i:2); end;
GotoXY ((n + 1) * 6 + 2, r);
Write («b »);
For і := 1 to n do begin.
For j := 1 to n do begin.
GotoXY (j * 6 + 2, r + і + 1);
Read (a[i, j]); end;
GotoXY ((n + 1) * 6 + 2, r + і + 1);
Read (b[i]); end; End;
{ Процедура виведення результатів } Procedure WriteX (n :Integer; x: Vector); Var і: Integer; Begin.
For і := 1 to n do.
Writeln («x », і, «= «, x[i]); End;
{ Функція, реалізує метод Зейделя } Function Seidel (n: Integer; a: Matrix; b: Vector; var x: Vector; e: Data) :Boolean; Var і, j: Integer; s1, s2, p. s, v, m: Data; Begin.
{ Досліджуємо відповідність }.
For і := 1 to n do begin.
p.s := 0;
For j := 1 to n do.
If j і then p. s := p. s + Abs (a[i, j]);
If p. s >= Abs (a[i, і]) then begin.
Seidel := false;
Exit; end;
end;
Repeat.
m := 0;
For і := 1 to n do begin.
{ Обчислюємо суми } s1 := 0; s2 := 0;
For j := 1 to і - 1 do s1 := s1 + a[i, j] * x[j];
For j := і to n do s2 := s2 + a[i, j] * x[j];
{ Обчислюємо нове наближення і похибка } v := x[i]; x[i] := x[i] - (1 / a[i, і]) * (s1 + s2 — b[i]);
If Abs (v — x[i]) > m then m := Abs (v — x[i]);
end;
Until m < e;
Seidel := true; End;
Var n, і: Integer; a: Matrix; b, x: Vector; e: Data; Begin.
ClrScr;
Writeln («Програма рішення систем лінійних рівнянь методом Зейделя »);
Writeln;
Writeln («Запровадьте порядок матриці системи (макр. 10) »);
Repeat.
Write («> «);
Read (n);
Until (n > 0) and (n ");
Read (e);
Until (e > 0) and (e < 1);
Writeln;
Writeln («Запровадьте розширену матрицю системи »);
ReadSystem (n, a, b);
Writeln;
{ Припускаємо початкова наближення рівним нулю }.
For і := 1 to n do x[i] := 0;
If Seidel (n, a, b, x, e) then begin.
Writeln («Результат обчислень методом Зейделя »);
WriteX (n, x); end else.
Writeln («Метод Зейделя не сходиться для даної системи »);
Writeln; End.
Программа рішення систем лінійних рівнянь методом Зейделя Введите порядок матриці системи (макр. 10) >4.
Введите точність обчислень >.1.
Введите розширену матрицю системи A 1 2 3 4 b.
1 4.1 0.1 0.2 0.2 21.14 2 0.3 5.3 0.9 -0.1 -17.82 3 0.2 0.3 3.2 0.2 9.02 4 0.1 0.1 0.2 -9.1 17.08.
Результат обчислень методом Зейделя x1 = 5.200 000 0008E+00×2 = -4.200 000 0028E+00×3 = 3.03E+00×4 = -1.800 000 0000E+00.