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.