Сингулярное разложение (Singular Value Decomposition, SVD) – определённого типа разложение прямоугольной матрицы , которое имеет широкое применение и позволяет вычислять сингулярные числа матрицы (они же корни собственных чисел), а также левые и правые сингулярные векторы матрицы (в том числе работает для прямоугольных и вырожденных матриц).
где – диагональная матрица, элементы главной диагонали которой – сингулярные числа матрицы
;
,
– ортогональные матрицы, элементы которых – левые и правые сингулярные вектора соответственно.
Сингулярное разложение существует для любой матрицы. Его также можно считать способом приведения данной матрицы к диагональному виду с помощью двух унитарных преобразований: .
Теорема. Пусть – матрица полученная из
заменой части диагональных элементов нулями:
. Тогда
.
Последнее равенство можно переписать в ещё более экономичном виде: , где матрица
– та же матрица
с первыми
столбцами,
– та же матрица
с первыми
строками,
– та же диагональная матрица
обрезанная до размера
. Таким образом, при помощи SVD мы можем решать задачу сжатия информации (выделения главной информации, удаление шума).
Алгоритм SVD для матрицы :