Математика / Матрицы, определители
Сингулярное разложение матрицы
Сингулярное разложение представляет матрицу как произведение двух ортогональных матриц и диагональной матрицы сингулярных чисел. Это универсальная форма разложения, которая работает для прямоугольных матриц и показывает главные направления действия линейного отображения.
Формула
Показать три последовательных шага: поворот входных осей, растяжение по главным направлениям и поворот выходных осей.
SVD удобно изображать как поворот, масштабирование и новый поворот.
Обозначения
- $A$
- исходная матрица размера m на n, безразмерная
- $U$
- ортогональная матрица левых сингулярных векторов, безразмерная
- $\Sigma$
- диагональная прямоугольная матрица сингулярных чисел, безразмерная
- $V$
- ортогональная матрица правых сингулярных векторов, безразмерная
- $\sigma_i$
- сингулярные числа матрицы A, безразмерная
Условия применения
- Матрица A может быть прямоугольной; для вещественного случая используются транспонированные ортогональные матрицы.
- Сингулярные числа обычно упорядочивают по убыванию: sigma_1 >= sigma_2 >= ... >= 0.
- В комплексном случае транспонирование заменяется эрмитовым сопряжением.
Ограничения
- Само разложение существует всегда, но вычислять полное SVD для больших матриц может быть дорого.
- Сингулярные векторы не единственны при кратных сингулярных числах.
- Малые сингулярные числа чувствительны к шуму и округлению.
Подробное объяснение
Сингулярное разложение говорит, что любое линейное преобразование можно описать через ортонормированные направления входа, независимые растяжения и ортонормированные направления выхода. Правая ортогональная матрица V выбирает удобный базис в области определения, диагональная матрица Sigma растягивает или зануляет координаты, а матрица U переносит результат в базис пространства значений. Поэтому SVD особенно удобно там, где обычные собственные значения не подходят: матрица может быть прямоугольной, иметь зависимые столбцы или плохо вести себя при диагонализации. Сингулярные числа не зависят от выбранного ортонормированного базиса и дают устойчивую характеристику размера действия матрицы. Через них получают ранг, спектральную норму, число обусловленности и псевдообратную матрицу. При работе с этой формулой важно сначала проверить размерности матриц и смысл операции. В линейной алгебре многие ошибки выглядят как верные алгебраические преобразования, но ломаются на уровне размеров: нельзя менять порядок множителей, если произведение после перестановки уже не определено, и нельзя считать обратную матрицу существующей без проверки невырожденности. В численных задачах дополнительно смотрят на обусловленность, потому что формально корректная запись может давать нестабильный ответ при округлении. Поэтому формулу полезно читать не только как способ вычисления, но и как способ увидеть структуру задачи: какие подпространства участвуют, где появляется проекция, где требуется ортогональность, а где достаточно рангового обновления.
Как пользоваться формулой
- Проверьте размер матрицы A и определите, нужно ли полное или экономное разложение.
- Найдите или вычислите сингулярные числа sigma_i и соответствующие матрицы U и V.
- Упорядочите сингулярные числа по убыванию, если задача требует анализа ранга или приближения.
- Интерпретируйте малые 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
Связанные формулы
Математика
Псевдообратная для решения МНК
Псевдообратная матрица A^+ записывает МНК-решение как x=A^+b и обобщает обратную матрицу на прямоугольные и вырожденные системы.
Математика
Ранг матрицы через сингулярные числа
Ранг матрицы равен количеству ненулевых сингулярных чисел. Эта формула связывает алгебраическое понятие размерности образа с численной диагностикой зависимости строк и столбцов.
Математика
Спектральная норма через сингулярные числа
Спектральная норма матрицы равна ее наибольшему сингулярному числу. Она показывает максимальный коэффициент растяжения вектора при действии линейного отображения.
Математика
Норма Фробениуса через след и сингулярные числа
Квадрат нормы Фробениуса равен следу матрицы A^T A, сумме квадратов всех элементов и сумме квадратов сингулярных чисел. Это удобная мера общего размера матрицы.