Дослідження методу ортогоналізації й методу сполучених градієнтів

Сутність та головний зміст методів ортогоналізації у випадку симетричної та несиметричної матриці. Метод сполучених градієнтів, опис існуючих алгоритмів. Програма мовою програмування С++, що реалізує метод ортогоналізації на ЕОМ, і її результати роботи.

Рубрика Математика
Вид курсовая работа
Язык украинский
Дата добавления 27.12.2010
Размер файла 191,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

4

Курсова робота

На тему:

"Дослідження методу ортогоналізації й методу сполучених градієнтів"

Введення

До рішення систем лінійних алгебраїчних рівнянь приводяться багато задач чисельного аналізу.

Відоме з курсу вищої алгебри правило Крамера для рішення систем лінійних алгебраїчних рівнянь практично невигідно, тому що вимагає занадто великої кількості арифметичних операцій і записів. Тому було запропоновано багато різних способів, більше придатних для практики.

Використовувані практично методи рішення систем лінійних алгебраїчних рівнянь можна розділити на дві більші групи: так звані точні методи й методи послідовних наближень. Точні методи характеризуються тим, що з їхньою допомогою принципово можливо, проробивши кінцеве число операцій, одержати точні значення невідомих. При цьому, звичайно, передбачається, що коефіцієнти й праві частини системи відомі точно, а всі обчислення виробляються без округлень. Найчастіше вони здійснюються у два етапи. На першому етапі перетворять систему до того або іншого простого виду. На другому етапі вирішують спрощену систему й одержують значення невідомих.

Методи послідовних наближень характеризуються тим, що із самого початку задаються якимись наближеними значеннями невідомих. Із цих наближених значень тим або іншому способу одержують нові «поліпшені» наближені значення. З новими наближеними значеннями надходять точно також і т.д. Розглянемо два точних методи: метод ортогоналізації й метод сполучених градієнтів.

1. Метод ортогоналізації

1.1 Метод ортогоналізації у випадку симетричної матриці

Нехай дана система

(1)

порядку n. Щоб уникнути надалі плутанини, над векторами поставимо риски. Рішення системи будемо розшукувати у вигляді

, (2)

де - n векторів, що задовольняють умовам

при (3)

Тут розглядається звичайний скалярний добуток векторів в n-мірному векторному просторі, тобто якщо й , те . Нехай такі вектори знайдені. Як це робиться, буде показано нижче. Розглянемо скалярний добуток обох частин системи (1) з

(4)

Використовуючи (2) одержимо:

(5)

або, у силу вибору векторів ,

. (6)

Отже, для визначення коефіцієнтів одержали систему із трикутною матрицею. Визначник цієї системи дорівнює

. (7)

Отже, якщо , те можливо знайти й перебувають вони без праці.

Особливо легко визначаться , якщо матриця А симетрична. У цьому випадку, мабуть,

(8)

і, отже,

=0 при . (9)

Тоді система для визначення прийме вид

(10)

. (11)

Метод можна узагальнити. Нехай якимсь образом удалося знайти систему 2n векторів так, що

=0 при . (12)

Множачи обидві частини рівності (1) на й використовуючи подання через , як і раніше, одержимо:

. (13)

Знову вийшла система лінійних алгебраїчних рівнянь із трикутною матрицею для визначення . Трохи ускладнивши обчислення можна одержати систему діагонального виду. Для цього побудуємо три системи векторів , так що мають місце рівності:

(14)

(15)

(16)

Тоді

, (17)

тому що при i<r

(18)

і при i>r

(19)

Таким чином,

(20)

Зупинимося докладніше на першому з описаних методів. Розглянемо випадок, коли матриця А симетрична й позитивно певна. Останнє означає, що для будь-якого вектора квадратична форма його компонент більше або дорівнює нулю, причому рівність нулю можливо в тім і тільки тім випадку, якщо вектор нульової. Як ми бачили раніше, потрібно побудувати систему векторів , що задовольняють умовам

=0 . (21)

Це побудова можна здійснити в такий спосіб. Виходимо з якоїсь системи лінійно незалежних векторів , наприклад із системи одиничних векторів, спрямованих по координатних осях:

(22)

Далі проводимо «ортогоналізацію». Приймаємо й шукаємо у вигляді

. (23)

З умови знаходимо:

(24)

Шукаємо у вигляді

. (25)

Умови спричиняють

(26)

Далі надходимо також.

Процес буде здійсненний, тому що все . Це ж забезпечить нам можливість розв'язання системи для визначення коефіцієнтів . Помітимо, що в нашім випадку це буде процес справжньої ортогоналізації, якщо в просторі векторів увести новий скалярний добуток за допомогою співвідношення

. (26)

Неважко перевірити, що уведене таким способом скалярний добуток буде задовольняти всім вимогам, які до нього пред'являються.

При рішенні системи n рівнянь за справжньою схемою потрібно зробити

(28)

операцій множення й ділення.

1.2 Метод ортогоналізації у випадку несиметричної матриці

У випадку несиметричної матриці процес ортогоналізації проводиться точно також. Нехай вектори вже побудовані. Тоді шукається у вигляді

(29)

Коефіцієнти визначаються із системи

(30)

Система у випадку несиметричної матриці буде трикутною.

Аналогічно будується система «біортогональних» векторів, тобто система 2n векторів, що задовольняють умові (12). При цьому - n довільних лінійно незалежних векторів, а вектори будуються послідовно у вигляді

(31)

Коефіцієнти перебувають із системи

(32)

Також надходимо, відшукуючи коефіцієнти й , при побудові систем векторів (14) і (15), що задовольняють умовам (16).

При цьому одержимо дві системи:

(33)

з яких і визначаємо й .

Зупинимося ще на одному методі ортогоналізації. Будемо розглядати рядки матриці А як вектори:

(34)

Перше рівняння системи ділимо на . При цьому одержимо

(35)

де

(36)

Друге рівняння системи заміниться на

(37)

де

(38)

Аналогічно надходимо далі. Рівняння з номером i прийме вид

(39)

де

(40)

Процес буде здійсненний, якщо система рівнянь лінійно незалежна. У результаті ми прийдемо до нової системи , де матриця З буде ортогональної, тобто має властивість СС=I.

Таким чином, рішення системи можна записати у вигляді

. (41)

Практично, внаслідок помилок округлення, СС буде відмінна від одиничної матриці й може виявитися доцільним зробити кілька ітерацій для системи .

2. Метод сполучених градієнтів

2.1 Перший алгоритм методу

Нехай потрібно вирішити систему лінійних алгебраїчних рівнянь

(1)

с позитивно певною матрицею A порядку n.

Розглянемо функціонала

, (2)

багаточлен, що представляє, другого порядку відносно x1, x2…, xn,… Позначимо через рішення системи (1), тобто . У силу симетричності й позитивної визначеності матриці, маємо:

При цьому знак рівності можливий лише при . Таким чином, задача рішення рівняння (1) зводиться до задачі відшукання вектора , що обертає в мінімум функціонал (2).

Для відшукання такого вектора застосуємо наступний метод.

Нехай - довільний початковий вектор, а

(4)

- вектор не в'язань системи. Покажемо, що вектор не в'язань має напрямок нормалі до поверхні в крапці . Справді, напрямок нормалі збігається з напрямком найшвидшої зміни функції в крапці . Це напрямок ми знайдемо, якщо знайдемо серед векторів , для яких , такий вектор, що

має найбільше значення. Але

Але серед векторів постійний довжини досягає максимального значення, якщо має напрямок вектора або йому протилежне. Твердження доведене. Будемо рухатися із крапки в напрямку вектора доти, поки функція досягає мінімального значення. Це буде при , тобто при

. (5)

Вектор

(6)

і приймаємо за нове наближення до рішення.

У методі сполучених градієнтів наступне наближення перебуває так. Через крапку проведемо гіперплощину (n-1) - го виміру

(7)

і через позначимо нове не в'язання системи

. (8)

Вектор спрямований по нормалі до поверхні в крапці , а вектор паралельний дотичної площини в цій крапці. Тому

. (9)

Гіперплощина (7) проходить через крапку , тому що

.

При кожному вектор паралельний деякої нормальної площини до поверхні в крапці . Знайдемо серед них той, котрий лежить у гіперплощині (7), тобто ортогональний к. З умови ортогональності маємо:

,

або

. (10)

Вектор

(11)

має напрямок нормалі до перетину поверхні гіперплощини (7) у крапці . Будемо рухатися із крапки в напрямку вектора доти, поки функція досягне мінімуму. Це буде при

. (12)

Вектор

приймемо за нове наближення до рішення системи. Вектор не в'язань

(13)

має напрямок нормалі до поверхні в крапці . Покажемо, що він буде ортогональний до і . Справді, використовуючи (9), (11), (12), (13), маємо:

Розглянемо гіперплощину (n-2) - х вимірів

, (14)

минаючу через крапку . Ця гіперплощина містить і , тому що ми раніше бачили, що , а

.

Вектор при кожному паралельний гіперплощини (7), тому що

.

Підберемо так, щоб він був паралельний і гіперплощини (14), тобто зажадаємо ортогональності до вектора . Будемо мати:

,

або

(15)

Вектор

(16)

буде мати напрямок нормалі до перетину поверхні гіперплощиною (14) у крапці . Із крапки змістимося в напрямку цього вектора так, щоб функція досягла мінімального значення. Це буде при

, (17)

(18)

приймемо за нове наближення к. Новий вектор не в'язань буде:

. (19)

Продовжуючи процес, одержимо послідовності векторів , , , обумовлені рекурентними співвідношеннями:

(20)

Для цих векторів мають місце наступні співвідношення:

(21)

(22)

Справді, у силу самої побудови при i (j

Далі, при i>j

Якщо i=j+1, то права частина дорівнює нулю, у силу визначення , якщо ж i>j+1, те, по доведеному, і

.

Продовжуючи зниження індексу у вектора , через кілька кроків прийдемо до скалярного добутку (по визначенню ). Таким чином, співвідношення (21) доведені. Для доказу (22), у силу рівноправності індексів i і j, припустимо, що i>j. Тоді

.

Тому що в n-мірному векторному простори не може бути більше n взаємно ортогональних векторів, то на деякому кроці одержимо , тобто буде рішенням системи (1).

На мал. 1 показана геометрична картина нашої побудови при n=3.

Мал. 1

2.2 Другий алгоритм методу

Приведемо інший алгоритм методу. Будемо позначати послідовні наближення до рішення через і введемо позначення:

. (23)

Перші два наближення й візьмемо так, щоб

. (24)

Припустимо, що вже відомо наближення (i1), обчислена й справедливо рівність

. (25)

Будемо шукати мінімум функціонала (2) на множині векторів

. (26)

Дорівнюючи до нуля частки похідні від по й для визначення й , одержимо систему:

(27)

або, з огляду на (25),

(28)

Позначимо через рішення цієї системи:

(29)

і за (i+1) - е наближення до рішення приймемо:

(30)

Із системи (27) треба, що

, (31)

а тому що

те з (31) треба:

(32)

Доведемо, що якщо

(33)

те при всіх i

(34)

що буде доводити й збіжність, і кінцівка другого алгоритму.

Справді, при умовах (33)

т.ч. умова (24) виконано. Припустимо, що вже доведено рівності

(35)

і доведемо рівність

При припущенні (35) і, отже,

Але зі співвідношень (20) маємо:

Доведемо коллінеарність векторів

і (36)

З (20) і (29) маємо:

а це й доводить коллінеарність векторів (36).

Вектор дає мінімум функціонала в площині, що проходить через і на вектори й , а ми показали, що цей мінімум лежить на прямій, що проходить через у напрямку вектора . Але на цієї прямий мінімум функціонала досягається на векторі . Це й означає, що

Це й доводить справедливість (34) при всіх i.

На перший погляд здається, що перший алгоритм краще, тому що на кожному кроці він вимагає лише одного множення матриці А на вектор , а в другому алгоритмі потрібно два множення матриці А на вектор і , але досвід показав, що застосування першого алгоритму приводить до швидкого нагромадження помилок округлення, так що для матриць великого порядку можливо істотне відхилення від точного рішення. Другий алгоритм менш чутливий до помилок округлення й тому вимагає меншого кількість кроків для одержання гарного наближеного рішення.

Метод сполучених градієнтів доцільно використовувати для рішення систем рівнянь, у яких матриця А має багато нульових елементів. При рішенні системи по цьому методі елементи матриці беруть участь в арифметичних операціях лише при множенні матриці на вектор, а множення матриці на вектор можна організувати так, щоб в арифметичних операціях брали участь тільки ненульові елементи.

Висновок

У даній роботі були розглянуті метод ортогоналізації й метод сполучених градієнтів, а також представлена програма мовою програмування С++, що реалізує метод ортогоналізації на ЕОМ, і її результати роботи.

Список літератури

1. Березин І.С. і Жидков Н.П. Методи обчислень. - К., 2003

2. Воєводін В.В. Чисельні методи алгебри (теорія й алгоритми). - К., 2004

3. Подбельський В.В. і Фомін С.С. Програмування мовою С ++. - К., 2002

4. Каліткін М.М. Чисельні методи. - К., 2003


Подобные документы

  • Опис одного з поширених ітераційних методів, методу хорда — ітераційного методу знаходження кореня рівняння, який ще має назви метод лінійного інтерполювання, метод пропорційних частин, або метод хибного положення. Задачі для самостійного розв’язування.

    реферат [336,8 K], добавлен 04.12.2010

  • Сутність симплекс-методу у вирішенні задач лінійного програмування. Рішення задачі на відшукання максимуму або мінімуму лінійної функції за умови, що її змінні приймають невід'ємні значення і задовольняють деякій системі лінійних рівнянь або нерівностей.

    реферат [28,5 K], добавлен 26.02.2012

  • Поняття та значення симплекс-методу як особливого методу розв'язання задачі лінійного програмування, в якому здійснюється скерований рух по опорних планах до знаходження оптимального рішення. Розв'язання задачі з використанням програми Simplex Win.

    лабораторная работа [264,1 K], добавлен 30.03.2015

  • Спектральний розклад кореляційної функції та представлення стаціонарних (в широкому сенсі) послідовностей. Екстраполяція, інтерполяція та фільтрація. Регулярні послідовності та напрямки їх аналізу. Перевірка гіпотези про двоїстість та ортогоналізацію.

    контрольная работа [986,8 K], добавлен 20.06.2015

  • Використання методів розв’язування одновимірних оптимізаційних задач (метод дихотомії, золотого перерізу, Фібоначі) для визначення найменшого значення функції на відрізку. Задача мінімізації за допомогою методу Ньютона і методу найшвидшого спуску.

    курсовая работа [739,5 K], добавлен 05.05.2011

  • Метод простої ітерації Якобі і метод Зейделя. Необхідна і достатня умова збіжності методу простої ітерації для розв’язання системи лінейних рівнянь. Оцінка похибки. Діагональне домінування матриці як умова збіжності ітерації. Основні переваги цих методів.

    презентация [79,9 K], добавлен 06.02.2014

  • Розгляд крайової задачі для нелінійного рівняння другого порядку. Вивчення різницевого методу розв'язання крайових задач для звичайних диференціальних рівнянь. Метод прогонки - окремий випадок методу Гауса. Програма на алгоритмічній мові Turbo Pascal.

    курсовая работа [49,7 K], добавлен 10.04.2011

  • Теорема Куна-Такера. Побудування функції Лагранжа. Задача квадратичного програмування. Узагальнення симплексного метода лінійного програмування згідно методу Біла. Правила переходу від однієї таблиці до іншої. Система обмежень у допустимої області.

    курсовая работа [252,9 K], добавлен 08.05.2014

  • Основні поняття чисельних методів розв’язання систем лінійних алгебраїчних рівнянь. Алгоритм Гаусса зведення системи до східчастого виду послідовним застосуванням елементарних перетворень. Зворотній хід методу Жордана-Гаусса. Метод оберненої матриці.

    курсовая работа [165,1 K], добавлен 18.06.2015

  • Застосування методу Гауса (або методу послідовного виключення невідомих) для розв'язання систем лінійних рівнянь. Економний спосіб запису за допомогою компактної схеми Гауса. Алгоритм знаходження рангу матриці, метод Гауса з вибором головного елемента.

    курсовая работа [879,9 K], добавлен 02.10.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.