logo

numpy.dot() i Python

Den numpy-modulen til Python gir en funksjon for å utføre punktproduktet til to matriser.

  • Hvis både matrisene 'a' og 'b' er 1-dimensjonale matriser, utfører dot()-funksjonen det indre produktet av vektorer (uten kompleks konjugering).
  • Hvis både matrisene 'a' og 'b' er 2-dimensjonale matriser, utfører dot()-funksjonen matrisemultiplikasjonen. Men for matrisemultiplikasjon bruk av matten eller 'a' @ 'b' er foretrukket.
  • Hvis enten 'a' eller 'b' er 0-dimensjonal (skalar), utfører dot()-funksjonen multiplikasjon. Også bruken av numpy.multiply(a, b) eller a *b metode er foretrukket.
  • Hvis 'a' er en N-dimensjonal matrise og 'b' er en 1-dimensjonal matrise, utfører dot()-funksjonen sumproduktet over den siste aksen til a og b.
  • Hvis 'a' er en M-dimensjonal matrise og 'b' er en N-dimensjonal matrise (der N>=2), så utfører dot()-funksjonen sumproduktet over den siste aksen til 'a' og den andre -til siste akse for 'b':
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Syntaks

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

Parametere

a: array_like

Denne parameteren definerer den første matrisen.

b: array_like

konvertere boolesk til streng

Denne parameteren definerer den andre matrisen.

ut: ndarray (valgfritt)

Det er et utgangsargument. Den skal ha den nøyaktige typen som ville bli returnert i tilfellet når den ikke ble brukt. Spesielt bør den oppfylle ytelsesfunksjonen, dvs. den må inneholde riktig type, dvs. den må være C-sammenhengende, og dens dtype må være dtype som vil bli returnert for dot(a,b). Så hvis den ikke oppfyller disse spesifiserte vilkårene, reiser den et unntak.

Returnerer

Denne funksjonen returnerer punktproduktet av 'a' og 'b'. Denne funksjonen returnerer en skalar hvis 'a' og 'b' begge er skalarer eller 1-dimensjonale; ellers returnerer den en matrise. Hvis 'ut' er gitt, returneres det.

java sammenlignbart grensesnitt

Hever

De ValueError oppstår når den siste dimensjonen til 'a' ikke har samme størrelse som den nest siste dimensjonen til 'b'.

Eksempel 1:

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

Produksjon:

 72 

Eksempel 2:

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

Produksjon:

 (-34+0j) 

Eksempel 3:

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

Produksjon:

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

I koden ovenfor

  • Vi har importert numpy med alias navn np.
  • Vi har laget to 2-dimensjonale arrays ' en ' og ' b '.
  • Vi har erklært variabelen ' c ' og tildelt den returnerte verdien av np.dot() funksjon.
  • Til slutt prøvde vi å skrive ut verdien av ' c '.

I utgangen viser den matriseproduktet som en matrise.

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 

Produksjon:

 499128 499128 

I koden ovenfor

java vs c++
  • Vi har importert numpy med alias navn np.
  • Vi har laget to arrays ' en ' og ' b ' ved hjelp av np.arange() funksjon og endre formen til begge arrayene ved å bruke funksjonen omforme().
  • Vi har erklært variabelen ' c ' og tildelt den returnerte verdien av np.dot() funksjon
  • Til slutt prøvde vi å skrive ut c ' verdi.

I utgangen viser den matriseproduktet som en matrise.