Векторы и векторные пространства | Линейная алгебра

Векторы и векторные пространства

Все курсы > Линейная алгебра > Занятие 1

Материалы по линейной алгебре используют определения и примеры следующих курсов и источников:

На первом занятии мы более подробно познакомимся с понятием вектора и векторного пространства.

Ноутбук к сегодняшнему занятию

Понятие вектора

Вектор (vector) — это направленный отрезок, и для нас будет важно, что любой вектор обладает длиной (magnitude) и направлением (direction). Например, возьмем вот такой двумерный вектор $\textbf{v}$

$$ \textbf{v} = \begin{bmatrix} 4 \\ 3 \end{bmatrix} $$

На курсе мы будем обозначать векторы полужирной строчной буквой, например $\textbf{v}$, а матрицы заглавной буквой, например, А.

Вектор $\textbf{v}$ удобно изобразить на координатной плоскости, исходящим из начала координат.

вектор на плоскости, исходящий из начала координат

Добавлю, что вектор — частный случай матрицы. В случае вектор-столбца речь идет о матрице размерностью n x 1. В случае вектор-строки — 1 x n. Вектор $\textbf{v}$ — это матрица 2 х 1.

Операции над векторами

Сложение векторов

Складывать векторы очень несложно. Достаточно сложить их компоненты или координаты.

$$ \begin{bmatrix} 4 \\ 3 \end{bmatrix} + \begin{bmatrix} 2 \\ -1 \end{bmatrix} = \begin{bmatrix} 6 \\ 2 \end{bmatrix} $$

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

сложение двух векторов

Сложение векторов ассоциативно $\textbf{a} + \textbf{b} = \textbf{b} + \textbf{a}$.

Умножение на скаляр

Умножение на скаляр просто удлиняет или укорачивает вектор.

$$ 2 \cdot \textbf{v} = 2 \cdot \begin{bmatrix} 4 \\ 3 \end{bmatrix} = \begin{bmatrix} 8 \\ 6 \end{bmatrix} $$

умножение на скаляр

Умножение на отрицательное число не только удлиняет или укорачивает вектор, но и переворачивает его направление.

$$ -0,5 \cdot \textbf{v} = -0,5 \cdot \begin{bmatrix} 4 \\ 3 \end{bmatrix} = \begin{bmatrix} -2 \\ -1,5 \end{bmatrix} $$

умножение на отрицательное число

Очевидно, что умножение на −1 просто переворачивает направление вектора, но не меняет его длины.

$$ -1 \cdot \textbf{v} = -1 \cdot \begin{bmatrix} 4 \\ 3 \end{bmatrix} = \begin{bmatrix} -4 \\ -3 \end{bmatrix} $$

умножение на минус один

Вычитание и деление на число

Вычитание векторов можно представить как сумму первого вектора со вторым вектором, умноженным на −1.

$$ \begin{bmatrix} 4 \\ 3 \end{bmatrix} + \left( -1 \cdot \begin{bmatrix} 2 \\ -1 \end{bmatrix} \right) = \begin{bmatrix} 2 \\ 4 \end{bmatrix} $$

Графически мы сначала находим вектор $\textbf{-b}$ (зеленая стрелка), а затем прибавляем его к вектору $\textbf{a}$ (красная стрелка).

вычитание векторов

Остается добавить, что деление вектора на число, это всего лишь умножение на обратное число (multiplicative inverse). Разделим вектор $\textbf{v}$ на семь.

$$ \frac{\textbf{v}}{7} = \begin{bmatrix} 4 \\ 3 \end{bmatrix} \cdot \frac{1}{7} = \begin{bmatrix} \frac{4}{7} \\ \frac{3}{7} \end{bmatrix} $$

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

Длина вектора

Длину или норму вектора (norm, length, magnitude or size of a vector) рассчитать не сложно, достаточно вспомнить теорему Пифагора. Снова возьмем вектор $\textbf{v}$

$$ \textbf{v} = \begin{bmatrix} 4 \\ 3 \end{bmatrix} $$

координаты вектора и сам вектор образуют прямоугольный треугольник

Как видно на графике, вектор $\textbf{v}$, смещение вдоль оси x и смещение вдоль оси y образуют прямоугольный треугольник. Значит, длина вектора (гипотенуза) равна квадратному корню из суммы квадратов смещений (катетов или в нашем случае координат).

$$ ||\textbf{v}|| = \sqrt{4^2 + 3^2} = \sqrt{25} = 5 $$

Для n-мерного вектора ничего не меняется.

$$ ||\textbf{v}|| = \sqrt{v_1^2 + v_2^2 + \dots + v_n^2} $$

Например, найдем длину трехмерного вектора $\textbf{w}$.

$$ \textbf{w} = \begin{bmatrix} 6 \\ 3 \\ 2 \end{bmatrix} \rightarrow ||\textbf{w}|| = \sqrt{6^2 + 3^2 + 2^2} = \sqrt{49} = 7 $$

Как мы знаем, длину вектора можно измерять разными способами.

Единичный вектор

Вектор с длиной, равной единице, называют единичным вектором (unit vector). Примерами единичных векторов, с которыми мы будем часто встречаться в пространстве $ R^2 $, являются следующие два вектора

$$ \hat{i} = \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \hat{j} = \begin{bmatrix} 0 \\ 1 \end{bmatrix} $$

Единичный вектор принято обозначать строчной буквой с знаком циркумфлекса, «крышечки» (hat).

Проверим, равна ли их длина единице.

$$ ||\hat{i}|| = \sqrt{1^2 + 0^2} = \sqrt{1} = 1, ||\hat{j}|| = \sqrt{0^2 + 1^2} = \sqrt{1} = 1 $$

Интересно, что с помощью векторов $ \hat{i}, \hat{j} $ можно выразить любой другой вектор в $ R^2 $. Например, вектор $\textbf{v}$ можно представить как

$$ 4 \begin{bmatrix} 1 \\ 0 \end{bmatrix} + 3 \begin{bmatrix} 0 \\ 1 \end{bmatrix} = \begin{bmatrix} 4 \\ 3 \end{bmatrix} \rightarrow 4\hat{i} + 3 \hat{j} $$

вектор, как линейная комбинация базисных векторов

Это обстоятельство нам пригодится в будущем.

Нормализация вектора

Длина нормализованного вектора равна единице. Для того чтобы нормализовать вектор, достаточно разделить вектор на его длину. Создадим единичный вектор $\hat{v}$ для вектора $\textbf{v}$.

$$ \hat{v} = \frac{\textbf{v}}{||\textbf{v}||} = \frac{1}{5} \cdot \begin{bmatrix} 4 \\ 3 \end{bmatrix} = \begin{bmatrix} \frac{4}{5} \\ \frac{3}{5} \end{bmatrix} $$

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

Важной операцией над векторами является уже знакомое нам скалярное или внутреннее произведение (dot product, inner product) *.

* dot product является частным случаем inner product в Евклидовом пространстве, однако на данном этапе будем считать эти понятия одинаковыми

В качестве напоминания приведем несложный пример. Пусть даны два вектора $\textbf{v}$ и $\textbf{w}$.

$$ \textbf{v} = \begin{bmatrix} 4 \\ 3 \end{bmatrix}, \textbf{w} = \begin{bmatrix} 2 \\ 1 \end{bmatrix} $$

Найдем их скалярное произведение.

$$ \textbf{v} \cdot \textbf{w} = 4 \cdot 2 + 3 \cdot 1 = 11 $$

Как вы видите, мы перемножаем компоненты векторов и складываем получившиеся произведения.

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

Интересно, что корень из скалярного произведения вектора на самого себя есть его длина.

$$ \sqrt{ \textbf{v} \cdot \textbf{v} } = \sqrt{4 \cdot 4 + 3 \cdot 3 } = \sqrt{ 4^2 + 3^2 } = \sqrt{25} = 5 $$

Угол между векторами

Помимо этого скалярное произведение определяется как произведение длин векторов на косинус угла между ними.

$$ a \cdot b = ||a|| \cdot ||b|| \cdot cos(\theta) $$

Именно это свойство привело нас к расчету косинусного расстояния между векторами.

$$ cos(\theta) = \frac{a \cdot b}{||a|| \cdot ||b||} $$

Выведем эту формулу. Для начала вспомним теорему косинусов.

теорема косинусов

$$ c^2 = a^2 + b^2-2ab \cdot cos(\theta) $$

Теперь представим, что у нас не стороны треугольника, а векторы. Если сторону а обозначить как вектор $ \textbf{a} $, сторону b — как вектор $ \textbf{b} $, то сторона с станет разностью между $ \textbf{a} $ и $ \textbf{b} $. Чтобы убедиться в этом, найдите $ \textbf{-b} $ и приставьте его к окончанию $ \textbf{a} $.

треугольник из векторов

Выразим теорему косинусов через длины векторов.

$$ || a-b ||^2 = ||a||^2 + ||b||^2-2 \cdot ||a|| \cdot ||b|| \cdot cos(\theta) $$

Помня, что длина есть скалярное произведение вектора на самого себя, мы можем выразить левую часть $ || a-b || $ как

$$ (a-b)(a-b) = a \cdot a-a \cdot b-b \cdot a + (-b) \cdot (-b) = ||a||^2-2ab + ||b||^2 $$

Поместим результат в исходное выражение.

$$ ||a||^2-2ab + ||b||^2 = ||a||^2 + ||b||^2-2 \cdot ||a|| \cdot ||b|| \cdot cos(\theta) $$

Сократив подобные члены получим

$$ a \cdot b = ||a|| \cdot ||b|| \cdot cos(\theta) $$

Выводы. Из тригонометрии мы помним, что косинус 90 градусов равен нулю. Как следствие, скалярное произведение перпендиклярных (правильнее сказать ортогональных (orthogonal) векторов $ \textbf{a} \perp \textbf{b} $ равно нулю.

$$ a \cdot b = ||a|| \cdot ||b|| \cdot cos(90) = 0 $$

Очевидно, что если угол между двумерными векторами меньше 90 градусов, косинус, а значит и скалярное произведение положительны. В противном случае — отрицательны. Для n-мерных векторов положительное скалярное произведение говорит, что они в целом смотрят в одну строну, отрицательное — противоположные.

Для коллинеарных (сонаправленных) векторов скалярное произведение равно произведению их длин, потому что косинус нуля равен единице.

$$ a \cdot b = ||a|| \cdot ||b|| \cdot cos(0) = ||a|| \cdot ||b|| $$

Добавлю, что если $ \textbf{a} $ и $ \textbf{b} $ — единичные векторы, то косинус угла между векторами просто равен его их скалярному произведению.

$$ cos(\theta) = a \cdot b $$

Рассчитаем косинусное расстояние для векторов

$$ \textbf{v} = \begin{bmatrix} 4 \\ 3 \end{bmatrix}, \textbf{w} = \begin{bmatrix} 1 \\ 7 \end{bmatrix} $$

Проекция вектора на вектор

Подойдем к скалярному произведению с другой стороны. Рассмотрим два вектора $ \textbf{a} $ и $ \textbf{b} $ и найдем проекцию первого вектора на второй.

проекция вектора на вектор
Проекция через угол между векторами

Говоря неформально, проекцией вектора $ \textbf{a} $ на вектор $ \textbf{b} $ будет такой участок вектора $ \textbf{b} $, что расстояние от точки A до точки B минимально. Минимальным оно будет, если угол OAB будет равен 90 градусов. Получается прямоугольный треугольник. Найдем отрезок OB.

$$ cos(\theta) = \frac {OB}{OA} = \frac {OB}{||a||} \rightarrow OB = ||a|| \cdot cos(\theta) $$

Выразим то же самое через формулу скалярного произведения, заменив $||a|| \cdot cos(\theta) $ на OB.

$$ b \cdot a = ||b|| \cdot ||a|| \cdot cos(\theta) \rightarrow b \cdot a = ||b|| \cdot OB $$

Так мы нашли длину проекции OB. Ее называют числовой или скалярной проекцией (scalar projection).

$$ \frac{b \cdot a}{||b||} = ||a|| \cdot cos(\theta) = OB $$

Более того, если длина вектора $ \textbf{b} $ равна единице, то длина проекции OB просто равна скалярному произведению.

$$ ||b|| = 1 \rightarrow b \cdot a = OB $$

Это объясняет, почему скалярное произведение еще называют projection product.

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

перпендикулярные векторы

Предположим, нас интересует не только длина проекции, но и ее направление. В этом случае говорят про векторную проекцию (vector projection).

векторная проекция

Она выражается как произведение нормализованного вектора $ \textbf{b} $ на длину проекции (то есть скалярную проекцию) OB.

$$ proj_\mathbf{b} \textbf{a} = OB \cdot \hat{b} $$

Перепишем OB через скалярное произведение, а $\hat{b}$ через частное вектора $ \textbf{b} $ на его длину.

$$ proj_\mathbf{b} \textbf{a} = \frac{b \cdot a}{||b||} \cdot \frac{b}{||b||} $$

Таким образом, можно сказать, что векторная проекция показывает, длину вектора $ \textbf{a} $ в направлении вектора $ \textbf{b} $.

Пример

Возьмем два вектора a и b и найдем вначале скалярную, затем векторную проекцию вектора a на вектор b.

пример нахождения скалярной и векторной проекции

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

Продемонстрируем с точки зрения проекции, почему $a \cdot b = b \cdot a $. Возьмем два вектора a и b.

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

Выше мы сказали, что $ a \cdot b = OB \cdot ||b|| $. То есть скалярное произведение вектора a на вектор b равно произведению проекции a на b, умноженной на длину вектора b.

Продемонстрируем, что произведение проекции вектора a на вектор b, умноженное на длину вектора b, равно произведению проекции вектора b на вектор a, умноженному на длину вектора a.

$$ proj_ba \times || b || = proj_ab \times || a || $$

Векторное произведение

Векторное произведение (cross product) задано только в трехмерном пространстве. Результатом такого произведения будет вектор, перпендикулярный каждому из исходных векторов. Приведем иллюстрацию из Википедии⧉.

векторное произведение

Математически векторное произведение задается формулой

$$ a \times b = || a || || b || sin(\theta) $$

Геометрически — это площадь параллелограмма, сформированного из исходных векторов a и b.

векторное произведение как площадь параллелограмма

Приведем пример.

Перейдем к рассмотрению векторного пространства.

Векторное пространство

Определение

С понятием вектора тесно связано понятие векторного или линейного пространства (vector space, linear space).

По большому счету, векторное пространство — это множество векторов, которые мы можем складывать (vector addition) и умножать на число или скаляр (scalar multiplication).

В частности, сложение и умножение на число двумерных (состоящих из двух компонентов) векторов дает нам двумерный вектор, трехмерных — трехмерный и так далее.

$$ \begin{bmatrix} 3 \\ 4 \end{bmatrix} + 2 \cdot \begin{bmatrix} 1 \\ 2 \end{bmatrix} = \begin{bmatrix} 5 \\ 8 \end{bmatrix} $$

При этом сложить, например, двумерный и трехмерный вектор нельзя

$$ \begin{bmatrix} 3 \\ 4 \end{bmatrix} + \begin{bmatrix} 4 \\ 3 \\ 3 \end{bmatrix} = ? $$

Поэтому говорят, что векторное пространство замкнуто относительно операций сложения и умножения на скаляр (closed under vector addition and scalar multiplication).

Двумерное пространтсво принято обозначать $R^2$, трехмерное $R^3$, n-мерное — $R^n$.

Линейная комбинация векторов

Любой вектор внутри одного пространства (например, $R^2$) можно представить как линейную комбинацию конечного числа векторов (linear combination of a finite set of vectors).

$$ 2 \cdot \begin{bmatrix} 1 \\ 2 \end{bmatrix} + 3 \cdot \begin{bmatrix} 2 \\ 1 \end{bmatrix} = \begin{bmatrix} 8 \\ 7 \end{bmatrix} $$

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

Базис пространства

Имея два таких вектора, мы можем представить любой другой вектор в пространстве $ R^2 $, сложив эти два вектора и умножив их на скаляр. Такие векторы называются базисом пространства $ R^2 $, по сути его координатами.

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

Повторим пример с единичными векторами i и j.

единичные векторы i и j

Приведенный выше базис называется стандартным (standard basis, natural basis). Это самый «экономный» или удобный способ представить все остальные векторы этого пространства.

При этом выбор такого базиса конечно условен, ничто не мешает мне перейти к другой системе координат, то есть другому базису.

Можно сказать, что координаты вектора имеют смысл только если мы знаем в какой системе координат (каком базисе) они выражены. При этом верно и то, что вектор существует в пространстве вне зависимости от системы координат или базиса.

Смена базиса

Предположим, что у нас есть два вектора исходного стандартного базиса g1 и g2 (на рисунке ниже изображены зеленым цветом). Кроме этого, у нас есть вектор r (красный). Эти векторы имеют следующие координаты

$$ \textbf{g1} = \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \textbf{g1} = \begin{bmatrix} 0 \\ 1 \end{bmatrix}, \textbf{r} = \begin{bmatrix} 3 \\ 4 \end{bmatrix} $$

Если векторы нового базиса ортогональны (это важно), то мы можем выразить координаты вектора $\textbf{v}$ в новом базисе. Новым базисом будут следующие векторы b1 и b2 (черные)

$$ \textbf{b1} = \begin{bmatrix} 2 \\ 1 \end{bmatrix}, \textbf{b1} = \begin{bmatrix} -2 \\ 4 \end{bmatrix} $$

Посмотрим на эти векторы на графике.

смена базиса

Убедимся, что векторы нового базиса b1 и b2 перпендикулярны (ортогональны).

Найдем скалярные и векторные проекции красного вектора r на векторы b1 и b2.

Посмотрим на векторые проекции.

векторные проекции в исходном базисе

В сумме векторные проекции должны дать вектор r в исходном базисе.

В новом же базисе вектор r можно выразить, как скалярные проекции вектора r на векторы нового базиса b1 и b2.

Линейная независимость векторов

Когда один вектор можно выразить через умножение другого вектора на число говорят, что эти векторы линейно зависимы. С двумя линейно независимыми векторами $ a_1, a_2 $ такого сделать не получится.

$$ a_2 \neq ka_1 $$

где k — некоторое число.

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

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

$$ a_3 \neq k_1a_2 + k_2a_2 $$

Если так сделать нельзя, мы попадаем в трехмерное пространство, если можно — останемся на плоскости.

Линейная оболочка

Линейная оболочка (linear span) — это множество всех возможных линейных комбинаций с помощью данного набора векторов.

Если у нас два линейно независимых вектора, то оболочка — $R^2$, если три вектора, но один из них линейно зависим, то по-прежнему $R^2$.

Оболочка — это ответ на вопрос, какие векторы можно построить с помощью сложения и умножения на скаляр двух векторов. Линейно зависимый вектор находится внутри оболочки, создаваемой комбинациями других линейно независимых векторов.

Таким образом, базис векторного пространства — это множество линейно независимых векторов, которые создают оболочку пространства.

Ортонормированный базис

Если угол между векторами базиса равен 90 градусов, то такой базис называют ортогональным (orthogonal). Если одновременно это единичные (нормализаованные) векторы, то такой базис называется ортонормированным (orthonormal).

Ортонормированный базис называют стандартным базисом пространства $R^n$.

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

Подведем итог

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

Кроме этого ввели понятие векторного пространства, линейной комбинации векторов, понятия базиса, линейной независимости векторов и линейной оболочки.

Перейдем к изучению матриц.