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

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

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

Визначення[ред.ред. код]

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

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

\left\{\begin{matrix} Mv = \sigma u \\  M^* u = \sigma v. \end{matrix}\right.

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

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

M = U\Sigma 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 = \begin{pmatrix} u_1 \vdots \ldots \vdots \, u_r \end{pmatrix}
\begin{pmatrix} \sigma_1 & 0 & 0 \\ 0 & \ddots & 0 \\ 0 & 0 & \sigma_r \end{pmatrix}
\begin{pmatrix} v_1^* \\ \vdots \\ v_r^* \end{pmatrix}
= \sum_{i=1}^r \sigma_i \, u_i \, v_i^* .

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

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

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

 M M^* = U \Sigma V^* \, (V \Sigma U^*) = U \Sigma^2 U^{*}
 M^* M = V \Sigma U^* \, (U \Sigma V^*) = V \Sigma^2 V^*

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

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

\left\{\begin{matrix} M M^* u = \sigma^2 u, \\ M^* M v = \sigma^2 v. \end{matrix}\right.

Псевдоінверсія[ред.ред. код]

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

\ M^+ = V \Sigma^+ U^* = \sum_{i=1}^r \sigma_i^{-1} \, v_i \, u_i^*,

де

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

Зв'язок SVD з ортогонально-проекційними матрицями[ред.ред. код]

Див. також[ред.ред. код]

Джерела[ред.ред. код]