logo

numpy.dot() Pythonissa

Pythonin numpy-moduuli tarjoaa toiminnon kahden taulukon pistetulon suorittamiseen.

  • Jos molemmat taulukot 'a' ja 'b' ovat 1-ulotteisia taulukoita, dot()-funktio suorittaa vektorien sisätulon (ilman kompleksista konjugaatiota).
  • Jos molemmat taulukot 'a' ja 'b' ovat 2-ulotteisia taulukoita, dot()-funktio suorittaa matriisikertouksen. Mutta matriisin kertolaskukäyttöön matto tai 'a' @ 'b' on edullinen.
  • Jos joko 'a' tai 'b' on 0-ulotteinen (skalaari), dot()-funktio suorittaa kertolaskun. Myös käyttö numpy.multiply(a, b) tai a *b menetelmä on edullinen.
  • Jos 'a' on N-ulotteinen taulukko ja 'b' on 1-ulotteinen taulukko, dot()-funktio suorittaa summatulon a:n ja b:n viimeisen akselin yli.
  • Jos 'a' on M-ulotteinen taulukko ja 'b' on N-ulotteinen taulukko (jossa N>=2), dot()-funktio suorittaa summatulon 'a':n ja toisen akselin viimeiselle akselille. -b:n viimeiseen akseliin:
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Syntaksi

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

Parametrit

a: array_like

Tämä parametri määrittää ensimmäisen taulukon.

b: array_like

java merkkijonon liittäminen

Tämä parametri määrittää toisen taulukon.

ulos: ndarray (valinnainen)

b+ puita

Se on lähtöargumentti. Sen pitäisi olla täsmälleen samanlainen, joka palautetaan, jos sitä ei käytetä. Erityisesti sen tulee täyttää suorituskykyominaisuus, eli sen tulee sisältää oikea tyyppi, eli sen on oltava C-viereinen ja sen dtypen on oltava dtype, joka palautettaisiin pisteelle (a, b). Näin ollen, jos se ei täytä näitä määriteltyjä ehtoja, se aiheuttaa poikkeuksen.

Palauttaa

Tämä funktio palauttaa 'a':n ja 'b'n pistetulon. Tämä funktio palauttaa skalaarin, jos 'a' ja 'b' ovat molemmat skalaareja tai 1-ulotteisia; muussa tapauksessa se palauttaa taulukon. Jos 'out' annetaan, se palautetaan.

Nostaa

The ValueError tapahtuu, kun 'a':n viimeinen ulottuvuus ei ole sama koko kuin 'b':n toiseksi viimeinen ulottuvuus.

Esimerkki 1:

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

Lähtö:

 72 

Esimerkki 2:

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

Lähtö:

 (-34+0j) 

Esimerkki 3:

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

Lähtö:

muuntaa merkkijonoksi java
 array([[ 8, 17], [18, 47]]) 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet kaksi 2-ulotteista taulukkoa a ' ja ' b '.
  • Olemme ilmoittaneet muuttujan ' c ' ja määritti palautetun arvon np.dot() toiminto.
  • Lopuksi yritimme tulostaa arvon c '.

Tulosteessa se näyttää matriisitulon taulukkona.

Esimerkki 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 

Lähtö:

 499128 499128 

Yllä olevassa koodissa

java vs c++
  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet kaksi taulukkoa a ' ja ' b ' käyttämällä np.arange() funktio ja muuta molempien taulukoiden muotoa käyttämällä reshape()-funktiota.
  • Olemme ilmoittaneet muuttujan ' c ' ja määritti palautetun arvon np.dot() toiminto
  • Lopuksi yritimme tulostaa c ' arvoa.

Tulosteessa se näyttää matriisitulon taulukkona.