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

Ортогональная проекция на прямую

Ортогональная проекция вектора v на прямую, заданную ненулевым вектором u, равна такому кратному u, что остаток v-proj_u v перпендикулярен прямой.

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

Формула

$$\operatorname{proj}_{u}v=\frac{v\cdot u}{u\cdot u}u$$
projection-line Вектор, его проекция и ортогональный остаток

Схема показывает прямую span{u}, вектор v, его тень на прямой и остаток под прямым углом.

Коэффициент проекции выбирается так, чтобы остаток был перпендикулярен направлению u.

Обозначения

$v$
вектор, который проецируют, вектор
$u$
ненулевой направляющий вектор прямой, вектор
$\operatorname{proj}_{u}v$
проекция v на span{u}, вектор
$v\cdot u$
скалярное произведение v и u, число
$u\cdot u$
квадрат длины u, число

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

  • Вектор u должен быть ненулевым.
  • Прямая должна проходить через начало координат и задаваться span{u}.
  • Используется скалярное произведение, относительно которого определяется ортогональность.

Ограничения

  • Если нужна проекция на аффинную прямую, не проходящую через начало, сначала переносят задачу к направляющему вектору.
  • Формула не работает при u=0, потому что знаменатель равен нулю.
  • Если u уже единичный, формула упрощается до (v*u)u; нельзя использовать это упрощение для произвольного u.

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

Проекция на прямую ищется среди всех векторов вида cu. Нужно выбрать такое число c, чтобы разность v-cu была перпендикулярна прямой. Перпендикулярность к прямой означает перпендикулярность к ее направляющему вектору u. Поэтому записываем (v-cu)*u=0. Раскрытие скалярного произведения дает v*u-c(u*u)=0, откуда c=(v*u)/(u*u).

Эта формула имеет понятный геометрический смысл. Числитель v*u измеряет компоненту v вдоль u с учетом длины u, а знаменатель u*u убирает лишний масштаб направляющего вектора. Поэтому если u заменить на 2u, сама прямая не изменится и проекция останется той же: числитель и знаменатель изменятся согласованно.

Проекция разделяет вектор на две части: v=proj_u v + r, где r перпендикулярен u. Такое разложение лежит в основе расстояния до прямой, построения ортогональных базисов и метода наименьших квадратов. В более общей задаче проекции на подпространство идея остается той же: ближайший вектор находится так, чтобы остаток был ортогонален всему подпространству.

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

  1. Проверьте, что направляющий вектор u не равен нулю.
  2. Вычислите скалярное произведение v*u.
  3. Вычислите u*u.
  4. Найдите коэффициент c=(v*u)/(u*u).
  5. Умножьте u на c и при необходимости проверьте ортогональность остатка.

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

Геометрическая идея опускания перпендикуляра на прямую известна из классической геометрии, но координатная формула для проекции стала естественной после развития скалярного произведения и векторного языка. В линейной алгебре эта формула превращает чертеж в вычисление, которое работает в любой размерности. Работы Грассмана о подпространствах и независимых направлениях, а также более позднее оформление векторного анализа подготовили современный язык projection onto a subspace. В учебных курсах формула проекции на прямую обычно идет перед нормальными уравнениями и методом наименьших квадратов, потому что она показывает главный принцип: ближайшая точка получается из условия ортогональности ошибки.

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

Проекция на прямую не имеет корректной единоличной атрибуции. Исторически это классическая геометрическая конструкция, записанная современным языком скалярного произведения; связь с Грассманом уместна через развитие подпространств и многомерных векторных величин.

Пример

Пусть v=(4,2), u=(3,1). Считаем v*u=4*3+2*1=14, u*u=9+1=10. Тогда proj_u v=(14/10)u=(7/5)(3,1)=(21/5,7/5). Остаток r=v-proj_u v=(4,2)-(21/5,7/5)=(-1/5,3/5). Проверим ортогональность: r*u=(-1/5)*3+(3/5)*1=0. Значит найденная точка на прямой действительно является ортогональной проекцией: от v до прямой идет перпендикулярный отрезок. Если бы u был единичным, знаменатель u*u был бы равен 1, но здесь его обязательно нужно учитывать. Повторная проверка через сумму proj_u v+r возвращает исходный v, поэтому разложение не теряет информацию.

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

Частая ошибка - записывать коэффициент как (u*u)/(v*u) или забывать знаменатель. Правильный коэффициент показывает, сколько направляющего вектора u нужно взять, чтобы остаток стал перпендикулярен u. Вторая ошибка - считать, что результат обязан быть короче исходного вектора покоординатно; проекция сравнивается по длине и направлению, а не по каждой координате. Третья ошибка - подставлять нулевой u. Еще одна ошибка - путать проекцию на прямую через начало с ближайшей точкой на произвольной прямой x=a+tu.

Практика

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

Проекция на ось направления

Условие. Найдите проекцию v=(2,5) на прямую span{(1,0)}.

Решение. u=(1,0). v*u=2, u*u=1. Проекция равна 2u=(2,0).

Ответ. (2,0).

Проекция на наклонную прямую

Условие. Найдите proj_u v для v=(1,2), u=(2,1).

Решение. v*u=1*2+2*1=4, u*u=5. Проекция равна (4/5)(2,1).

Ответ. (8/5,4/5).

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

  • Interactive Linear Algebra, Margalit and Rabinoff, Orthogonal Projection
  • MIT OpenCourseWare 18.06SC, Projections onto Subspaces
  • Jim Hefferon, Linear Algebra, Orthogonal Projection

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

Математика

Скалярное произведение векторов

$a\cdot b=\sum_{i=1}^{n}a_i b_i$

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

Математика

Ортогональность векторов через скалярное произведение

$u\cdot v=0$

Два вектора ортогональны, если их скалярное произведение равно нулю. В евклидовом пространстве это означает взаимную перпендикулярность направлений и дает алгебраический способ проверять прямые углы.

Математика

Расстояние до подпространства через проекцию

$\operatorname{dist}(x,W)=\|x-\operatorname{proj}_{W}x\|$

Расстояние от вектора x до подпространства W равно длине ортогонального остатка после проекции x на W. Проекция дает ближайший вектор внутри W.