- •Реферат
- •Метод Гауса - Жордана
- •Метод Гаусса розв'язання системи лінійних рівнянь
- •Метод Гаусса розв'язання системи лінійних рівнянь
- •Базовая схема
- •Пошук опорного елемента (pivoting)
- •Вироджені випадки
- •Реалізація
- •Асимптотика
- •Більш точна оцінка числа дій
- •Метод Гауса на java
- •Блок схема алгоритму методу Гауса
Міністерствоосвіти і науки
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Реферат
з дисципліни: “Алгоритми та методи обчислень”
Метод Гауса - Жордана
Виконав: ст.гр. КІ-22
Шеремета Р.Г.
Прийняв:
Львів
2017
План:
Метод Гаусса розв'язання системи лінійних рівнянь
Реалізація
Асимптотика
Метод Гауса на JAVA
Блок схема алгоритму методу Гауса
Метод Гаусса розв'язання системи лінійних рівнянь
Дана система 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 вийде одиничної, що нам і потрібно.
