You are on page 1of 5

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ

«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ


ІМЕНІ ІГОРЯ СІКОРСЬКОГО»
Факультет прикладної математики
Кафедра прикладної математики

Лабораторна робота №1
«Застосування сингулярного розкладення, MathCad, Python»
із дисципліни «Алгоритми і системи комп’ютерної математики-2.»
Варіант 14

Виконав: Керівник:
студент групи КМ-82 Любашенко Н. Д.
Курилко М. О.

Київ — 2022
МЕТА РОБОТИ
Мета роботи: Навчитися використовувати SVD-розкладення матриці
для розв’язання перевизначених СЛАР.

МЕТОДИЧНІ ВКАЗІВКИ
Для розв’язання системи лінійних алгебраїчних рівнянь (СЛАР) вигляду
𝐴𝐴𝐴𝐴 = 𝐵𝐵, де 𝐴𝐴 – прямокутна матриця розмірністю 𝑚𝑚 рядків на 𝑛𝑛 стовпців,
𝑚𝑚 > 𝑛𝑛, знаходить застосування метод, що оснований на SVD-розкладенні
матриці 𝐴𝐴:
𝐴𝐴 = 𝑈𝑈 ∗ 𝑆𝑆 ∗ 𝑉𝑉 𝑇𝑇
Тут 𝑈𝑈 – прямокутна ортогональна за стовпцями матриця розмірністю 𝑚𝑚
х 𝑛𝑛
𝑉𝑉 – квадратна ортогональна матриця розмірністю 𝑛𝑛 х 𝑛𝑛
𝑆𝑆 – діагональна матриця розмірністю 𝑛𝑛 х 𝑛𝑛, що містить сингулярні
значення матриці 𝐴𝐴. Причому:
𝑈𝑈 𝑇𝑇 ∗ 𝑈𝑈 = 𝑉𝑉 𝑇𝑇 ∗ 𝑉𝑉 = 𝐸𝐸,
де 𝐸𝐸 – одинична матриця розмірністю 𝑛𝑛 х 𝑛𝑛 стовпців.

За найденим розкладенням матриці 𝐴𝐴 розв’язок системи визначається


наступним чином:
1
𝑋𝑋 = 𝑉𝑉 ∗ � � ∗ 𝑈𝑈 𝑇𝑇 ∗ 𝐵𝐵
𝑠𝑠𝑖𝑖𝑖𝑖

ВИКОНАННЯ РОБОТИ
Порядок виконання роботи:
1. Обчислити сингулярні числа та ортогональні матриці сингулярного
розкладення.
2. Розв’язати перевизначену СЛАР за допомогою сингулярного
розкладу матриць.
3. Оцінити похибки розв’язання перевизначених СЛАР.

Опис програмних засобів:


Вихідні дані:
6 2 1
1 3 2
𝐴𝐴 = � �
3 2 3
7 2 1
11
12
𝐵𝐵 = � �
13
11
Для розв'язання даної СЛАР за допомогою SVD-розкладення будемо
використовувати програмні засоби MathCad та мови програмування Python
Розв’язання засобами MathCad:
Таким чином отриманий розв'язок дорівнює:

А похибка відповідно дорівнює:

Розв'язання засобами Python:


Відповідно розв’язок системи дорівнює:
Х = [0.6256, 2.4031, 2.1022]
А похибка выдповыдно дорівнює 1,523%

ВИСНОВОК
В ході проведення даної лабораторної роботи нами було розроблено два
протоколи за допомогою програмних засобів MathCad та Python, обидва
реалізують розв’язання перевизначеної системи лінійних рівнянь за
допомогою SVD-розкладення.
Результати отримані в обох випадках близькі один одному, але Python
дає точніші результати. При перевірці відповідей на дійсність, отримані
похибки становлять 8,4% і 1,5% відповідно для MathCad і Python

You might also like