Сингулярний розклад калькулятор

Формат чисел
Коментарі рішення
Без опису (тільки відповідь)

a

b

c

d

x

y

z

clear

i

ab
x2
xn

Randomize

313131313135151515151583137
2
2510
=Розв'язати

  Про калькулятор сингулярного розкладу матриці (SVD)

Це безкоштовний онлайн-калькулятор сингулярного розкладу матриці (SVD) з повним, детальним, покроковим описом розв'язків, що виконує операції з матрицями розміром до 99x99 з елементами матриці таких типів: десяткові числа, дроби, комплексні числа, змінні.

Щоб розпочати розрахунок, потрібно спочатку ввести розмір матриці в поле введення, яке можна знайти у верхній частині екрана, також там можна вибрати бажаний метод розрахунку.

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

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

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

  • Перша дозволяє вибрати формат чисел при відображенні результату розв'язку. Також тут можна вимкнути коментарі до розв'язку задачі, якщо ви вже зрозуміли, як розв'язати цю задачу, і використовуєте калькулятор для прискорення або перевірки власних розрахунків. Або ви можете повністю вимкнути покроковий розв'язок, якщо вам потрібен лише результат розв'язку;
  • Друга містить кнопки, які дозволяють змінювати тип поля введення матриці, стирати її елементи або всю матрицю, а також найбільша кнопка зі знаком рівності, яка перенесе вас на екран з розв'язком задачі. Усі ці кнопки продубльовані клавішами на клавіатурі. Щоб дізнатися, яку клавішу на клавіатурі натиснути, просто наведіть курсор на одну з кнопок, і з'явиться підказка з назвою клавіші. Ви також можете використовувати клавіші зі стрілками на клавіатурі для переміщення курсору між полями введення матриці;
  • І остання дозволяє вибрати кількість знаків після коми для округлення нецілих чисел. Також тут можна одразу побачити приклад того, як виглядатимуть округлені дроби;

  Що таке сингулярний розклад матриці (SVD)?

Сингулярний розклад матриці (SVD) — це факторизація заданої реальної або комплексної матриці на три матриці: одна з яких є n x n комплексною унітарною матрицею, друга матриця — n x m прямокутною діагональною матрицею із сингулярними значеннями (невід'ємними дійсними числами) на діагоналі, а третя матриця — m x m спряженою транспонованою комплексною унітарною матрицею. Добуток n x n унітарної матриці на n x m прямокутну діагональну матрицю та m x m спряжену транспоновану комплексну унітарну матрицю має дати вихідну матрицю.

  Як виконати сингулярний розклад матриці (SVD)?

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

  Приклад сингулярного розкладу матриці (SVD)

Запишемо вихідну матрицю
A
:
A
=
71
7
2
8
8
5
5
5
8
Сингулярний розклад матриці є представленням матриці
A
у вигляді:
A
=
U
*
Σ
*
V
*
0
;
Матриця
U
є комплексною унітарною матрицею розміру
n
×
n
;
Матриця
Σ
має такий самий розмір, як матриця
A
(
n
×
m
), в якій сингулярні значення розташовані на головній діагоналі, а всі інші елементи дорівнюють нулю;
Матриця
V
є комплексною унітарною матрицею розміру
m
×
m
;
Матриця
V
*
0
є спряженою транспонованою матрицею матриці
V
;
// де
n
- кількість рядків матриці A
m
- кількість стовпців матриці A
Для здійснення сингулярного розкладу матриці
A
потрібно виконати наступні кроки:
1)
Обчислити матрицю H₁ за допомогою цієї формули
H₁
=
A
*
A
T
0
;
2)
Обчислити матрицю H₂ за допомогою цієї формули
H₂
=
A
T
0
*
A
;
3)
Обчислити власні значення та власні вектори матриці H₁
4)
Обчислити сингулярні значення, взявши квадратний корінь з кожного позитивного власного значення матриці H₁
5)
Відсортувати сингулярні значення у порядку спадання та розмістити їх на головній діагоналі матриці Σ, заповнити всі інші елементи матриці нулями
6)
Нормалізувати власні вектори матриці H₁ та розмістити їх як стовпці матриці U
7)
Обчислити власні значення та власні вектори матриці H₂
8)
Нормалізувати власні вектори матриці H₂ та розмістити їх як стовпці матриці V
9)
Обчислити спряжено-транспоновану матрицю(V*) матриці V
2
Матриця Aᵀ
A
T
0
=
71
8
5
7
8
5
2
5
8
3
Матриця H₁
H1
=
A
·
A
T
0
=
71
7
2
8
8
5
5
5
8
·
71
8
5
7
8
5
2
5
8
=
5130
586
222
586
138
94
222
94
93
4
Матриця H₂
H2
=
A
T
0
·
A
=
71
8
5
7
8
5
2
5
8
·
71
7
2
8
8
5
5
5
8
=
5094
634
406
634
153
120
406
120
114
5
Власні вектори H₁
21
24
25
2
14
25
1
-
3
20
9
10
1
2
25
-1
9
100
1
6
Матриця Σ
Σ
=
5208
33
100
0
0
0
144
19
50
0
0
0
8
7
25
=
72
17
100
0
0
0
12
1
50
0
0
0
2
22
25
7
Ортонормалізація H₁
U
=
99
100
3
25
1
20
-
11
100
67
100
37
50
3
50
-
37
50
67
100
8
Власні вектори H₂
12
9
100
1
27
50
1
-
1
5
47
50
1
1
20
-1
3
50
1
9
Ортонормалізація H₂
V
=
99
100
13
100
2
25
-
3
20
17
25
18
25
1
25
-
73
100
69
100
10
Матриця Vᵀ
V
T
0
=
99
100
-
3
20
1
25
13
100
17
25
-
73
100
2
25
18
25
69
100
Answer
A = U · Σ · Vᵀ
U
=
99
100
3
25
1
20
-
11
100
67
100
37
50
3
50
-
37
50
67
100
Σ
=
72
17
100
0
0
0
12
1
50
0
0
0
2
22
25
V
T
0
=
99
100
-
3
20
1
25
13
100
17
25
-
73
100
2
25
18
25
69
100
Розмір3×3

  Джерела