Ортогональные проекции и QR-разложение: Грам—Шмидт на пальцах
Ближайшая точка подпространства, процесс Грама—Шмидта с полным примером и разложение A = QR: зачем оно нужно и почему численщики его обожают.
Задача: точка и прямая . Какая точка прямой ближе всего к нашей? Ответить «опустить перпендикуляр» легко, а вот посчитать координаты — уже техника. Та же задача в трёх измерениях и с плоскостью, в шести и с подпространством данных — вопрос прогноза в машинном обучении или позиционирования по сигналам спутников. Инструмент один: ортогональная проекция, а её массовое производство — процесс Грама—Шмидта и QR-разложение. Здесь разберём всё по порядку, с числами, которые можно проверить в уме.
Проекция на вектор: формула и смысл#
Начнём с одного направления. Пусть вектор задаёт прямую, и мы хотим «тень» вектора на неё. Тень — это часть , сонаправленная с , а её длина достаётся из скалярного произведения: числовой коэффициент подбирается так, чтобы остаток стал перпендикулярен .
Внимание к типу: дробь — число, и умножается оно на . Разность называют ортогональной составляющей: она падает на с нулевым скалярным произведением. Вместе пара раскладывает вектор на два перпендикулярных слагаемых — теорема Пифагора превращает это в тождество .
Считаем на нашей задаче: , направление прямой — . Скалярные произведения: , , коэффициент . Проекция: . Ортогональная составляющая: , и проверка мгновенная: — перпендикуляр. Пифагор тоже сходится: , при этом и .
Проекция на подпространство#
Прямая — частный случай. Общая постановка: дано подпространство (прямая, плоскость, столбцы матрицы) и вектор снаружи. Проекцией на называется вектор , для которого невязка ортогональна всем векторам из . Геометрия тут железная: кратчайшее расстояние до плоскости достигается по перпендикуляру, поэтому — одновременно и ближайшая точка .
Считать проекцию легко, когда у есть ортонормированный базис — тогда она распадается на сумму независимых теней:
Пример в : плоскость натянута на и — базис ортонормированный, в чём убеждает пара проверок скалярных произведений. Для : , . Проекция . Невязка — третьи компоненты базисных векторов нулевые, перпендикулярность видна сразу. Расстояние от до плоскости — длина невязки, ровно .
Осталась проблема: базис подпространства приходит из задач косым. Процесс Грама—Шмидта превращает его в ортонормированный за один проход: каждый следующий вектор очищается от проекций на уже готовые направления, затем нормируется.
Ловушка процесса в формулировке: вычитать проекции нужно на готовые ортонормированные , а не на исходные . Классическая ошибка на контрольной — вычесть тень на сырой вектор и получить направление с перекосом. Свойства ортогональных наборов и полнота системы разобраны в уроке про евклидовы пространства; там же — неравенство Коши—Буняковского, на котором стоит минимальность проекции.
Кстати, что делать, если ортонормированного базиса подпространства под рукой нет, а проекцию считать надо? Два пути. Первый — прогнать Грама—Шмидта по столбцам матрицы и вернуться к формуле с суммой скалярных произведений. Второй — составить систему из условий перпендикулярности невязки каждому столбцу: она даёт уравнения ровно на столько коэффициентов, сколько столбцов, и решается знакомым Гауссом. Оба пути приводят к одному и тому же вектору; второй способ встретится нам ещё раз в следующем уроке под именем нормальных уравнений.
QR-разложение: что это и зачем#
Кстати, что делать, если ортонормированного базиса под рукой нет, а проекцию считать надо? Два пути. Первый — прогнать Грама—Шмидта по столбцам матрицы и вернуться к формуле с суммой скалярных произведений. Второй — составить систему A^{ op}ec{c} = A^{ op}ec{a} на коэффициенты разложения ec{p} = ec{a}_1 c_1 + ec{a}_2 c_2: условия перпендикулярности невязки обоим столбцам дают ровно столько уравнений, сколько нужно. Оба пути ведут к одному вектору; второй нам ещё встретится в нормальных уравнениях МНК — это буквально они, только другими словами.
Упакуем Грама—Шмидта в матричную форму. Пусть столбцы матрицы — линейно независимые векторы . Грам—Шмидт выдаёт ортонормированные , и если записать их столбцами в матрицу , то каждый исходный вектор разлагается по ним с коэффициентами, которые собираются в верхнетреугольную матрицу :
Диагональ — ненулевая: это длины промежуточных векторов , и нулей там быть не может при независимых столбцах. Разложение единственно (при положительной диагонали ), а вычисляется оно одной строкой: , потому что для ортогональной матрицы. Проверим всё на числах: возьмём , .
Зачем это всё численщикам — три причины, каждая стоит целой главы в учебниках по вычислительной линейной алгебре. Первая: ортогональные матрицы не растягивают векторы, , поэтому ошибки округления не раздувается при проходе алгоритма — решение систем через устойчивее «лобового» Гаусса на плохих матрицах. Вторая: система распадается на , а треугольная система решается обратным ходом без единого преобразования строк. Третья: итерации — это QR-алгоритм, промышленный способ добывать собственные значения: сохраняя собственные значения, он сам собой приводит матрицу к треугольному виду, где они лежат на диагонали.
Ошибки, которые дорого стоят#
- Вычесть в Граме—Шмидте проекцию на исходный вместо нормированного : коэффициент окажется не тем, базис выйдет косым, QR не сойдётся.
- Забыть нормировку и записать в просто : столбцы ортогональны, но не единичной длины, , и формула ломается.
- Перепутать тип результата: проекция — вектор, а — число (длина тени в единицах ). В ответе задач про расстояние нужен вектор или длина невязки, а не коэффициент.
- Делить на , когда требуется : у формул проекции и «числового» проектирования знаменатели разные — сверяйте размерность.
Техническая база урока: умножение матриц и транспонирование для работы с , определители для контроля независимости столбцов. Пересчёт между базисами, в том числе ортонормированным, — в уроке о матрице перехода; сводка формул — в шпаргалке по векторной алгебре.
Проекция вектора на направление равна:
В процессе Грама—Шмидта второй вектор получается так:
В разложении верно утверждение:
Частые вопросы
Проекция на плоскость — это просто обнуление третьей координаты?
Только если плоскость координатная. Для наклонной плоскости обнулять компоненту нельзя — направление перпендикуляра другое. Универсальный путь: ортонормированный базис плоскости плюс сумма скалярных произведений, как в примере урока, где проекция на наклонённую плоскость оказалась .
Зачем нормировать векторы в Граме—Шмидте?
Нормировка делает базис ортонормированным, а не просто ортогональным: коэффициенты разложения становятся скалярными произведениями без деления на , матрица получает свойство , и формулы QR упрощаются. Без нормировки получите ортогональную систему — тоже полезно, но алгебра грязнее.
QR-разложение единственно?
Да, при положительной диагонали — единственно. Если разрешить отрицательные диагональные элементы или комплексные фазовые множители, появятся варианты: можно домножить столбец на и строку на , разложение останется честным. В задачах принято фиксировать положительную диагональ.
Где применяется проекция в реальных задачах?
Везде, где ищут «ближайшее допустимое»: подбор параметров модели в МНК, восстановление сигнала по неполным измерениям, коллаборативная фильтрация в рекомендациях (пользователь проецируется на подпространство признаков), компьютерная графика (тень и отражение). QR при этом — устойчивый способ получать ортонормированные базисы в коде.
Дальше по курсу: ортогональность немедленно превращается в метод — МНК и нормальные уравнения решают задачу подгонки прямой именно проекцией на пространство столбцов. Назад, к алгебре смены базиса, ведёт урок о матрице перехода.
Готовитесь к контрольной?
Чеклист тем по «Линал»: что вы уже умеете, что повторить и в каком порядке.
Открыть чеклист предмета →
Проверьте себя в бою
Босс-экзамен по «Линал»: квизы всех уроков плюс бесконечный поток сгенерированных задач. Каждая попытка — новый расклад.
Начать босс-экзамен →