Калькулятор сингулярных значений - SVD
Вычисляйте сингулярные значения любой вещественной матрицы с помощью SVD-разложения — вводите строки с переносами, а столбцы через запятые, чтобы сразу получить все сингулярные значения, ранг и нормы.
Введите матрицу, чтобы вычислить её сингулярные значения с помощью сингулярного разложения (SVD). Калькулятор показывает все сингулярные значения по убыванию вместе со свойствами матрицы.
Калькулятор сингулярных значений - SVD
Вычисляйте сингулярные значения любой вещественной матрицы с помощью SVD-разложения — вводите строки с переносами, а столбцы через запятые, чтобы сразу получить все сингулярные значения, ранг и нормы.
Введите каждую строку с новой строки. Элементы внутри строки разделяйте запятыми или пробелами. Во всех строках должно быть одинаковое число столбцов.
О калькуляторе сингулярных значений
Сингулярное разложение (SVD) — одно из важнейших разложений в линейной алгебре. Для любой вещественной матрицы m×n A SVD представляет A в виде A = UΣV^T, где U — ортогональная матрица m×m, Σ — диагональная матрица m×n с неотрицательными элементами на диагонали, а V — ортогональная матрица n×n. Диагональные элементы σ₁ ≥ σ₂ ≥ … ≥ 0 матрицы Σ и есть сингулярные значения A.
Сингулярные значения всегда являются неотрицательными действительными числами, даже если исходная матрица содержит отрицательные элементы или комплексную структуру. Они однозначно определяются матрицей — в отличие от векторов U и V, которые могут быть не единственными при повторяющихся сингулярных значениях. Число ненулевых сингулярных значений равно рангу матрицы, который измеряет размерность столбцового пространства (множества всех возможных выходов линейного преобразования, заданного матрицей A).
Связь между SVD и собственными значениями точна: сингулярные значения A являются квадратными корнями из собственных значений симметричной положительно полуопределённой матрицы A^T·A (или, эквивалентно, A·A^T для левых сингулярных векторов). Этот калькулятор вычисляет A^T·A и применяет алгоритм Якоби для собственных значений — итерационный метод, зануляющий внедиагональные элементы симметричной матрицы с помощью последовательности ортогональных вращений, называемых вращениями Гивенса, — чтобы найти её собственные значения, а затем извлекает их квадратные корни.
Наибольшее сингулярное значение σ₁ равно спектральной норме (также называемой 2-нормой или операторной нормой) матрицы — максимальному коэффициенту, во сколько матрица может растянуть единичный вектор. Норма Фробениуса — это квадратный корень из суммы квадратов всех сингулярных значений и одновременно квадратный корень из суммы квадратов всех элементов матрицы. Эти нормы имеют практическое значение: норма Фробениуса — наиболее естественная мера полной энергии матрицы, а спектральная норма контролирует чувствительность к возмущениям.
Число обусловленности κ = σ₁/σₙ (отношение наибольшего и наименьшего сингулярных значений) характеризует, насколько матрица хорошо обусловлена для решения линейных систем. Число обусловленности, близкое к 1, означает, что система хорошо обусловлена и её легко решать точно. Очень большое число обусловленности — например, выше 10⁶ или 10¹² — указывает на плохо обусловленную систему, где малые возмущения входных данных могут вызвать большие изменения в решении; это частый источник численной нестабильности в научных вычислениях и машинном обучении.
SVD имеет широкий спектр применений. В анализе данных метод главных компонент (PCA) — рабочая лошадка уменьшения размерности — математически эквивалентен вычислению SVD центрированной матрицы данных. Главные компоненты — это правые сингулярные векторы V, а дисперсия, объясняемая каждой компонентой, пропорциональна квадрату соответствующего сингулярного значения. В обработке и сжатии изображений сохранение только k наибольших сингулярных значений и связанных с ними векторов даёт приближение ранга k для матрицы изображения, минимизирующее ошибку в норме Фробениуса среди всех матриц ранга k — это теорема Эккарта–Юнга. В рекомендательных системах (коллаборативная фильтрация) матричная факторизация через SVD используется для предсказания оценок пользователей для невидимых элементов. В инженерии псевдообратная A† = VΣ†U^T даёт решение метода наименьших квадратов минимальной нормы для переопределённых или недоопределённых систем, что критично в робототехнике, теории управления и обработке сигналов.
Для этого калькулятора матрицы примерно до 10×10 обрабатываются надёжно с помощью алгоритма Якоби. Очень большие матрицы или матрицы с множеством почти одинаковых сингулярных значений могут потерять часть точности из-за накопления ошибок округления с плавающей точкой, но для типичных входных данных результаты точны как минимум до шести значащих цифр.
Примеры сингулярных значений
Типичные примеры матриц с их сингулярными значениями и ключевыми свойствами.
| Матрица | Сингулярные значения | Свойства |
|---|---|---|
| [[1, 2], [3, 4]] | σ₁ ≈ 5.4650, σ₂ ≈ 0.3660 | Общая матрица 2×2. Ранг = 2, число обусловленности ≈ 14.93. |
| [[1, 0, 0], [0, 2, 0], [0, 0, 3]] | σ₁ = 3, σ₂ = 2, σ₃ = 1 | Диагональная матрица. Сингулярные значения равны абсолютным значениям диагональных элементов. |
| [[1, 2, 3], [4, 5, 6]] | σ₁ ≈ 9.5080, σ₂ ≈ 0.7729 | Матрица 2×3 ранга 2. SVD даёт min(2,3)=2 сингулярных значения; здесь оба ненулевые. |
| [[1, 2], [2, 4]] | σ₁ = 5, σ₂ = 0 | Матрица с дефицитом ранга (строка 2 = 2 × строка 1). Одно сингулярное значение равно нулю. |
Как пользоваться калькулятором сингулярных значений
- Введите матрицу в текстовое поле: каждую строку с новой строки, а значения в строке разделяйте запятыми или пробелами.
- Проверьте, что во всех строках одинаковое число элементов — при несоответствии длин строк калькулятор покажет ошибку разбора.
- Нажмите «Вычислить сингулярные значения». Инструмент вычислит A^T·A, применит алгоритм Якоби для собственных значений и покажет все сингулярные значения по убыванию.
- Смотрите дополнительные свойства: ранг (число ненулевых сингулярных значений), норму Фробениуса, спектральную норму (σ₁) и число обусловленности (σ₁/σₙ), если матрица имеет полный столбцовый ранг.
- Используйте кнопки с примерами, чтобы загрузить готовые матрицы и посмотреть, как разные структуры матриц влияют на сингулярные значения.
FAQ по сингулярным значениям
Что такое сингулярные значения?
Сингулярные значения — это неотрицательные скаляры, которые описывают величину линейного преобразования. Для матрицы A сингулярные значения — это квадратные корни из собственных значений A^T·A. Они показывают, насколько A растягивает или сжимает векторы в разных направлениях: наибольшее сингулярное значение даёт максимальный коэффициент растяжения, а наименьшее — минимальный.
Чем сингулярные значения отличаются от собственных?
Собственные значения определены только для квадратных матриц и могут быть отрицательными или комплексными. Сингулярные значения определены для любой матрицы (в том числе прямоугольной) и всегда являются неотрицательными действительными числами. Для симметричных положительно определённых матриц сингулярные и собственные значения совпадают. В общем случае сингулярные значения A — это квадратные корни из собственных значений A^T·A.
Что показывает число обусловленности?
Число обусловленности (σ₁/σₙ) измеряет чувствительность: маленькое число обусловленности (близкое к 1) означает, что матрица ведёт себя хорошо и линейные системы Ax = b можно решать точно. Большое число обусловленности (>10⁶) указывает на почти вырожденную матрицу — матрица почти ранга недостаточна, и решения могут быть ненадёжными из-за численного усиления ошибок округления.
Почему сингулярные значения всегда неотрицательны?
Сингулярные значения определяются как σᵢ = √λᵢ, где λᵢ — собственные значения A^T·A. Поскольку A^T·A — положительно полуопределённая матрица (все собственные значения ≥ 0), квадратные корни всегда являются неотрицательными действительными числами. Это верно для любой вещественной или комплексной матрицы A.
Как связаны SVD и PCA?
Метод главных компонент (PCA) математически эквивалентен вычислению SVD центрированной матрицы данных. Правые сингулярные векторы (столбцы V) — это главные направления (главные компоненты). Соответствующие сингулярные значения пропорциональны стандартным отклонениям вдоль этих направлений — точнее, σᵢ/√(m-1) является стандартным отклонением i-й главной компоненты для матрицы данных с m строками.
Может ли этот калькулятор работать с прямоугольными матрицами?
Да. SVD определено для любой вещественной матрицы m×n, независимо от того, m > n, m = n или m < n. Для матрицы m×n число сингулярных значений равно min(m, n). У матрицы m×n с m > n не более n ненулевых сингулярных значений; у матрицы с m < n — не более m ненулевых сингулярных значений.