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

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

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

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

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

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

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

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

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

Сложение

Представим четыре вектора, которые лежат в двухмерном пространстве и пока что не связаны между собой. Нарисуем эти векторы и обозначим их буквами 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
Операции с векторами
Длина вектора считается по формуле прямоугольного треугольника. Чтобы было проще представить — перенесите векторы на систему координат

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

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

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

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

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

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

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

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

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

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

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

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

Что дальше

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

Текст

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


Редактор

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


Иллюстратор

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


Корректор

Ира Михеева


Вёрстка

Маша Дронова


Соцсети

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

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
препроцессоры
За что ты послал нам препроцессоры? Чем мы тебя прогневали?

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

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

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

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

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

easy
Chrome OS — операционная система из браузера
Chrome OS — операционная система из браузера

Работает быстро, но с множеством ограничений

medium
Nginx — быстрый, дерзкий и суперпопулярный сервер
Nginx — быстрый, дерзкий и суперпопулярный сервер

Сделан в России

medium
Как встраивать что-то с других сайтов
Как встраивать что-то с других сайтов

Законный метод, может потребоваться регистрация

easy
Что такое медиазапросы в вёрстке и как они работают
Что такое медиазапросы в вёрстке и как они работают

Это фундамент адаптивного дизайна

easy
Что такое генераторы в программировании
Что такое генераторы в программировании

Они лениво раз за разом вычисляют новые значения, но не помнят, что было до этого.

medium
Квадратный корень, который ускорил игры в сто раз
Квадратный корень, который ускорил игры в сто раз

Математика, которая дала нам современные игры

medium
medium