logo

numpy.dot() у Python

Модуль numpy Python надає функцію скалярного добутку двох масивів.

  • Якщо обидва масиви «a» і «b» є одновимірними масивами, функція dot() виконує скалярний добуток векторів (без комплексного спряження).
  • Якщо обидва масиви «a» і «b» є двовимірними масивами, функція dot() виконує множення матриці. Але для множення матриць використовують мат або 'a' @ 'b' є кращим.
  • Якщо «a» або «b» є 0-вимірними (скалярними), функція dot() виконує множення. Крім того, використання numpy.multiply(a, b) або a *b метод є кращим.
  • Якщо «a» — N-вимірний масив, а «b» — одновимірний масив, тоді функція dot() виконує сумарний добуток на останній осі a і b.
  • Якщо «a» — це M-вимірний масив, а «b» — N-вимірний масив (де N>=2), тоді функція dot() виконує сумарний добуток за останньою віссю «a» та другою -до останньої осі 'b':
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Синтаксис

 numpy.dot(a, b, out=None) 

Параметри

a: array_like

Цей параметр визначає перший масив.

b: array_like

jbutton

Цей параметр визначає другий масив.

вихід: ndarray (необов'язково)

топології мережі

Це вихідний аргумент. Він повинен бути саме такого виду, який буде повернутий у випадку, якщо він не використовувався. Зокрема, він повинен відповідати параметрам продуктивності, тобто він повинен містити правильний тип, тобто він повинен бути C-суміжним, а його dtype має бути dtype, який буде повернуто для точки (a, b). Таким чином, якщо він не відповідає цим зазначеним умовам, він викликає виняток.

Повернення

Ця функція повертає скалярний добуток «a» і «b». Ця функція повертає скаляр, якщо «a» і «b» є скалярами або одновимірними; інакше він повертає масив. Якщо дано 'out', воно повертається.

Піднімає

The ValueError виникає, коли останній розмір 'a' не має такого самого розміру, як передостанній розмір 'b'.

приклад 1:

 import numpy as np a=np.dot(6,12) a 

Вихід:

 72 

приклад 2:

 import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a 

Вихід:

 (-34+0j) 

приклад 3:

 import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c 

Вихід:

перетворити int на рядок java
 array([[ 8, 17], [18, 47]]) 

У наведеному вище коді

  • Ми імпортували numpy з псевдонімом np.
  • Ми створили два двовимірних масиви ' a 'і' b '.
  • Ми оголосили змінну ' в ' і присвоєно повернуте значення np.dot() функція.
  • Нарешті, ми спробували надрукувати значення ' в '.

У вихідних даних він показує матричний добуток як масив.

Приклад 4:

 import numpy as np x = np.arange(3*4*5*6).reshape((3,4,5,6)) y = np.arange(3*4*5*6)[::-1].reshape((5,4,6,3)) p=np.dot(a, b)[2,3,2,1,2,2] q=sum(a[2,3,2,:] * b[1,2,:,2]) p q 

Вихід:

 499128 499128 

У наведеному вище коді

java проти c++
  • Ми імпортували numpy з псевдонімом np.
  • Ми створили два масиви ' a 'і' b ' використовуючи np.arange() і змініть форму обох масивів за допомогою функції reshape().
  • Ми оголосили змінну ' в ' і присвоєно повернуте значення np.dot() функція
  • Нарешті, ми спробували надрукувати ' в ' значення.

У вихідних даних він показує матричний добуток як масив.