logo

numpy.dot() v Pythonu

Modul numpy v Pythonu ponuja funkcijo za izvedbo pikčastega produkta dveh nizov.

  • Če sta obe matriki 'a' in 'b' enodimenzionalni matriki, funkcija dot() izvede notranji produkt vektorjev (brez kompleksne konjugacije).
  • Če sta obe matriki 'a' in 'b' dvodimenzionalni matriki, funkcija dot() izvede matrično množenje. Toda za uporabo matričnega množenja mat oz 'a' @ 'b' je prednostna.
  • Če je bodisi 'a' bodisi 'b' 0-dimenzionalen (skalar), funkcija dot() izvede množenje. Tudi uporaba numpy.multiply(a, b) oz a *b metoda je prednostna.
  • Če je 'a' N-dimenzionalna matrika in je 'b' 1-dimenzionalna matrika, potem funkcija dot() izvede zmnožek vsote nad zadnjo osjo a in b.
  • Če je 'a' M-dimenzionalna matrika in 'b' N-dimenzionalna matrika (kjer je N>=2), potem funkcija dot() izvede zmnožek vsote nad zadnjo osjo 'a' in drugo -do zadnje osi 'b':
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Sintaksa

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

Parametri

a: array_like

Ta parameter določa prvo matriko.

b: podoben_matriki

razlika med gigabajtom in megabajtom

Ta parameter določa drugo polje.

izhod: ndarray (neobvezno)

Je izhodni argument. Imeti mora točno takšno, kot bi jo vrnili, če je ne bi uporabljali. Zlasti mora ustrezati funkciji zmogljivosti, tj. vsebovati mora pravi tip, tj. biti mora soseden C, njegov dtype pa mora biti dtype, ki bi bil vrnjen za piko (a, b). Če torej ne izpolnjuje navedenih pogojev, sproži izjemo.

Vračila

Ta funkcija vrne pikčasti produkt 'a' in 'b'. Ta funkcija vrne skalar, če sta 'a' in 'b' oba skalara ali 1-dimenzionalna; sicer vrne matriko. Če je podano 'out', se vrne.

java uporabniški vnos

Dviguje

The ValueError se zgodi, ko zadnja dimenzija 'a' nima enake velikosti kot predzadnja dimenzija 'b'.

Primer 1:

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

Izhod:

 72 

Primer 2:

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

Izhod:

 (-34+0j) 

Primer 3:

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

Izhod:

pretvori int v niz java
 array([[ 8, 17], [18, 47]]) 

V zgornji kodi

  • Uvozili smo numpy z vzdevkom np.
  • Ustvarili smo dve 2-dimenzionalni matriki ' a ' in ' b '.
  • Razglasili smo spremenljivko ' c ' in dodelil vrnjeno vrednost np.dot() funkcijo.
  • Nazadnje smo poskušali natisniti vrednost ' c '.

V izhodu prikaže matrični produkt kot matriko.

Primer 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 

Izhod:

 499128 499128 

V zgornji kodi

java proti c++
  • Uvozili smo numpy z vzdevkom np.
  • Ustvarili smo dve matriki ' a ' in ' b ' z uporabo np.arange() in spremenite obliko obeh nizov s funkcijo reshape().
  • Razglasili smo spremenljivko ' c ' in dodelil vrnjeno vrednost np.dot() funkcijo
  • Nazadnje smo poskušali natisniti ' c ' vrednost.

V izhodu prikaže matrični produkt kot matriko.