Рубрики
Без рубрики

Numpy Dot Product в Python С примерами

Примеры и объяснения numpy dot product в python для скаляров, комплексных векторов, одномерных и двумерных массивов.

Автор оригинала: Team Python Pool.

Numpy Dot Product в Python С примерами

Здравствуйте программисты, в этой статье мы обсудим продукты Numpy dot в Python. Функция Numpy dot() вычисляет точечное произведение Numpy n-мерных массивов. Функция numpy.dot () принимает два массива numpy в качестве аргументов, вычисляет их точечное произведение и возвращает результат.

Для 1D массивов это внутреннее произведение векторов. Он выполняет точечное произведение над 2-D массивами, рассматривая их как матрицы. Следовательно, выполнение матричного умножения над ними. Мы рассмотрим реализацию функции numpy.dot() над скалярами, векторами, массивами и матрицами. Перед этим позвольте мне просто кратко рассказать вам о синтаксисе и типе возвращаемого значения продукта Numpy dot в Python.

Синтаксис функции numpy dot()

numpy.dot(vector_a, vector_b,)

Параметры:

  • vector_a-это первый аргумент(массив) операции точечного произведения. Если ‘a’ является комплексным, то его комплексное сопряжение используется для вычисления точечного произведения. [обязательно]
  • аргумент vector_b(массив). Если вектор сложный, он использует свой комплексно сопряженный. [обязательно]
  • out-это C-непрерывный массив с типом данных, аналогичным тому,который возвращается для dot(vector_a, vector_b). [необязательно]

Возвращаемый тип функции Numpy Dot()

  1. Если ‘a’ и ‘b’ являются скалярами, функция dot(,) возвращает умножение скалярных чисел, которое также является скалярной величиной.
  2. Для ‘a’ и ‘b’ как 1-мерных массивов функция dot() возвращает внутреннее произведение векторов, то есть скалярный выход.
  3. Для ‘a’ и ‘b’ как 2 D массивов функция dot() возвращает умножение матрицы. Возвращаемый вывод похож на массив.
  4. Если ‘a’ – nd-массив, а ‘b’ – 1D-массив, то функция dot() возвращает произведение суммы по последней оси a и b. (Вывод-массив )
  5. Если ‘a’ является M-мерным массивом, а ‘b’-N-мерным массивом, то функция dot() возвращает массив , который является суммированным произведением по последней оси ‘a’ и предпоследней оси ‘b

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

import numpy as np
 .dot(a,b)
print(output)

Выход:

18

Объяснение:

В приведенном выше примере два скалярных числа передаются в качестве аргумента функции np.dot (). Таким образом, эта функция numpy dot вычисляет точечное произведение двух скаляров путем вычисления их умножения. Передача и в np.dot() возвращает 18.

Numpy dot произведение комплексных векторов

import numpy as np 
   + 3j + 4j
  .dot(vector_a, vector_b) 
print("Dot Product  : ", product)

Выход:

Dot Product  :  (-2 + 23j)

Объяснение:

В приведенном выше примере функция numpy dot находит точечное произведение двух комплексных векторов. Поскольку vector_a и vector_b являются комплексными, для этого требуется комплексное сопряжение любого из двух комплексных векторов.

Здесь используется комплексное сопряжение vector_b, т. е. (5 + 4j) и (5 _ 4j).

Функция np.dot() вычисляет точечное произведение как: 2(5 + 4j) + 3j(5 – 4j)

#комплексное сопряжение vector_b равно + 8j + 15j – 12 = -2 + 23j

Таким образом, передавая vector_a и vector_b в качестве аргументов функции np.dot (), она возвращает (-2 + 23j) в качестве выходных данных.

Numpy dot произведение 1D массивов

import numpy as np

#initialize arrays.array([3, 1, 7, 4]).array([2, 4, 5, 8])

#dot product.dot(A, B)

print(output)

Выход:

77

Объяснение:

Во-первых, два массива инициализируются путем передачи значений в метод np.array() для A и B. Созданные A и B представляют собой одномерные массивы. Функция numpy dot вычисляет точечное произведение для этих двух 1D массивов следующим образом:

[3, 1, 7, 4] . [2, 4, 5,*2 + 1*4 + 7*5 +

Таким образом, передавая одномерные массивы A и B в функцию np.dot() ,

в качестве выходных данных возвращается скалярное значение 77.

Точечное произведение над 2D массивами

import numpy as np

#initialize arrays.array([[2, 1], [5, 4]]).array([[3, 4], [7, 8]])

#dot product.dot(A, B)

print(output)

Выход:

[[13 16],
 [43 52]]

Объяснение:

метод np.array() инициализирует два массива A и B. Созданные A и B представляют собой двумерные массивы. Точечное произведение двух 2-D массивов возвращается как матричное умножение этих двух входных массивов. Точечный продукт для href=”https://en.wikipedia.org/wiki/3D”>3D массивы вычисляются как: href=”https://en.wikipedia.org/wiki/3D”>3D массивы вычисляются как:

= [[2, 1], [5, 4]].[[3, 4], [7, 8]] 
= [[2*3+1*7, 2*4+1*8], [5*3+4*7, 5*4+4*8]]  
= [[13, 16], [43, 52]

Таким образом, передавая 2D-массивы A и B в функцию np.dot (), результирующий вывод также является 2D-массивом.

Далее объясняется в Python Vectors, что все операции предварительно встроены в numpy, включая точечный продукт.

Вывод

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

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

Счастливого Пифонирования!