logo

numpy.dot() i Python

Den numpy modulen i Python tillhandahåller en funktion för att utföra punktprodukten av två arrayer.

  • Om både arrayerna 'a' och 'b' är 1-dimensionella arrayer, utför funktionen dot() den inre produkten av vektorer (utan komplex konjugation).
  • Om både arrayerna 'a' och 'b' är 2-dimensionella arrayer, utför funktionen dot() matrismultiplikationen. Men för matris multiplikation användning av mattan eller 'a' @ 'b' Är föredraget.
  • Om antingen 'a' eller 'b' är 0-dimensionell (skalär), utför funktionen dot() multiplikation. Även användningen av numpy.multiply(a, b) eller a *b metod är att föredra.
  • Om 'a' är en N-dimensionell array och 'b' är en 1-dimensionell array, utför dot()-funktionen summaprodukten över den sista axeln av a och b.
  • Om 'a' är en M-dimensionell array och 'b' är en N-dimensionell array (där N>=2), så utför dot()-funktionen summaprodukten över den sista axeln av 'a' och den andra -till-sista axeln för 'b':
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Syntax

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

Parametrar

a: array_like

Denna parameter definierar den första arrayen.

b: array_like

minnesbyte

Denna parameter definierar den andra arrayen.

ut: ndarray (valfritt)

Det är ett output-argument. Den ska ha exakt den typ som skulle returneras i fallet när den inte användes. Speciellt bör den uppfylla prestandafunktionen, dvs den måste innehålla rätt typ, dvs den måste vara C-angränsande, och dess dtype måste vara den dtype som skulle returneras för dot(a,b). Om den inte uppfyller dessa angivna villkor gör den alltså ett undantag.

Returnerar

Denna funktion returnerar punktprodukten av 'a' och 'b'. Denna funktion returnerar en skalär om 'a' och 'b' båda är skalärer eller 1-dimensionella; annars returnerar den en array. Om 'ut' ges, så returneras det.

multithreading i java

Höjer

De ValueError inträffar när den sista dimensionen av 'a' inte har samma storlek som den näst sista dimensionen av 'b'.

Exempel 1:

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

Produktion:

 72 

Exempel 2:

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

Produktion:

 (-34+0j) 

Exempel 3:

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

Produktion:

konvertera int till sträng java
 array([[ 8, 17], [18, 47]]) 

I ovanstående kod

  • Vi har importerat numpy med alias np.
  • Vi har skapat två 2-dimensionella arrayer ' a ' och ' b '.
  • Vi har deklarerat variabeln ' c ' och tilldelade det returnerade värdet av np.dot() fungera.
  • Till sist försökte vi skriva ut värdet på ' c '.

I utgången visar den matrisprodukten som en matris.

Exempel 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 ovanstående kod

java vs c++
  • Vi har importerat numpy med alias np.
  • Vi har skapat två arrayer ' a ' och ' b ' använder sig av np.arange() funktion och ändra formen på båda arrayerna med funktionen omforma().
  • Vi har deklarerat variabeln ' c ' och tilldelade det returnerade värdet av np.dot() fungera
  • Till sist försökte vi skriva ut c ' värde.

I utgången visar den matrisprodukten som en matris.