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

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

Рассмотрим некоторые общие функции линейной алгебры и их применение на чистом Python и numpy. Все примеры — на Jupyter Notebook.

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

В Python необходимо определять собственные функции, чтобы оперировать списками как векторами. Для сравнения: в numpy для аналогичных операций достаточно одной строки кода.

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

Но, конечно, в numpy это можно сделать с помощью оператора + на numpy-массивах или с помощью метода sum() .

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

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

Среднее значение вектора

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

Сумма квадратов

Величина вектора

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

На заметку

В ряде рассмотренных примеров используется sum() . Чем отличается встроенная Python-функция sum() от numpy.sum() ? Например тем, что numpy.sum() быстрее обрабатывает numpy-массивы, но медленнее Python-списки.

Проверим в Python 2.7.2 и Numpy 1.6.1:

Результат при x = range(1000) :

Результат при x = np.random.standard_normal(1000) :

Согласитесь, имеет смысл учитывать контекст использования.

В основе статьи — материал Бена Алекса Кина. Мой небольшой вклад — перевод, идиоматический код numpy-примеров и дополнительные пояснения.

Работа с векторами в Python с помощью NumPy

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

Что такое вектор в Python?

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

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

Создание вектора в Python

Модуль Python Numpy предоставляет метод numpy.array(), который создает одномерный массив, то есть вектор. Вектор может быть горизонтальным или вертикальным.

Вышеупомянутый метод принимает список в качестве аргумента и возвращает numpy.ndarray.

Давайте разберемся в следующих примерах.

Пример – 1: горизонтальный вектор

Пример – 2: Вертикальный вектор

Базовые операции вектора Python

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

Ниже приведен список основных операций, которые мы можем производить с векторами:

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

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

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

Давайте разберемся в следующем примере.

Вычитание

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

Умножение векторов

Элементы вектора 1 умножаются на вектор 2 и возвращают векторы той же длины, что и векторы умножения.

Умножение производится следующим образом.

Первый элемент вектора 1 умножается на первый элемент соответствующего вектора 2 и так далее.

Операция деления двух векторов

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

Давайте разберемся в следующем примере.

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

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

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

Давайте разберемся в следующем примере.

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

В операции скалярного умножения; мы умножаем скаляр на каждую компоненту вектора. Давайте разберемся в следующем примере.

В приведенном выше коде скалярное значение умножается на каждый элемент вектора в порядке s * v =(s * v1, s * v2, s * v3).

Векторы в Python

В простом смысле вектор можно рассматривать, как одномерный массив. Что касается Python, вектор – это одномерный массив списков. Он занимает элементы таким же образом, как и список Python.

Давайте теперь разберемся с созданием вектора в Python.

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

Модуль NumPy в Python используется для создания вектора. Мы используем метод numpy.array() для создания одномерного массива, то есть вектора.

Пример 1: горизонтальный вектор.

Пример 2: вертикальный вектор.

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

Создав вектор, давайте теперь выполним некоторые базовые операции с этими векторами!

Вот список основных операций, которые можно выполнять с вектором:

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

1. Выполнение операции сложения в векторе

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

2. Выполнение вычитания двух векторов

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

Давайте посмотрим на его реализацию.

3. Выполнение умножения двух векторов

При умножении вектора элементы вектора 1 умножаются на элементы вектора 2, а вектор произведения имеет ту же длину, что и векторы умножения.

Попробуем представить себе операцию умножения:

x = [10,20] и y = [1,2] — два вектора. Таким образом, вектор произведения будет v [],

v [0] = x [0] * y [0] v [1] = x [1] * y [1]

Взгляните на приведенный ниже код:

4. Выполнение операции деления

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

Для лучшего понимания рассмотрим приведенный ниже пример.

x = [10,20] и y = [1,2] – два вектора. Таким образом, результирующий вектор v будет таким:

v [0] = x [0] / y [0] v [1] = x [1] / y [1].

Давайте теперь реализуем вышеуказанную концепцию.

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

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

Поделиться или сохранить к себе: