logo

numpy.dot() programmā Python

Python numpy modulis nodrošina funkciju, lai veiktu divu masīvu punktu reizinājumu.

  • Ja gan masīvi 'a', gan 'b' ir 1-dimensijas masīvi, funkcija dot() veic vektoru iekšējo reizinājumu (bez sarežģītas konjugācijas).
  • Ja abi masīvi “a” un “b” ir 2-dimensiju masīvi, funkcija dot() veic matricas reizināšanu. Bet matricas reizināšanai izmantot paklājiņš vai 'a' @ 'b' priekšroka tiek dota.
  • Ja “a” vai “b” ir 0 dimensiju (skalārs), funkcija dot() veic reizināšanu. Arī lietošana numpy.multiply(a, b) vai a *b metode tiek dota priekšroka.
  • Ja “a” ir N dimensiju masīvs un “b” ir 1 dimensijas masīvs, tad funkcija dot() veic summas reizinājumu virs a un b pēdējās ass.
  • Ja 'a' ir M-dimensiju masīvs un 'b' ir N-dimensiju masīvs (kur N>=2), tad funkcija dot() veic summas reizinājumu virs pēdējās 'a' ass un otrās ass. - līdz pēdējai “b” asij:
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Sintakse

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

Parametri

a: masīva_līdzīgs

Šis parametrs nosaka pirmo masīvu.

b: masīva_līdzīgs

saglabāt youtube video vlc

Šis parametrs nosaka otro masīvu.

c++ sadalošā virkne

izeja: ndarray (pēc izvēles)

Tas ir izejas arguments. Tam jābūt tieši tādam, kāds tiktu atgriezts, ja tas netiktu izmantots. Jo īpaši tam ir jāatbilst veiktspējas funkcijai, t.i., tajā ir jābūt pareizajam veidam, t.i., tam jābūt C blakus esošajam, un tā dtype ir jābūt dtype, kas tiktu atgriezts punktam(a,b). Tādējādi, ja tas neatbilst šiem norādītajiem nosacījumiem, tas rada izņēmumu.

Atgriežas

Šī funkcija atgriež 'a' un 'b' punktu reizinājumu. Šī funkcija atgriež skalāru, ja 'a' un 'b' ir gan skalāri, gan 1-dimensijas; pretējā gadījumā tas atgriež masīvu. Ja tiek dots 'out', tad tas tiek atgriezts.

Paaugstina

The ValueError notiek, ja “a” pēdējai dimensijai nav tāda paša izmēra kā “b” otrajai līdz pēdējai dimensijai.

1. piemērs:

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

Izvade:

 72 

2. piemērs:

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

Izvade:

 (-34+0j) 

3. piemērs:

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

Izvade:

pārvērst par virkni java
 array([[ 8, 17], [18, 47]]) 

Iepriekš minētajā kodā

  • Mēs esam importējuši numpy ar aizstājvārdu np.
  • Mēs esam izveidojuši divus 2-dimensiju masīvus a ' un ' b '.
  • Mēs esam deklarējuši mainīgo ' c un piešķīra atgriezto vērtību np.dot() funkciju.
  • Visbeidzot, mēs mēģinājām izdrukāt vērtību c '.

Izvadā tas parāda matricas produktu kā masīvu.

4. piemērs:

 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 

Izvade:

 499128 499128 

Iepriekš minētajā kodā

java vs c++
  • Mēs esam importējuši numpy ar aizstājvārdu np.
  • Mēs esam izveidojuši divus masīvus a ' un ' b ' izmantojot np.arange() funkciju un mainiet abu masīvu formu, izmantojot funkciju reshape().
  • Mēs esam deklarējuši mainīgo ' c un piešķīra atgriezto vērtību np.dot() funkciju
  • Visbeidzot, mēs mēģinājām izdrukāt c ' vērtība.

Izvadā tas parāda matricas produktu kā masīvu.