logo

Multiplicación de matrices NumPy en Python

La multiplicación de matrices es una operación que produce una única matriz tomando dos matrices como entrada y multiplicando las filas de la primera matriz por la columna de la segunda matriz. Tenga en cuenta que debemos asegurarnos de que el número de filas de la primera matriz sea igual al número de columnas de la segunda matriz.

Multiplicación de matrices NumPy en Python

En Python, el proceso de multiplicación de matrices usando NumPy se conoce como vectorización . El principal objetivo de la vectorización es eliminar o reducir la para bucles que estábamos usando explícitamente. Al reducir los bucles 'for' de los programas, se obtiene un cálculo más rápido. El paquete integrado NumPy se utiliza para manipulación y procesamiento de matrices.

Estos son tres métodos mediante los cuales podemos realizar una multiplicación de matrices numerosas.

  1. Primero está el uso de la función multiplicar (), que realiza la multiplicación de la matriz por elementos.
  2. En segundo lugar está el uso de la función matmul(), que realiza el producto matricial de dos matrices.
  3. El último es el uso de la función dot(), que realiza el producto escalar de dos matrices.

Ejemplo 1: multiplicación de matrices por elementos

 import numpy as np array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) result=np.multiply(array1,array2) result 

En el código anterior

  • Hemos importado numpy con nombre de alias np.
  • Hemos creado una matriz1 y una matriz2 usando la función numpy.array() con dimensión 3.
  • Creamos un resultado variable y asignamos el valor devuelto de la función np.multiply().
  • Hemos pasado tanto la matriz array1 como la matriz2 en np.multiply().
  • Por último, intentamos imprimir el valor del resultado.

En la salida, se muestra una matriz tridimensional cuyos elementos son el resultado de la multiplicación por elementos de los elementos array1 y array2.

Producción:

 array([[[ 9, 16, 21], [24, 25, 24], [21, 16, 9]]]) 

Ejemplo 2: producto matricial

 import numpy as np array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) result=np.matmul(array1,array2) result 

Producción:

 array([[[ 30, 24, 18], [ 84, 69, 54], [138, 114, 90]]]) 

En el código anterior

pvr de forma completa
  • Hemos importado numpy con nombre de alias np.
  • Hemos creado array1 y array2 usando la función numpy.array() con dimensión 3.
  • Creamos un resultado variable y asignamos el valor devuelto de la función np.matmul().
  • Hemos pasado tanto la matriz array1 como la matriz2 en np.matmul().
  • Por último, intentamos imprimir el valor del resultado.

En el resultado, se muestra una matriz tridimensional cuyos elementos son el producto de los elementos de array1 y array2.

Ejemplo 3: producto escalar

Estas son las siguientes especificaciones para numpy.dot:

  • Cuando a y b son matrices 1-D (unidimensionales)-> Producto interno de dos vectores (sin conjugación compleja)
  • Cuando a y b son matrices 2-D (bidimensionales) -> Multiplicación de matrices
  • Cuando aob es 0-D (también conocido como escalar) -> Multiplica usando numpy.multiply(a, b) o a * b.
  • Cuando a es una matriz N-D y b es una matriz 1-D -> Producto suma sobre el último eje de a y b.
  • Cuando a es una matriz N-D y b es una matriz M-D siempre que M>=2 -> Suma producto sobre el último eje de a y el penúltimo eje de b:
    Además, punto(a, b)[i,j,k,m] = suma(a[i,j,:] * b[k,:,m])
 import numpy as np array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) result=np.dot(array1,array2) result 

En el código anterior

  • Hemos importado numpy con nombre de alias np.
  • Hemos creado array1 y array2 usando la función numpy.array() con dimensión 3.
  • Creamos un resultado variable y asignamos el valor devuelto de la función np.dot().
  • Hemos pasado tanto la matriz array1 como la matriz2 en np.dot().
  • Por último, intentamos imprimir el valor del resultado.

En el resultado, se muestra una matriz tridimensional cuyos elementos son el producto escalar de los elementos de matriz1 y matriz2.

Producción:

 array([[[[ 30, 24, 18]], [[ 84, 69, 54]], [[138, 114, 90]]]])