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

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

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

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

Формула

$$\operatorname{rank}(A)=\#\{i:\sigma_i>0\}$$
bar-chart Сингулярные числа и ранг

Столбиковая диаграмма сингулярных чисел с линией допуска.

Ранг через SVD удобно объяснять как число столбцов выше выбранного порога.

Обозначения

$A$
исходная матрица, безразмерная
$\sigma_i$
сингулярные числа матрицы A, безразмерная
$\operatorname{rank}(A)$
ранг матрицы A, безразмерная

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

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

Ограничения

  • Для данных с шумом понятие численного ранга зависит от выбранного допуска.
  • Очень малые сингулярные числа могут быть следствием округления, а не реальной структуры.
  • Формула не заменяет содержательной интерпретации признаков или столбцов в прикладной задаче.

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

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

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

  1. Вычислите сингулярные числа матрицы.
  2. Для точной задачи посчитайте строго положительные sigma_i.
  3. Для численной задачи выберите допуск с учетом масштаба матрицы и погрешности данных.
  4. Проверьте, согласуется ли найденный ранг с размерностями образа, ядра и исходной задачи.

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

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

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

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

Пример

Пусть сингулярные числа матрицы равны 10, 3, 0.000001. В точной математике, если последнее число действительно не равно нулю, ранг равен 3. Но если данные получены измерениями с погрешностью около 0.001, последнее значение разумно считать шумовым, и численный ранг будет 2. Именно поэтому SVD полезно не только как формальная формула, но и как инструмент диагностики качества данных. В практическом расчете для "Ранг матрицы через сингулярные числа" полезно после получения чисел проверить два факта: ортогональные множители не должны менять длину вектора, а диагональная часть должна отвечать за все растяжение. Например, если одно сингулярное число намного меньше остальных, соответствующее направление почти исчезает при действии матрицы. В анализе данных это часто означает шумовое или слабо наблюдаемое направление, а в решении систем - источник неустойчивости. Поэтому пример с числами нужно читать не только как подстановку в формулу \operatorname{rank}(A)=\#\{i:\sigma_i>0\}, но и как диагностику того, какие направления матрица сохраняет, усиливает или почти теряет.

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

Опасная ошибка - считать ранг только по тому, сколько сингулярных чисел напечатала программа. Численный алгоритм почти никогда не возвращает идеально нулевые значения для шумных данных. Еще одна ошибка - сравнивать sigma_i с абсолютным нулем без учета масштаба матрицы: для матрицы с коэффициентами порядка миллиона и для матрицы с коэффициентами порядка одной тысячной нужен разный практический порог.

Практика

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

Точный ранг

Условие. Сингулярные числа матрицы равны 6, 2, 0, 0. Найдите ранг.

Решение. Положительных сингулярных чисел два: 6 и 2. Нулевые значения не дают новых направлений образа.

Ответ. Ранг равен 2.

Численный ранг

Условие. Сингулярные числа равны 100, 4, 0.00002. При допуске 0.001 найдите численный ранг.

Решение. Значения 100 и 4 больше допуска. Значение 0.00002 меньше допуска, поэтому его считают численным нулем.

Ответ. Численный ранг равен 2.

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

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

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

Математика

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

$A=U\Sigma V^T,\quad U^TU=I,\quad V^TV=I$

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

Математика

Ранг матрицы через миноры

$\operatorname{rank}A=\max\{r:\text{существует ненулевой минор порядка }r\}$

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

Математика

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

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

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

Математика

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

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

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