Modul numpy Pythona pruža funkciju za izvođenje točkastog umnožaka dva niza.
- Ako su oba polja 'a' i 'b' jednodimenzionalna polja, funkcija dot() izvodi unutarnji produkt vektora (bez kompleksne konjugacije).
- Ako su oba polja 'a' i 'b' dvodimenzionalna polja, funkcija dot() izvodi matrično množenje. Ali za korištenje matričnog množenja otirač ili 'a' @ 'b' je poželjan.
- Ako su 'a' ili 'b' 0-dimenzionalni (skalarni), funkcija dot() izvodi množenje. Također, korištenje numpy.multiply(a, b) ili a *b metoda je poželjna.
- Ako je 'a' N-dimenzionalni niz, a 'b' je 1-dimenzionalni niz, tada funkcija dot() izvodi umnožak zbroja preko zadnje osi a i b.
- Ako je 'a' M-dimenzionalni niz, a 'b' N-dimenzionalni niz (gdje je N>=2), tada funkcija dot() izvodi umnožak zbroja preko zadnje osi 'a' i druge osi -do zadnje osi 'b':
dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n])
Sintaksa
numpy.dot(a, b, out=None)
Parametri
a: sličan_nizu
Ovaj parametar definira prvi niz.
b: sličan_nizu
gdje je tipka za umetanje na tipkovnici laptopa
Ovaj parametar definira drugi niz.
izlaz: ndarray (opcionalno)
To je izlazni argument. Trebao bi biti točno onakav kakav bi bio vraćen u slučaju da nije korišten. Posebno treba zadovoljiti značajku izvedbe, tj. mora sadržavati pravi tip, tj. mora biti C-susjedan, a njegov dtype mora biti dtype koji bi se vratio za točku (a,b). Dakle, ako ne ispunjava navedene uvjete, pokreće iznimku.
maven spremište
Povratak
Ova funkcija vraća točkasti umnožak 'a' i 'b'. Ova funkcija vraća skalar ako su i 'a' i 'b' skalari ili jednodimenzionalni; inače vraća niz. Ako je dano 'out', onda se vraća.
Podiže
The ValueError događa se kada posljednja dimenzija 'a' nema istu veličinu kao pretposljednja dimenzija 'b'.
Primjer 1:
import numpy as np a=np.dot(6,12) a
Izlaz:
72
Primjer 2:
import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a
Izlaz:
(-34+0j)
Primjer 3:
import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c
Izlaz:
pretvoriti int u string java
array([[ 8, 17], [18, 47]])
U gornjem kodu
- Uvezli smo numpy s alias imenom np.
- Stvorili smo dva dvodimenzionalna niza ' a 'i' b '.
- Deklarirali smo varijablu ' c ' i dodijelio vraćenu vrijednost od np.dot() funkcija. Na kraju, pokušali smo ispisati vrijednost ' c '.
U izlazu prikazuje matrični umnožak kao niz.
Primjer 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
Izlaz:
499128 499128
U gornjem kodu
java protiv c++
- Uvezli smo numpy s alias imenom np.
- Napravili smo dva polja ' a 'i' b ' koristeći np.arange() funkciju i promijenite oblik oba niza pomoću funkcije reshape().
- Deklarirali smo varijablu ' c ' i dodijelio vraćenu vrijednost od np.dot() funkcija
- Na kraju, pokušali smo ispisati ' c ' vrijednost.
U izlazu prikazuje matrični umnožak kao niz.