En Python, si tenemos dos arrays numpy que a menudo se denominan vector. El operador ‘*’ y numpy.dot() funcionan de manera diferente en ellos. Es importante saberlo especialmente cuando se trata de ciencia de datos o problemas de programación competitivos.
Funcionamiento del operador ‘*’
La operación ‘*’ lleva a cabo la multiplicación por elementos en los elementos de la array. El elemento en a[i][j] se multiplica por b[i][j]. Esto sucede para todos los elementos de la array.
Ejemplo:
Let the two 2D array are v1 and v2:- v1 = [[1, 2], [3, 4]] v2 = [[1, 2], [3, 4]] Output: [[1, 4] [9, 16]] From below picture it would be clear.
Trabajo de numpy.dot()
Lleva de multiplicación de array normal. Cuando la condición de la cantidad de columnas de la primera array debe ser igual a la cantidad de filas de la segunda array, se verifica que solo se lleva a cabo la función numpy.dot(), de lo contrario, muestra un error.
Ejemplo:
Let the two 2D array are v1 and v2:- v1=[[1, 2], [3, 4]] v2=[[1, 2], [3, 4]] Than numpy.dot(v1, v2) gives output of :- [[ 7 10] [15 22]]
Ejemplos 1:
Python3
import numpy as np # vector v1 of dimension (2, 2) v1 = np.array([[1, 2], [1, 2]]) # vector v2 of dimension (2, 2) v2 = np.array([[1, 2], [1, 2]]) print("vector multiplication") print(np.dot(v1, v2)) print("\nElementwise multiplication of two vector") print(v1 * v2)
Output : vector multiplication [[3 6] [3 6]] Elementwise multiplication of two vector [[1 4] [1 4]]
Ejemplos 2:
Python3
import numpy as np v1 = np.array([[1, 2, 3], [1, 2, 3], [1, 2, 3]]) v2 = np.array([[[1, 2, 3], [1, 2, 3], [1, 2, 3]]]) print("vector multiplication") print(np.dot(v1, v2)) print("\nElementwise multiplication of two vector") print(v1 * v2)
Output : vector multiplication [[ 6 12 18] [ 6 12 18] [ 6 12 18]] Elementwise multiplication of two vector [[1 4 9] [1 4 9] [1 4 9]]
Publicación traducida automáticamente
Artículo escrito por prajakta_mane y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA