De numpy-module van Python biedt een functie om het puntproduct van twee arrays uit te voeren.
- Als zowel de arrays 'a' als 'b' 1-dimensionale arrays zijn, voert de functie dot() het inproduct van vectoren uit (zonder complexe conjugatie).
- Als zowel de arrays 'a' als 'b' tweedimensionale arrays zijn, voert de functie dot() de matrixvermenigvuldiging uit. Maar voor matrixvermenigvuldiging wordt gebruik gemaakt van de mat of 'een' @ 'b' heeft de voorkeur.
- Als 'a' of 'b' 0-dimensionaal (scalair) is, voert de functie dot() vermenigvuldiging uit. Ook het gebruik van numpy.multiply(a, b) of een *b methode heeft de voorkeur.
- Als 'a' een N-dimensionale array is en 'b' een 1-dimensionale array is, voert de functie dot() het somproduct uit over de laatste as van a en b.
- Als 'a' een M-dimensionale array is en 'b' een N-dimensionale array is (waarbij N>=2), dan voert de functie dot() het somproduct uit over de laatste as van 'a' en de tweede -tot-laatste as van 'b':
dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n])
Syntaxis
numpy.dot(a, b, out=None)
Parameters
a: array_like
Deze parameter definieert de eerste array.
b: array_like
strep
Deze parameter definieert de tweede array.
uit: ndarray (optioneel)
Het is een uitvoerargument. Het moet van het exacte type zijn dat zou worden geretourneerd als het niet werd gebruikt. In het bijzonder moet het voldoen aan de prestatiekenmerken, d.w.z. het moet het juiste type bevatten, d.w.z. het moet C-aangrenzend zijn, en het dtype ervan moet het dtype zijn dat zou worden geretourneerd voor dot(a,b). Als het dus niet aan deze gespecificeerde voorwaarden voldoet, ontstaat er een uitzondering.
Geeft terug
Deze functie retourneert het puntproduct van 'a' en 'b'. Deze functie retourneert een scalair als 'a' en 'b' beide scalairen of 1-dimensionaal zijn; anders retourneert het een array. Als 'out' wordt gegeven, wordt het geretourneerd.
modem versus router
Verhoogt
De Waardefout treedt op wanneer de laatste dimensie van 'a' niet dezelfde grootte heeft als de voorlaatste dimensie van 'b'.
Voorbeeld 1:
import numpy as np a=np.dot(6,12) a
Uitgang:
72
Voorbeeld 2:
import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a
Uitgang:
(-34+0j)
Voorbeeld 3:
import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c
Uitgang:
converteer naar string-java
array([[ 8, 17], [18, 47]])
In de bovenstaande code
- We hebben numpy geïmporteerd met aliasnaam np.
- We hebben twee tweedimensionale arrays gemaakt ' A ' En ' B '.
- We hebben de variabele ' C ' en de geretourneerde waarde toegewezen van np.dot() functie. Ten slotte hebben we geprobeerd de waarde van ' C '.
In de uitvoer wordt het matrixproduct weergegeven als een array.
Voorbeeld 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
Uitgang:
499128 499128
In de bovenstaande code
Java versus c++
- We hebben numpy geïmporteerd met aliasnaam np.
- We hebben twee arrays gemaakt ' A ' En ' B ' gebruik makend van np.arange() function en verander de vorm van beide arrays met behulp van de reshape() functie.
- We hebben de variabele ' C ' en de geretourneerde waarde toegewezen van np.dot() functie
- Ten slotte hebben we geprobeerd de ' C ' waarde.
In de uitvoer wordt het matrixproduct weergegeven als een array.