El mòdul numpy de Python proporciona una funció per realitzar el producte puntual de dues matrius.
- Si tant les matrius 'a' com 'b' són matrius unidimensionals, la funció dot() realitza el producte intern dels vectors (sense conjugació complexa).
- Si ambdues matrius 'a' i 'b' són matrius bidimensionals, la funció dot() realitza la multiplicació de la matriu. Però per a la multiplicació de matrius s'utilitza l'estora o 'a' @ 'b' es prefereix.
- Si 'a' o 'b' és 0-dimensional (escalar), la funció dot() realitza la multiplicació. També, l'ús de numpy.multiplicar(a, b) o a *b es prefereix el mètode.
- Si 'a' és una matriu de N dimensions i 'b' és una matriu d'1 dimensió, aleshores la funció dot() realitza el producte suma sobre l'últim eix de a i b.
- Si 'a' és una matriu de dimensions M i 'b' és una matriu de dimensions N (on N>=2), aleshores la funció dot() realitza el producte suma sobre l'últim eix de 'a' i el segon. -a l'últim eix de 'b':
dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n])
Sintaxi
numpy.dot(a, b, out=None)
Paràmetres
a: array_like
Aquest paràmetre defineix la primera matriu.
b: array_like
crear fil java
Aquest paràmetre defineix la segona matriu.
fora: ndarray (opcional)
arbre de cerca binari]
És un argument de sortida. Hauria de tenir el tipus exacte que es retornaria en el cas que no s'utilitzi. En particular, ha de complir la funció de rendiment, és a dir, ha de contenir el tipus correcte, és a dir, ha de ser contigu a C i el seu dtype ha de ser el dtype que es retornaria per a dot(a,b). Així, si no compleix aquestes condicions especificades, planteja una excepció.
Devolucions
Aquesta funció retorna el producte escalat de 'a' i 'b'. Aquesta funció retorna un escalar si 'a' i 'b' són tots dos escalars o unidimensionals; en cas contrari, retorna una matriu. Si es dóna 'fora', es retorna.
Pujades
El ValueError es produeix quan l'última dimensió de 'a' no té la mateixa mida que la penúltima dimensió de 'b'.
Exemple 1:
import numpy as np a=np.dot(6,12) a
Sortida:
72
Exemple 2:
import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a
Sortida:
(-34+0j)
Exemple 3:
import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c
Sortida:
convertir int en cadena java
array([[ 8, 17], [18, 47]])
En el codi anterior
- Hem importat numpy amb el nom d'àlies np.
- Hem creat dues matrius bidimensionals ' a 'i' b '.
- Hem declarat la variable ' c ' i assignat el valor retornat de np.dot() funció. Finalment, hem intentat imprimir el valor de ' c '.
A la sortida, mostra el producte matricial com una matriu.
Exemple 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
Sortida:
499128 499128
En el codi anterior
java vs c++
- Hem importat numpy amb el nom d'àlies np.
- Hem creat dues matrius ' a 'i' b ' utilitzant np.arange() funció i canvieu la forma de les dues matrius mitjançant la funció reshape().
- Hem declarat la variable ' c ' i assignat el valor retornat de np.dot() funció
- Finalment, hem intentat imprimir el ' c 'valor.
A la sortida, mostra el producte matricial com una matriu.