EssayAI
Блог
Блог

Как найти проекцию вектора на подпространство

Запрос

Дано: вектор b(6; 0; 8; 10)b(6;\ 0;\ 8;\ 10) и подпространство LL, натянутое на векторы a1(1; 1; 1; 1)a_1(1;\ 1;\ 1;\ 1) и a2(1; 2; 3; 4)a_2(1;\ 2;\ 3;\ 4) в пространстве R4\mathbb{R}^4. Найти: ортогональную проекцию p=prL bp = \text{pr}_L\,b, ортогональную составляющую qq и расстояние от вектора до подпространства.

Метод один на все такие задачи: проекция ищется как линейная комбинация базисных векторов, а её коэффициенты - из условия «остаток перпендикулярен каждому базисному вектору». Это условие сворачивается в систему нормальных уравнений с матрицей Грама. Ответ: p=(3; 5; 7; 9)p = (3;\ 5;\ 7;\ 9), q=(3; −5; 1; 1)q = (3;\ -5;\ 1;\ 1), расстояние от bb до LL равно 6. Калькулятор сверху считает тот же путь целиком, и в нём уже стоят числа этого условия.

Решение по шагам

Шаг 1. Убеждаемся, что порождающие образуют базис. Векторы a1a_1 и a2a_2 не пропорциональны: отношения координат 1/11/1, 1/21/2, 1/31/3, 1/41/4 разные. Значит, система из двух векторов линейно независима, dim⁡L=2\dim L = 2, и подпространство - это плоскость в четырёхмерном пространстве. Если порождающих больше двух, независимость проверяют через ранг матрицы, составленной из их координат, а лишние векторы выбрасывают: подробный разбор такой чистки есть на странице про линейную оболочку.

Шаг 2. Записываем проекцию с неизвестными коэффициентами. Проекция лежит в подпространстве, а значит раскладывается по его базису:

p=c1a1+c2a2.p = c_1 a_1 + c_2 a_2.

Неизвестных ровно столько, какова размерность LL, то есть две, а не четыре. Это главная экономия метода: вместо координат проекции ищут коэффициенты разложения.

Шаг 3. Составляем матрицу Грама. Её элементы - попарные скалярные произведения базисных векторов:

(a1,a1)=1+1+1+1=4,(a1,a2)=1+2+3+4=10,(a2,a2)=1+4+9+16=30.\begin{aligned} (a_1, a_1) &= 1 + 1 + 1 + 1 = 4, \\ (a_1, a_2) &= 1 + 2 + 3 + 4 = 10, \\ (a_2, a_2) &= 1 + 4 + 9 + 16 = 30. \end{aligned} G=(4101030).G = \begin{pmatrix} 4 & 10 \\ 10 & 30 \end{pmatrix}.

Шаг 4. Считаем правую часть. Это скалярные произведения базисных векторов на данный вектор:

(a1,b)=6+0+8+10=24,(a2,b)=6⋅1+0⋅2+8⋅3+10⋅4=70.\begin{aligned} (a_1, b) &= 6 + 0 + 8 + 10 = 24, \\ (a_2, b) &= 6 \cdot 1 + 0 \cdot 2 + 8 \cdot 3 + 10 \cdot 4 = 70. \end{aligned}

Шаг 5. Решаем нормальную систему Gc=fG c = f.

{4c1+10c2=24,10c1+30c2=70.\begin{cases} 4c_1 + 10c_2 = 24, \\ 10c_1 + 30c_2 = 70. \end{cases}

Определитель det⁡G=4⋅30−10⋅10=20≠0\det G = 4 \cdot 30 - 10 \cdot 10 = 20 \neq 0, поэтому решение единственно. По формулам Крамера:

c1=24⋅30−10⋅7020=2020=1,c2=4⋅70−24⋅1020=4020=2.c_1 = \frac{24 \cdot 30 - 10 \cdot 70}{20} = \frac{20}{20} = 1, \qquad c_2 = \frac{4 \cdot 70 - 24 \cdot 10}{20} = \frac{40}{20} = 2.

Шаг 6. Выписываем проекцию. Подставляем найденные коэффициенты:

p=1⋅(1; 1; 1; 1)+2⋅(1; 2; 3; 4)=(3; 5; 7; 9).p = 1 \cdot (1;\ 1;\ 1;\ 1) + 2 \cdot (1;\ 2;\ 3;\ 4) = (3;\ 5;\ 7;\ 9).

Шаг 7. Находим ортогональную составляющую и расстояние. Вычитаем проекцию из исходного вектора:

q=b−p=(6−3; 0−5; 8−7; 10−9)=(3; −5; 1; 1).q = b - p = (6 - 3;\ 0 - 5;\ 8 - 7;\ 10 - 9) = (3;\ -5;\ 1;\ 1).

Проверяем перпендикулярность: (q,a1)=3−5+1+1=0(q, a_1) = 3 - 5 + 1 + 1 = 0 и (q,a2)=3−10+3+4=0(q, a_2) = 3 - 10 + 3 + 4 = 0. Оба скалярных произведения нулевые, значит разложение верное. Расстояние от вектора до подпространства - это длина ортогональной составляющей:

ρ(b,L)=∣q∣=9+25+1+1=36=6.\rho(b, L) = |q| = \sqrt{9 + 25 + 1 + 1} = \sqrt{36} = 6.

Контроль по теореме Пифагора: ∣p∣2+∣q∣2=164+36=200|p|^2 + |q|^2 = 164 + 36 = 200, а ∣b∣2=36+0+64+100=200|b|^2 = 36 + 0 + 64 + 100 = 200. Числа сошлись.

Ответ. p=(3; 5; 7; 9)p = (3;\ 5;\ 7;\ 9), q=(3; −5; 1; 1)q = (3;\ -5;\ 1;\ 1), расстояние от вектора до подпространства равно 66; угол между bb и LL находится из cos⁡φ=∣p∣/∣b∣=164/200≈0,906\cos\varphi = |p| / |b| = \sqrt{164/200} \approx 0{,}906, то есть φ≈25,1∘\varphi \approx 25{,}1^\circ.

Формула и откуда она берётся

Ортогональная проекция определяется двумя условиями сразу: p∈Lp \in L и b−p⊥Lb - p \perp L. Первое даёт разложение p=c1a1+⋯+ckakp = c_1 a_1 + \dots + c_k a_k, второе - систему уравнений на коэффициенты. Перпендикулярность целому подпространству проверять не нужно: достаточно, чтобы остаток был ортогонален каждому базисному вектору, ведь любой элемент LL есть их комбинация.

Распишем второе условие для каждого aia_i:

(b−∑j=1kcjaj, ai)=0⟺∑j=1k(ai,aj) cj=(ai,b).\left(b - \sum_{j=1}^{k} c_j a_j,\ a_i\right) = 0 \quad\Longleftrightarrow\quad \sum_{j=1}^{k} (a_i, a_j)\,c_j = (a_i, b).

Слева стоит матрица Грама G=((ai,aj))G = \big((a_i, a_j)\big), справа - столбец ff из скалярных произведений с bb. В матричной записи через матрицу AA, столбцами которой стоят базисные векторы, то же самое выглядит как ATA c=ATbA^{\mathsf{T}}A\,c = A^{\mathsf{T}}b - это и есть нормальные уравнения. Именно они лежат в основе метода наименьших квадратов: подбор прямой по точкам - это проекция столбца наблюдений на подпространство, натянутое на столбцы плана.

Ключевое свойство: определитель Грама равен нулю тогда и только тогда, когда порождающие линейно зависимы. Для настоящего базиса det⁡G>0\det G > 0, система невырождена, и коэффициенты находятся однозначно. Если же в набор затесался лишний вектор, определитель обнулится, и решать нормальную систему бессмысленно - сначала нужно проредить порождающие.

Формально проекцию можно записать матрицей P=A(ATA)−1ATP = A(A^{\mathsf{T}}A)^{-1}A^{\mathsf{T}}, тогда p=Pbp = Pb для любого вектора. Матрица PP симметрична и идемпотентна: P2=PP^2 = P, потому что повторное проецирование уже спроецированного вектора ничего не меняет. Для счёта руками обращать матрицу невыгодно, а вот как проверка свойство удобное.

Второй способ: ортогонализовать базис и сложить проекции на оси

Когда базис ортогонален, матрица Грама диагональна, система распадается на независимые уравнения, и проекция считается по готовой формуле - как сумма проекций на отдельные оси. Приведём наш базис к ортогональному по процессу Грама-Шмидта. Первый вектор оставляем: e1=(1; 1; 1; 1)e_1 = (1;\ 1;\ 1;\ 1). Из второго вычитаем его проекцию на первый:

e2=a2−(a2,e1)(e1,e1) e1=(1; 2; 3; 4)−104(1; 1; 1; 1)=(−1,5; −0,5; 0,5; 1,5).e_2 = a_2 - \frac{(a_2, e_1)}{(e_1, e_1)}\,e_1 = (1;\ 2;\ 3;\ 4) - \frac{10}{4}(1;\ 1;\ 1;\ 1) = (-1{,}5;\ -0{,}5;\ 0{,}5;\ 1{,}5).

Направление важнее длины, поэтому умножим на 2 и возьмём e2=(−3; −1; 1; 3)e_2 = (-3;\ -1;\ 1;\ 3). Теперь проекция собирается слагаемыми:

p=(b,e1)(e1,e1) e1+(b,e2)(e2,e2) e2=244(1; 1; 1; 1)+2020(−3; −1; 1; 3)=(6; 6; 6; 6)+(−3; −1; 1; 3)=(3; 5; 7; 9).p = \frac{(b, e_1)}{(e_1, e_1)}\,e_1 + \frac{(b, e_2)}{(e_2, e_2)}\,e_2 = \frac{24}{4}(1;\ 1;\ 1;\ 1) + \frac{20}{20}(-3;\ -1;\ 1;\ 3) = (6;\ 6;\ 6;\ 6) + (-3;\ -1;\ 1;\ 3) = (3;\ 5;\ 7;\ 9).

Ответ тот же, что и через нормальную систему. Каждое слагаемое здесь - обычная проекция вектора на ось, и именно поэтому формула суммы работает только после ортогонализации: у неортогонального базиса оси «перекрываются» и вклады считаются дважды. В калькуляторе сверху есть готовый пример с ортогональным базисом того же подпространства - проекция в нём не меняется, а матрица Грама становится диагональной.

Если подпространство задано системой уравнений

Часто LL задают не базисом, а однородной системой. Наша плоскость, например, описывается парой уравнений

{x1−2x2+x3=0,2x1−3x2+x4=0,\begin{cases} x_1 - 2x_2 + x_3 = 0, \\ 2x_1 - 3x_2 + x_4 = 0, \end{cases}

в чём легко убедиться подстановкой a1a_1 и a2a_2. Путей два. Первый - решить систему методом Гаусса, выписать фундаментальную систему решений и работать с ней как с базисом, то есть вернуться к разобранному выше алгоритму.

Второй путь короче, если уравнений меньше, чем векторов в базисе. Коэффициенты уравнений - это как раз базис ортогонального дополнения: n1=(1; −2; 1; 0)n_1 = (1;\ -2;\ 1;\ 0), n2=(2; −3; 0; 1)n_2 = (2;\ -3;\ 0;\ 1). Проецируем вектор на дополнение и вычитаем результат. Матрица Грама для нормалей равна (68814)\begin{pmatrix} 6 & 8 \\ 8 & 14 \end{pmatrix}, правая часть (14; 22)(14;\ 22), откуда d1=d2=1d_1 = d_2 = 1 и

q=n1+n2=(3; −5; 1; 1),p=b−q=(3; 5; 7; 9).q = n_1 + n_2 = (3;\ -5;\ 1;\ 1), \qquad p = b - q = (3;\ 5;\ 7;\ 9).

Совпадение с первым решением - хорошая независимая проверка. Этим же приёмом считают проекцию точки на плоскость в трёхмерном пространстве: там дополнение одномерно, и вычитается проекция на единственную нормаль.

Частые ошибки

  • Складывать проекции на неортогональные векторы. Соблазн написать p=(b,a1)(a1,a1)a1+(b,a2)(a2,a2)a2p = \frac{(b,a_1)}{(a_1,a_1)}a_1 + \frac{(b,a_2)}{(a_2,a_2)}a_2 велик, но здесь это даёт (6; 6; 6; 6)+73(1; 2; 3; 4)≈(8,33; 10,67; 13; 15,33)(6;\ 6;\ 6;\ 6) + \frac{7}{3}(1;\ 2;\ 3;\ 4) \approx (8{,}33;\ 10{,}67;\ 13;\ 15{,}33) - ответ неверный. Формула суммы законна только для ортогонального базиса.
  • Путать размер матрицы Грама. Её порядок равен числу базисных векторов, а не размерности объемлющего пространства: для двух векторов в R4\mathbb{R}^4 это матрица 2×22 \times 2, а не 4×44 \times 4. Перепутать ATAA^{\mathsf{T}}A с AATAA^{\mathsf{T}} - типичная причина неразрешимой системы.
  • Брать в базис зависимые векторы. Тогда det⁡G=0\det G = 0, нормальная система имеет бесконечно много решений, и студент делает вывод «задача не решается». Решается: проекция единственна всегда, не единственно лишь её разложение. Лишние порождающие нужно убрать.
  • Называть расстоянием длину проекции. Расстояние от вектора до подпространства - это ∣q∣|q|, длина ортогональной составляющей, а ∣p∣|p| и ∣b∣|b| здесь ни при чём. У нас ∣q∣=6|q| = 6, тогда как ∣p∣≈12,81|p| \approx 12{,}81.
  • Не проверять ортогональность. Пара скалярных произведений (q,ai)(q, a_i) считается за полминуты и ловит любую арифметическую ошибку в коэффициентах. Вторая такая проверка - равенство ∣p∣2+∣q∣2=∣b∣2|p|^2 + |q|^2 = |b|^2.
  • Терять знак при вычитании. Ортогональная составляющая считается как b−pb - p, а не p−bp - b: на длину знак не влияет, но координаты qq в ответе окажутся с обратным знаком.

FAQ

Чем проекция на подпространство отличается от проекции на ось? Ничем, кроме размерности: ось - это одномерное подпространство, и общая формула при k=1k = 1 превращается в знакомую p=(b,a)(a,a)ap = \frac{(b,a)}{(a,a)}a. Матрица Грама вырождается в одно число (a,a)(a,a), а нормальная система - в одно уравнение. Разбор этого частного случая с углами и знаком проекции лежит на соседней странице.

Что делать, если порождающие векторы зависимы? Найти ранг системы, оставить максимальный независимый набор и работать с ним. Проекция от выбора базиса не зависит - это свойство самого подпространства, поэтому ответ получится тот же. Меняются только коэффициенты разложения, которые в зависимом наборе просто не определены однозначно.

Всегда ли расстояние до подпространства равно длине ортогональной составляющей? Да, и это теорема, а не соглашение. Для любого другого вектора u∈Lu \in L работает Пифагор: ∣b−u∣2=∣q∣2+∣p−u∣2≥∣q∣2|b - u|^2 = |q|^2 + |p - u|^2 \geq |q|^2, причём равенство достигается только при u=pu = p. Поэтому проекция - ближайшая к bb точка подпространства, а минимум расстояния единственный.

Где этот метод встречается, кроме линейной алгебры? В методе наименьших квадратов (подбор коэффициентов регрессии - проекция вектора наблюдений на подпространство столбцов), в рядах Фурье (коэффициенты - проекции функции на ортогональную систему), в численных методах приближения многочленами. Скалярное произведение там другое, часто интегральное, но матрица Грама и нормальные уравнения выглядят дословно так же.

Коротко

  1. Проверить, что порождающие независимы: их число должно совпасть с рангом системы, иначе выбросить лишние.
  2. Записать проекцию как p=c1a1+⋯+ckakp = c_1 a_1 + \dots + c_k a_k и составить матрицу Грама из попарных скалярных произведений базисных векторов.
  3. Решить нормальную систему Gc=fGc = f, где fi=(ai,b)f_i = (a_i, b); для нашего примера G=(4101030)G = \begin{pmatrix} 4 & 10 \\ 10 & 30 \end{pmatrix}, f=(24; 70)f = (24;\ 70), откуда c=(1; 2)c = (1;\ 2).
  4. Подставить коэффициенты и найти p=(3; 5; 7; 9)p = (3;\ 5;\ 7;\ 9), затем q=b−p=(3; −5; 1; 1)q = b - p = (3;\ -5;\ 1;\ 1) и расстояние ∣q∣=6|q| = 6.
  5. Проверить ответ двумя способами: (q,ai)=0(q, a_i) = 0 для каждого базисного вектора и ∣p∣2+∣q∣2=∣b∣2|p|^2 + |q|^2 = |b|^2, то есть 164+36=200164 + 36 = 200.
Задача в тетради или методичке? Сфотографируйте условие - сервис распознает его и решит по шагам с пояснениями.

Похожие задачи

Линейная алгебра

Как найти фундаментальную систему решений: разбор

Разбираем, как найти фундаментальную систему решений однородной СЛАУ: ранг матрицы, число свободных неизвестных n минус r, базисные решения, общее решение и проверка.

Линейная алгебра

Как найти линейную оболочку векторов: базис и размерность

Разбираем, как найти линейную оболочку системы векторов: размерность через ранг, базис из исходных векторов, выражение лишних векторов и проверка принадлежности вектора оболочке.

Линейная алгебра

Как найти пересечение подпространств: базис и размерность

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

Линейная алгебра

Как найти присоединённую матрицу: разбор 3 на 3

Разбираем, как найти присоединённую матрицу 3 на 3: девять алгебраических дополнений, знаки позиций, транспонирование матрицы дополнений и формула обратной матрицы с проверкой.

Линейная алгебра

Как найти след матрицы: пример 3x3 и проверка

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

Линейная алгебра

Как найти сопряжённый оператор: разбор матрицы 3x3

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