Не совсем понял, что это такое. В моем понимании ортогональная проекция заключается в том, что для вектора в \mathbb{R}^m мы находим ближайшую точку в пространстве, на которое осуществляется проекция, и, собственно, проецируем.
Если мы возьмем \mathbb{R}^2 и x_1 = -2\cdot x_2 в качестве оси, на которую проецируем, то матрица, осуществляющая эту линейную трансформацию, будет 1х2, ведь любой вектор после этой трансформации окажется на выбранной оси.
Чтобы найти матрицу, достаточно понять, куда приземлятся базисные вектора, что можно сделать через тригонометрию. У меня получилось так:
Во-первых, я вообще не уверен, что иду в правильном направлении, ибо когда спрашивал у GPT, тот выдал что-то, что было 2х2 матрицей, хотя на мое предположение, что rank в ходе трансформации понижается с 2 до 1, он сказал что я абсолютно прав. Ну и ответ какой-то странный получился. И даже если я прав, то не понимаю, какая сторона в получившейся оси положительная, какая – отрицательная.
Допустим у нас есть некоторый вектор в \mathbb{R}^2, тогда его размеры 2\times1. Если мы перемножаем этот вектор на линейную трансформацию 1\times2, то получится матрица 2\times2, что неверно ибо при ортогональном проецировании мы остаёмся в том же пространстве. Проекция сжимает и перемещает вектор, но не изменяет его размерность - мы не можем сжать вектор так, чтобы получить из него плоскость. Поэтому в \mathbb{R}^2 линейная трансформация представлена матрицой 2\times2, чтобы на выходе получить вектор той же размерности 2\times1.
Допустим, проецирование на Ox: \begin{pmatrix}
0 & 0 \\
0 & 1
\end{pmatrix} , а на Oy: \begin{pmatrix}
1 & 0 \\
0 & 0
\end{pmatrix}
Если мыслить геометрически, то мы по сути трансформирум координаты двух точек на концах вектора и именно поэтому мы должны выполнить 4 операции умножения (2 пары точек и матрица 2\times2)
В общем случае, нам сначала нам нужно найти orthonormal complement u = \frac{\vec{v}}{||v||} (иначе мы не сможем спроецировать - можно попробовать сделать картинку), а затем выразить проекцию и составить матрицу трансформации:
proj_uv=(vu) u = (u^T v) u \iff v \mapsto uu^T \iff A = uu^T, где A матрица трансформации. Тогда можно посчитать и какая будет матрица трансформации в случае когда x_1=-2\times x_2.
Не могу понять как этой матрицей можно любой вектор на какую-то ось спроецировать😭
Ладно, кажется я как-то вперед паровоза пошел, спасибо, еще почитаю.
Проекция - это тень вектора на подпространство. Представьте, что вы светите фонариком перпендикулярно к линии (или плоскости) - тень, которую отбрасывает вектор, и есть его проекция.
Математически, для вектора \vec{v} и направления проекции \vec{u} (единичного вектора):
Проекция вектора \vec{v} на направление \vec{u} даётся формулой:
Ну, я рассуждал так: любой вектор в двухмерном пространстве после проекции окажется на нужной нам оси. Отсюда можно сделать вывод, что матрица, описывающая эту трансформацию, будет иметь rank = 1. Эудаймон вроде согласен.
Отсюда я сделал ошибочный вывод, что тогда матрица должна быть 1х2, тогда как ответом будет 2х2 матрица, просто с нулевым детерминантом. Теперь в процессе понимания того, как ее находить.
Вывод не ошибочный, просто недоделанный. Ведь “матрица” 1x2, о которой ты говоришь, это скорее всего вектор на этой оси.
И ты фактически этим действием делаешь скалярное произведение вектора на вектор, т.е. находишь длину проекции. Но нам же нужно еще и сохранить направление, т.е. надо лишь домножить твой ответ на единичный вектор нужной оси. В итоге ты остановился в шаге от правильного ответа.
У тебя был вектор \vec{v} тебе интересно найти его проекцию на ось, которую мы зададим единичным вектором \vec{u}, дальше ты доходишь мыслями, что скалярное произведение даст нам длину проекции. Т.е. с точностью до знака |\vec{p}|=\vec{v}\vec{u}^T теперь тебе лишь надо этот скаляр сделать вектором в нужную нам сторону, т.е. \vec{p}=\vec{v}\vec{u}^T\vec{u}=(\vec{u}\vec{u}^T)\vec{v}=P\vec{v}