Автор оригинала: 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()
- Если ‘a’ и ‘b’ являются скалярами, функция dot(,) возвращает умножение скалярных чисел, которое также является скалярной величиной.
- Для ‘a’ и ‘b’ как 1-мерных массивов функция dot() возвращает внутреннее произведение векторов, то есть скалярный выход.
- Для ‘a’ и ‘b’ как 2 D массивов функция dot() возвращает умножение матрицы. Возвращаемый вывод похож на массив.
- Если ‘a’ – nd-массив, а ‘b’ – 1D-массив, то функция dot() возвращает произведение суммы по последней оси a и b. (Вывод-массив )
- Если ‘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.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
Счастливого Пифонирования!