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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Сингуля́рний ро́зклад ма́триці (сингулярне представлення матриці чи 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 з ортогонально-проекційними матрицями [ред.]

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

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