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.