Математика / Матрицы, определители

Сингулярное разложение матрицы

Сингулярное разложение представляет матрицу как произведение двух ортогональных матриц и диагональной матрицы сингулярных чисел. Это универсальная форма разложения, которая работает для прямоугольных матриц и показывает главные направления действия линейного отображения.

Опубликовано: Обновлено:

Формула

$$A=U\Sigma V^T,\quad U^TU=I,\quad V^TV=I$$
decomposition Схема SVD

Показать три последовательных шага: поворот входных осей, растяжение по главным направлениям и поворот выходных осей.

SVD удобно изображать как поворот, масштабирование и новый поворот.

Обозначения

$A$
исходная матрица размера m на n, безразмерная
$U$
ортогональная матрица левых сингулярных векторов, безразмерная
$\Sigma$
диагональная прямоугольная матрица сингулярных чисел, безразмерная
$V$
ортогональная матрица правых сингулярных векторов, безразмерная
$\sigma_i$
сингулярные числа матрицы A, безразмерная

Условия применения

  • Матрица A может быть прямоугольной; для вещественного случая используются транспонированные ортогональные матрицы.
  • Сингулярные числа обычно упорядочивают по убыванию: sigma_1 >= sigma_2 >= ... >= 0.
  • В комплексном случае транспонирование заменяется эрмитовым сопряжением.

Ограничения

  • Само разложение существует всегда, но вычислять полное SVD для больших матриц может быть дорого.
  • Сингулярные векторы не единственны при кратных сингулярных числах.
  • Малые сингулярные числа чувствительны к шуму и округлению.

Подробное объяснение

Сингулярное разложение говорит, что любое линейное преобразование можно описать через ортонормированные направления входа, независимые растяжения и ортонормированные направления выхода. Правая ортогональная матрица V выбирает удобный базис в области определения, диагональная матрица Sigma растягивает или зануляет координаты, а матрица U переносит результат в базис пространства значений. Поэтому SVD особенно удобно там, где обычные собственные значения не подходят: матрица может быть прямоугольной, иметь зависимые столбцы или плохо вести себя при диагонализации. Сингулярные числа не зависят от выбранного ортонормированного базиса и дают устойчивую характеристику размера действия матрицы. Через них получают ранг, спектральную норму, число обусловленности и псевдообратную матрицу. При работе с этой формулой важно сначала проверить размерности матриц и смысл операции. В линейной алгебре многие ошибки выглядят как верные алгебраические преобразования, но ломаются на уровне размеров: нельзя менять порядок множителей, если произведение после перестановки уже не определено, и нельзя считать обратную матрицу существующей без проверки невырожденности. В численных задачах дополнительно смотрят на обусловленность, потому что формально корректная запись может давать нестабильный ответ при округлении. Поэтому формулу полезно читать не только как способ вычисления, но и как способ увидеть структуру задачи: какие подпространства участвуют, где появляется проекция, где требуется ортогональность, а где достаточно рангового обновления.

Как пользоваться формулой

  1. Проверьте размер матрицы A и определите, нужно ли полное или экономное разложение.
  2. Найдите или вычислите сингулярные числа sigma_i и соответствующие матрицы U и V.
  3. Упорядочите сингулярные числа по убыванию, если задача требует анализа ранга или приближения.
  4. Интерпретируйте малые sigma_i отдельно: они часто отвечают за шум, неустойчивость или почти зависимые направления.

Историческая справка

Идея сингулярных чисел выросла из работ по билинейным и квадратичным формам, а современная вычислительная роль SVD укрепилась в XX веке вместе с численными методами. В учебном курсе эту формулу обычно дают после ортогональных преобразований и спектральной теоремы, потому что она объединяет геометрический и вычислительный взгляд на матрицы. Современная запись этой формулы сложилась не сразу. Сначала похожие идеи появлялись в задачах решения систем линейных уравнений, теории квадратичных форм, аналитической механике и статистике, где матрицы использовали как компактный язык для больших наборов коэффициентов. В XX веке развитие численного анализа, вычислительной техники и прикладной статистики сделало такие тождества особенно важными: стало нужно не просто доказать существование решения, а уметь устойчиво считать его на реальных данных. Поэтому историческую атрибуцию здесь лучше понимать как цепочку вкладов: алгебраическая идея, удобная матричная запись, численный алгоритм и прикладная интерпретация часто были оформлены разными авторами и школами.

Историческая линия формулы

Сингулярное разложение не стоит приписывать одному автору. В его истории обычно упоминают Эудженио Бельтрами, Камиля Жордана и более позднюю численную школу, включая работы по устойчивым алгоритмам матричных вычислений. Атрибуция этой темы распределенная: алгебраическая основа идет от теории билинейных и квадратичных форм, а современный вычислительный смысл связан с численной линейной алгеброй XX века. Поэтому страницу лучше связывать с исторической линией развития метода, а не с единственным автором.

Пример

Если A описывает преобразование двумерных данных, SVD показывает, что действие A можно разобрать на поворот или отражение, растяжение по главным осям и еще один поворот. Например, сингулярное число 5 означает, что в некотором направлении вектор растягивается в 5 раз, а сингулярное число 0.2 показывает почти сжатое направление. В прикладной задаче это помогает понять, какие компоненты данных действительно несут сигнал, а какие почти исчезают при преобразовании. В практическом расчете для "Сингулярное разложение матрицы" полезно после получения чисел проверить два факта: ортогональные множители не должны менять длину вектора, а диагональная часть должна отвечать за все растяжение. Например, если одно сингулярное число намного меньше остальных, соответствующее направление почти исчезает при действии матрицы. В анализе данных это часто означает шумовое или слабо наблюдаемое направление, а в решении систем - источник неустойчивости. Поэтому пример с числами нужно читать не только как подстановку в формулу A=U\Sigma V^T,\quad U^TU=I,\quad V^TV=I, но и как диагностику того, какие направления матрица сохраняет, усиливает или почти теряет.

Частая ошибка

Частая ошибка - воспринимать SVD как то же самое, что диагонализацию. Диагонализация требует квадратной матрицы и собственных векторов, а SVD работает и для прямоугольных матриц. Еще одна ошибка - забывать, что V^T стоит справа, а не слева: порядок множителей здесь принципиален. В численных задачах нельзя автоматически отбрасывать все малые сингулярные числа без оценки масштаба данных и шума.

Практика

Задачи с решением

SVD диагональной матрицы

Условие. Для A = diag(4, 1) запишите один возможный вид SVD.

Решение. Матрица уже диагональна с неотрицательными диагональными элементами. Можно взять U=I, V=I, Sigma=diag(4,1). Тогда A=I Sigma I^T.

Ответ. U=I, Sigma=diag(4,1), V=I.

Смысл нулевого сингулярного числа

Условие. У матрицы 3 на 3 сингулярные числа равны 7, 2, 0. Что это говорит о преобразовании?

Решение. Нулевое сингулярное число означает, что одно направление зануляется. Следовательно, матрица не имеет полного ранга, ее ранг равен двум, а обратной матрицы не существует.

Ответ. Ранг равен 2; преобразование сжимает одно ненулевое направление в ноль.

Дополнительные источники

  • Г. Стрэнг, Введение в линейную алгебру
  • Д. Лэй, Линейная алгебра и ее приложения
  • G. H. Golub, C. F. Van Loan, Matrix Computations
  • MIT OpenCourseWare, Linear Algebra

Связанные формулы

Математика

Псевдообратная для решения МНК

$\hat x=A^+b,\qquad A^+=(A^\top A)^{-1}A^\top\ (\operatorname{rank}(A)=n).$

Псевдообратная матрица A^+ записывает МНК-решение как x=A^+b и обобщает обратную матрицу на прямоугольные и вырожденные системы.

Математика

Ранг матрицы через сингулярные числа

$\operatorname{rank}(A)=\#\{i:\sigma_i>0\}$

Ранг матрицы равен количеству ненулевых сингулярных чисел. Эта формула связывает алгебраическое понятие размерности образа с численной диагностикой зависимости строк и столбцов.

Математика

Спектральная норма через сингулярные числа

$\|A\|_2=\sigma_{\max}(A)=\sqrt{\lambda_{\max}(A^TA)}$

Спектральная норма матрицы равна ее наибольшему сингулярному числу. Она показывает максимальный коэффициент растяжения вектора при действии линейного отображения.

Математика

Норма Фробениуса через след и сингулярные числа

$\|A\|_F^2=\operatorname{tr}(A^TA)=\sum_{i,j}a_{ij}^2=\sum_k\sigma_k^2$

Квадрат нормы Фробениуса равен следу матрицы A^T A, сумме квадратов всех элементов и сумме квадратов сингулярных чисел. Это удобная мера общего размера матрицы.