Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод Гауса - Жордана.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
142.31 Кб
Скачать

Міністерствоосвіти і науки

Національний університет „Львівська політехніка”

Кафедра ЕОМ

Реферат

з дисципліни: “Алгоритми та методи обчислень”

Метод Гауса - Жордана

Виконав: ст.гр. КІ-22

Шеремета Р.Г.

Прийняв:

Львів

2017

План:

  1. Метод Гаусса розв'язання системи лінійних рівнянь

  2. Реалізація

  3. Асимптотика

  4. Метод Гауса на JAVA

  5. Блок схема алгоритму методу Гауса

  1. Метод Гаусса розв'язання системи лінійних рівнянь

Дана система n лінійних алгебраїчних рівнянь (СЛАР) з m невідомими. Потрібно вирішити цю систему: визначити, скільки рішень вона має (жодного, одне або нескінченно багато), а якщо вона має хоча б одне рішення, то знайти будь-який з них. Формально задача ставиться наступним чином: розв'язати систему:

де коефіцієнти aij (i=1… n, j=1 … m) і bi (i = 1… n) відомі, а змінні xi (i=1… m) — шукані невідомі. Зручно матричне подання цієї задачі: Ax = b, де A — матриця n × m, складена з коефіцієнтів aij, x і b — вектори-стовпця висоти m. Варто відзначити, що СЛАР може бути не над полем дійсних чисел, а над полем по модулю якого-небудь числа p, тобто:

— алгоритм Гауса працює і для таких систем теж (але цей випадок буде розглянутий нижче в окремому розділі).

Метод Гаусса розв'язання системи лінійних рівнянь

Строго кажучи, описуваний нижче метод правильно називати методом Гауса-Жордана" (Gauss-Jordan elimination), оскільки він є варіацією методу Гауса, описаної геодезистом Вільгельмом Жорданом в 1887 р. (варто відзначити, що Вільгельм Жордан не є автором ні теорема Жордана про кривих, ні жордановій алгебри — все це три різних вчених-однофамільця; крім того, по всій видимості, більш правильною є транскрипція "Йордан", але написання "Жордан" вже закріпилася в російській і українській літературі). Також цікаво зауважити, що одночасно з Жорданом (а за деякими даними навіть раніше за нього) цей алгоритм придумав Класен (B. I. Clasen).

Базовая схема

Коротко кажучи, алгоритм полягає в послідовному виключенні змінних з кожного рівняння до тих пір, поки в кожне рівняння не залишиться тільки з однією змінною. Якщо n=m, то можна говорити, що алгоритм Гауса-Жордана прагне привести матрицю A системи до одиничної матриці — адже після того, як матриця стала одиничним, рішення системи очевидно — рішення єдино і задається отриманими коефіцієнтами bi.

При цьому алгоритм ґрунтується на двох простих еквівалентних перетвореннях системи: по-перше, можна обмінювати два рівняння, а по-друге, будь-яке рівняння можна замінити лінійною комбінацією цього рядка (з ненульовим коефіцієнтом) та інших рядків (з довільними коефіцієнтами).

На першому кроці алгоритм Гауса-Жордана ділить перший рядок на коефіцієнт a11. Потім алгоритм додає перший рядок до інших рядках з такими коефіцієнтами, щоб їх коефіцієнти в першому стовпці зверталися в нулі — для цього, очевидно, при додаванні першого рядка до i-ої треба домножать її на – ai1. При кожній операції з матрицею A (ділення на число, додавання до однієї рядку інший) відповідні операції проводяться і з вектором b; у певному сенсі, він веде себе, як якщо б він був m+1-им стовпцем матриці A.

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

І так далі, поки ми не опрацюємо всі рядки або всі стовпці матриці A. Якщо n=m, то з побудови алгоритму очевидно, що матриця A вийде одиничної, що нам і потрібно.