logo

numpy.dot() i Python

Det numpy-modul i Python giver en funktion til at udføre prikproduktet af to arrays.

  • Hvis både arrays 'a' og 'b' er 1-dimensionelle arrays, udfører funktionen dot() det indre produkt af vektorer (uden kompleks konjugation).
  • Hvis både arrays 'a' og 'b' er 2-dimensionelle arrays, udfører dot()-funktionen matrixmultiplikationen. Men til matrix multiplikation brug af måtten eller 'a' @ 'b' foretrækkes.
  • Hvis enten 'a' eller 'b' er 0-dimensional (skalær), udfører funktionen dot() multiplikation. Også brugen af numpy.multiply(a, b) eller a *b metode foretrækkes.
  • Hvis 'a' er en N-dimensional matrix, og 'b' er en 1-dimensional matrix, så udfører dot()-funktionen sumproduktet over den sidste akse af a og b.
  • Hvis 'a' er en M-dimensional matrix, og 'b' er en N-dimensional matrix (hvor N>=2), så udfører dot()-funktionen sumproduktet over den sidste akse af 'a' og den anden akse -til-sidste akse af 'b':
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Syntaks

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

Parametre

a: array_like

Denne parameter definerer det første array.

b: array_like

lære selen

Denne parameter definerer det andet array.

ud: ndarray (valgfrit)

Det er et output-argument. Det skal have den nøjagtige type, som ville blive returneret i etuiet, når det ikke blev brugt. Især skal den opfylde præstationsfunktionen, dvs. den skal indeholde den rigtige type, dvs. den skal være C-sammenhængende, og dens dtype skal være den dtype, der ville blive returneret for dot(a,b). Såfremt det ikke opfylder disse specificerede betingelser, rejser det en undtagelse.

Vender tilbage

Denne funktion returnerer prikproduktet af 'a' og 'b'. Denne funktion returnerer en skalar, hvis 'a' og 'b' begge er skalarer eller 1-dimensionelle; ellers returnerer den en matrix. Hvis 'ud' er givet, returneres det.

java sammenlignelig grænseflade

Hæver

Det ValueError opstår, når den sidste dimension af 'a' ikke har samme størrelse som den næstsidste dimension af 'b'.

Eksempel 1:

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

Produktion:

 72 

Eksempel 2:

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

Produktion:

 (-34+0j) 

Eksempel 3:

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

Produktion:

konverter int til streng java
 array([[ 8, 17], [18, 47]]) 

I ovenstående kode

  • Vi har importeret numpy med alias navn np.
  • Vi har skabt to 2-dimensionelle arrays ' -en 'og' b '.
  • Vi har erklæret variablen ' c ' og tildelt den returnerede værdi af np.dot() fungere.
  • Til sidst forsøgte vi at udskrive værdien af ​​' c '.

I outputtet viser det matrixproduktet som et array.

Eksempel 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 

Produktion:

 499128 499128 

I ovenstående kode

java vs c++
  • Vi har importeret numpy med alias navn np.
  • Vi har oprettet to arrays ' -en 'og' b ' ved brug af np.arange() funktion og ændre formen på begge arrays ved hjælp af funktionen reshape().
  • Vi har erklæret variablen ' c ' og tildelt den returnerede værdi af np.dot() fungere
  • Til sidst forsøgte vi at udskrive ' c ' værdi.

I outputtet viser det matrixproduktet som et array.