logo

numpy.dot() v Pythone

Numpy modul Pythonu poskytuje funkciu na vykonanie bodového súčinu dvoch polí.

  • Ak sú polia 'a' aj 'b' 1-rozmerné polia, funkcia dot() vykoná vnútorný súčin vektorov (bez komplexnej konjugácie).
  • Ak sú polia 'a' aj 'b' 2-rozmerné polia, funkcia dot() vykoná násobenie matice. Ale na použitie násobenia matice rohož alebo 'a' @ 'b' je preferovaný.
  • Ak je buď 'a' alebo 'b' 0-rozmerné (skalárne), funkcia dot() vykoná násobenie. Tiež použitie numpy.multiply(a, b) alebo a *b preferovaná metóda.
  • Ak 'a' je N-rozmerné pole a 'b' je 1-rozmerné pole, potom funkcia dot() vykoná súčin súčinu na poslednej osi aab.
  • Ak 'a' je M-rozmerné pole a 'b' je N-rozmerné pole (kde N>=2), potom funkcia dot() vykoná súčin na poslednej osi 'a' a druhej -na poslednú os 'b':
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Syntax

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

Parametre

a: array_like

Tento parameter definuje prvé pole.

b: pole_like

diagram tried java

Tento parameter definuje druhé pole.

out: ndarray (voliteľné)

Je to výstupný argument. Mal by mať presný druh, ktorý by bol vrátený v prípade, že by nebol použitý. Predovšetkým by mal spĺňať funkciu výkonu, t. j. musí obsahovať správny typ, t. j. musí byť súvislý s C a jeho typ d musí byť typ d, ktorý by sa vrátil pre bodku (a, b). Ak teda tieto stanovené podmienky nesplní, vyvolá výnimku.

Návraty

Táto funkcia vracia bodový súčin 'a' a 'b'. Táto funkcia vráti skalár, ak 'a' aj 'b' sú skalárne alebo 1-rozmerné; v opačnom prípade vráti pole. Ak je zadané „mimo“, potom sa vráti.

haldy triediť

Zvyšuje

The ValueError nastane, keď posledný rozmer „a“ nemá rovnakú veľkosť ako predposledný rozmer „b“.

Príklad 1:

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

Výkon:

 72 

Príklad 2:

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

Výkon:

 (-34+0j) 

Príklad 3:

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

Výkon:

previesť int na reťazec java
 array([[ 8, 17], [18, 47]]) 

Vo vyššie uvedenom kóde

  • Importovali sme numpy s aliasom np.
  • Vytvorili sme dve 2-rozmerné polia a ' a ' b '.
  • Deklarovali sme premennú ' c a priradil vrátenú hodnotu np.dot() funkciu.
  • Nakoniec sme sa pokúsili vytlačiť hodnotu „ c '.

Vo výstupe zobrazuje súčin matice ako pole.

Príklad 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 

Výkon:

 499128 499128 

Vo vyššie uvedenom kóde

java vs c++
  • Importovali sme numpy s aliasom np.
  • Vytvorili sme dve polia ' a ' a ' b ' použitím np.arange() a zmeňte tvar oboch polí pomocou funkcie reshape().
  • Deklarovali sme premennú ' c a priradil vrátenú hodnotu np.dot() funkciu
  • Nakoniec sme sa pokúsili vytlačiť „ c 'hodnota.

Vo výstupe zobrazuje súčin matice ako pole.