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

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

1 часть
Знакомимся с вектором
2 часть
Операции с векторами
3 часть
Векторы: третий уровень сложности
4 часть
Знакомство с матрицами
5 часть
Что такое обратная матрица
6 часть
Решение матричных уравнений

Как сложить и перемножить векторы (и зачем).

Мы постепенно показываем вам математику за пределами школьной программы. Начинали со знакомства с векторами, теперь сделаем следующий шаг. 

Напомним основные мысли: 

  • Вектор — это абстрактное понятие, которое представляет собой организованную последовательность каких-то чисел.
  • В виде вектора можно представить координаты предмета в каком-то пространстве; площадь квартиры и её стоимость; цифровые данные анкеты какого-то человека и динамику цен на нефть.
  • Если по-простому, то векторы нужны, чтобы обрабатывать большое количество организованных чисел. Представьте, что вектор — это коробка с конфетами, только вместо конфет — числа. Каждое число стоит в своей ячейке.
  • Машинное обучение основано на перемножении матриц, которые, в свою очередь, можно представить как наборы векторов. Так что векторы лежат в глубине всех модных и молодёжных технологий ИИ.

С векторами можно совершать некоторые математические операции. Вот о них и поговорим. 

Правильно — векторы

Математики часто говорят во множественном числе «вектора», но по словарю правильно «векторы». Это такой профессиональный жаргон, как «договора», «бухгалтера» и «сервера». Мы будем использовать «векторы», но если вы окажетесь в постковидном математическом баре, лучше говорите «вектора». 

Сложение

Представим четыре вектора, которые лежат в двухмерном пространстве и пока что не связаны между собой. Нарисуем эти векторы и обозначим их буквами X, Y, Z, K. 

Поскольку векторы находятся в одном пространстве, координаты каждого состоят из одинакового количества чисел. У нас пример с двухмерным пространством и два числа. Выглядеть это будет так: X = (6, 4); Y = (3, −2); Z = (−7, −5); K = (−10, 4).

Операции с векторами
Векторы X, Y, Z, K в двухмерном пространстве

Если у нас несколько векторов с одинаковым количеством чисел, то эти числа можно поэлементно складывать. Для этого мы берём первое число одного вектора, складываем его с первым числом другого вектора и так далее. 

Предположим, нам нужно сложить векторы X и Y. 

X = (6, 4)
Y = (3, −2)
X + Y = (9, 2)

Вроде просто: складываешь последовательно все координаты, результаты сложения складываешь в исходные коробочки. Так можно делать с любым количеством координат. Помните, что вектор — это необязательно стрелка в двумерном пространстве. Она может быть и в десятимерном пространстве — с точки зрения математики это неважно.

Например, вот сложение векторов с пятью координатами: 

X = (6, 4, 11, 14, 99)
Y = (3, -2, 10, -10, 1)
X + Y = (9, 2, 21, 4, 100)

Интуитивное изображение сложения

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

Например, можно на плоскости показать, как будет работать сложение двух векторов. Для этого есть два метода: метод треугольника и метод параллелограмма. 

Метод треугольника: ставим векторы Х и Y в очередь друг за другом. Для этого берём вектор Х, ставим за ним вектор Y и получаем новый вектор. Новый вектор начинается в хвосте вектора Х и заканчивается на стрелке вектора Y. Этот вектор — результат сложения. Представьте, что это ребёночек двух векторов.

Операции с векторами
Сложение векторов по методу треугольника: X = (6, 4); Y = (3, −2); Х + Y = (9, 2)

Чтобы воспользоваться методом параллелограмма, нам нужно поставить векторы Х и Y в одну исходную точку. Дальше мы дублируем векторы Х и Y, формируем параллелограмм и получаем новый вектор. В новом векторе соединяем исходную точку с исходной точкой дублирующих векторов — стрелка проходит посередине параллелограмма. Длина нового вектора — это сумма векторов Х и Y. 

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

Операции с векторами
Сложение векторов по методу параллелограмма: X = (6, 4); Y = (3, -2); Х + Y = (9, 2)

Вычитание

Вычитание векторов немного сложнее. Чтобы вычесть векторы, нужно «развернуть» вычитаемый вектор и сложить его с исходным. «Развернуть» — то есть направить в обратную сторону, «перевернув» знаки координат. Получится конструкция вроде такой: Х + (−Y)

Дальше используются правила сложения. Пошагово это выглядит так: 

  1. У нас есть X = (6, 4) и Y = (3, −2). 
  2. Превращаем формулу Х − Y в формулу Х + (−Y). 
  3. Разворачиваем вектор Y. Было: Y = (3, −2). Стало: −Y = (−3, 2).
  4. Считаем: X + (−Y) = (3, 6). 

Теперь посмотрим, как выглядит вычитание векторов на графике:

Операции с векторами
Вычитание векторов по методу треугольника: X = (6, 4); −Y = (−3, 2); X + (−Y) = (3, 6)
Операции с векторами
Вычитание векторов по методу параллелограмма: X = (6, 4); −Y = (−3, 2); X + (−Y) = (3, 6)

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

Длина вектора — это одно число, которое измеряется расстоянием от кончика до стрелки вектора. Длину вектора нельзя путать с координатами. Координаты — это несколько чисел, которые указывают на расположение стрелки вектора. По координатам можно определить только конечную точку вектора. Например, если X = (6, 2), то стрелка будет находиться в точке 6 по оси Х. Или другой пример: если Y = (6, 5), то стрелка этого вектора будет находиться в точке 5 по оси Y.    

Предположим, нам известны начальные точки векторов X и Y. Пусть это будет точка 2 по оси X и точка 2 по оси Y. Так мы можем легко посчитать длину отрезков: 

X = 6 − 2 = 4
Y = 5 − 2 = 3

Иногда приходится рассчитывать длину третьего вектора, который привязан к двум другим векторам. Это легко сделать с помощью теоремы Пифагора — это когда квадрат гипотенузы равен сумме квадратов катетов. В нашем случае катетами будут длины векторов X и Y. Вспоминаем школьную формулу и считаем:

|C|2 = 42 + 32 = 25
|C| = √25 = 5
Операции с векторами
Длина вектора считается по формуле прямоугольного треугольника. Чтобы было проще представить — перенесите векторы на систему координат

Это формула для двумерного пространства. В трёхмерном пространстве формула похожая: нужно сложить квадраты трёх координат и вычислить квадратный корень из суммы. 

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

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

Умножение и деление позволяют изменить длину и направление вектора. Если мы умножим вектор Х на три, то увеличим его длину в три раза. Если умножим на минус три — увеличим длину и изменим его направление на противоположное. 

Операции с векторами
Умножение вектора на число

Для деления сохраняются аналогичные правила. Делим вектор Х на три и сокращаем длину в три раза. Делим на минус три — сокращаем и разворачиваем.

Операции с векторами
Деление вектора на число

Да вроде несложно!

Пока ничего сложного. Но если углубляться, вы узнаете, что: 

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

Что дальше

В следующей статье рассмотрим линейную зависимость векторов. Чтобы не скучать — посмотрите интервью с Анастасией Никулиной. Анастасия сеньор-дата-сайентист в Росбанке и по совместительству блогер с интересной историей. 

Текст

Александр Бабаскин


Редактор

Максим Ильяхов


Иллюстратор

Даня Берковский


Корректор

Ира Михеева


Вёрстка

Маша Дронова


Соцсети

Олег Вешкурцев

Веб-разработка — это новый черный
А мы знаем толк в моде и поможем освоить новую специальность за полгода.
Посмотреть
Фронтенд — это новый черный
Еще по теме
prev
next
препроцессоры
За что ты послал нам препроцессоры? Чем мы тебя прогневали?

Что такое препроцессоры CSS и зачем они нужны.

Как устроен React
Как устроен React (на примере статьи про эпидемию)

Это как JavaScript, только интереснее.

Как на самом деле работает Wi-Fi

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

Разбор: непобедимый алгоритм для игры «4 в ряд»
Разбор: непобедимый алгоритм для игры «4 в ряд»

Разбор видео Code Bullet про трюки в оптимизации алгоритмов

Стрелочные функции в JavaScript
Стрелочные функции в JavaScript

Почти как обычные функции, только стрелочные.

Объектно-ориентированное программирование: на пальцах

Статья не мальчика, но мужа.

Как сложить два числа с помощью транзисторов

Продолжение легендарной саги.

Чем занимаются бэкенд-разработчики
Чем занимаются бэкенд-разработчики

Никто не видит, но все пользуются.

Оптимизация кода
Оптимизация кода

Какая бывает и зачем нужна.

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

Чтобы создать сверхмощный процессор, достаточно простого…

Симметричное шифрование
Симметричное шифрование

Простое, но очень стойкое.

WebStorm: это что и зачем?
WebStorm: это что и зачем?

Разбираем один из любимых редакторов кода всея Руси.

Зачем нужны базы данных
Зачем нужны базы данных

И какие они бывают.

medium