Сингулярний розклад матриці

Матеріал з testwiki
Версія від 10:10, 18 липня 2024, створена imported>Олюсь
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку
Візуалізація SVD двовимірної, дійсної матриці зсуву M. Спершу, ми бачимо блакитний одиничний диск з двома векторами стандартного базису. Потім ми бачимо дію M, яка перетворює диск на еліпс. SVD розкладає M на три простих перетворення: початковий поворот V*, масштабування Σ уздовж осі координат і кінцевий поворот U. Довжини півосей σ1 і σ2 є сингулярними значеннями (квадратами власних значень) M, а саме Σ1,1 і Σ2,2.
Візуалізація матричного множення в СПМ

Сингуля́рний ро́зклад ма́триці (сингулярне представлення матриці чи Шаблон:Lang-en) — один з важливих методів розкладу матриці з дійсними або комплексними числами. Є узагальненням власного розкладу матриці невід'ємно визначеної нормальної матриці (наприклад, симетричної матриці з додатними власними значеннями) на матрицю розміру m×n як узагальнення полярного розкладу.

Формально, сингулярний розклад матриці 𝐌 розміру m×n, яка складена з дійсних або комплексних чисел, буде розкладанням на множники у вигляді 𝐔Σ𝐕*, де 𝐔 — матриця розміру m×m буде дійсною або комплексною унітарною матрицею, Σ буде m×n-прямокутною діагональною матрицею з не від'ємними дійсними числами на діагоналі, і 𝐕 буде дійсною або комплексною унітарною матрицею розміру n×n. Діагональні елементи σi матриці Σ відомі як сингулярні значення матриці 𝐌. Стовпчики 𝐔 та стовпчики 𝐕 називаються ліво-сингулярними векторами та право-сингулярними векторами матриці 𝐌, відповідно.

Сингулярний розклад матриці можна обчислити за допомогою наступних спостережень:

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

Визначення

Якщо M — матриця розміру m×n чиї елементи беруться з поля K, що може бути полем дійсних або комплексних чисел.

Тоді, невід'ємне дійсне число σ є сингулярним числом для M тоді і тільки тоді, коли існують вектори одиничної довжини uKm, vKn що виконується:

{Mv=σuM*u=σv.

Вектори u та v називаються відповідно сингулярним зліва вектором та сингулярним справа вектором для σ.

Для матриці M існує наступне представлення, що називається сингулярним розкладом матриці:

M=UΣV*,

де

U — унітарна матриця розміру m×m над полем K,
V* — ермітове спряження унітарної матриці матриці V розміру n×n над полем K,
Σ — діагональна матриця розміру m×n з числами σ на діагоналі,
числа σ зазвичай розташовують в спадаючому порядку, тому матриця Σ однозначно визначається матрицею M.

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

Невироджені сингулярні числа мають по одному лівому та правому сингулярному вектору з точністю до множника eiφ (в випадку дійсних чисел з точністю до знака).

Властивості

  • Стовпці U та V є сингулярними зліва та сингулярними справа векторами для M відповідно.
  • Кількість ненульових чисел на діагоналі матриці Σ рівне rank Σ = rank M = r (ранг), тому можна скоротити матриці U та V до r стовпців, а матрицю Σ до розміру r×r і отримаємо:
M=(u1ur)(σ1000000σr)(v1*vr*)=i=1rσiuivi*.


Зв'язок SVD з власними значеннями матриці

SVD існує для всіх прямокутних матриць, на відміну від власних векторів і розкладу по ньому, що існує тільки для деяких квадратних матриць.

Використавши формулу SVD для M та M*, отримаємо:

MM*=UΣV*(VΣU*)=UΣ2U*
M*M=VΣU*(UΣV*)=VΣ2V*

Права сторона є розкладом по власних векторах лівої сторони:

Цей же результат також можна отримати з визначення сингулярних значень і векторів:

{MM*u=σ2u,M*Mv=σ2v.

Псевдоінверсія

Якщо матрицю можна розкласти як M=UΣV*, то її псевдообернена матриця буде дорівнювати

 M+=VΣ+U*=i=1rσi1viui*,

де

Σ+ — матриця утворена транспонуванням Σ і заміною всіх її ненульових діагональних елементів на обернені.

Зв'язок SVD з ортогонально-проєкційними матрицями

Див. також

Джерела