Tutorial Numpy sobre multiplicación de matrices

Numpy es una biblioteca de python que se utiliza para trabajar con grandes arreglos y matrices multidimensionales. Conocido por proporcionar poderosas herramientas y técnicas para resolver problemas de modelado matemático.

Recomendado: Aprende con este curso java script desde cero

¿Qué es Numpy?

Es una biblioteca de código abierto y es el paquete básico para la computación científica en Python. Numpy se conoce como Numerical Python y es conocido por sus cálculos. Para usarlo, NumPy debe estar instalado en su sistema. De lo contrario, puede leer cómo instalarlo desde aquí.

Multiplicación de matrices

En Matemáticas, la multiplicación de matrices es la operación binaria en dos matrices, lo que da como resultado una sola matriz. Para la multiplicación, el número de columnas de la primera matriz debe ser igual al número de filas de la segunda matriz. En la matriz resultante, el número de filas será igual al número de la primera matriz y el número de columnas será igual al número de columnas de la segunda matriz.

¿Cómo multiplicar matrices en NumPy?

NumPy incluye muchas funciones para realizar la multiplicación de matrices. En NumPy, esto se llama multiplicación de matrices. vectorismo. La vectorización tiene como objetivo reducir o eliminar los bucles «for» utilizados en Python para iterar sobre los números de la matriz. Exploremos estas funciones y sus diversas instalaciones:

1.Dot()

El método NumPy.dot() se usa para multiplicar dos matrices en Numpy. La multiplicación de matriz regular es una fila multiplicada por la columna y sumada, como se muestra arriba.

Aquí hay algunas especificaciones de numpy.dot():

  • Si ambas matrices A y B son 1-D, da el producto interno de dos vectores
  • Si ambas matrices, A y B, son bidimensionales, se trata de una multiplicación de matrices, a menos que utilice el método numpy.matmul() o A@B
  • Si la matriz A o B es un escalar, es equivalente a la multiplicación usando NumPy

2. Multiply()

En este método, se realiza la multiplicación por elementos.

3. Matmul ()

Matmul funciona igual que la función dot(). Se diferencia de dot() en términos de multiplicación de escalas. No puedes multiplicar escalas con matmul(); necesitará usar el operador «*» en su lugar.

Tutorial Numpy: Multiplicar matrices en Python

como usar numpy en python

En Python, tenemos que escribir un programa para multiplicar matrices. Se puede lograr mediante el uso de dos métodos. Entendemos cómo funciona –

Método 1

En esto, usaremos bucles for anidados para iterar a través de cada fila y columna.

A = [[12, 7, 3], 
    [4, 5, 6], 
    [7, 8, 9]] 
  
B = [[5, 8, 1, 2], 
    [6, 7, 3, 0], 
    [4, 5, 9, 1]] 
      
result = [[114, 160, 60, 27], 
        [74, 97, 73, 14], 
        [119, 157, 112, 23]] 
  
for i in range(len(A)): 
 
    for j in range(len(B[0])): 
  
        for k in range(len(B)): 
            result[i][j] += A[i][k] * B[k][j] 
  
for r in result: 
    print(r) 

En el código anterior,

  • Estamos usando la matriz A de dimensión 3*3 y la matriz B de dimensión 3*4.
  • Creamos una matriz de resultados de dimensión 3*4 para almacenar el producto de dos matrices. El tamaño es 3*4 porque el número de filas será igual a la primera matriz y el número de columnas será igual a la columna de la segunda matriz.
  • Luego, usando tres ciclos for, iteramos a través de cada fila de la matriz A y cada columna de la matriz B, luego multiplicamos cada elemento de una columna de la matriz B por cada elemento consecutivo de la matriz A y almacenamos el resultado en la matriz resultante.
  • Finalmente, imprime el resultado iterando a través de la matriz de resultados.

Método 2

En este método, usaremos una lista anidada y una biblioteca zip de Python.

A = [[12, 7, 3], 
    [4, 5, 6], 
    [7, 8, 9]] 
  
B = [[5, 8, 1, 2], 
    [6, 7, 3, 0], 
    [4, 5, 9, 1]] 
  
result = [[sum(a * b for a, b in zip(A_row, B_col))  
                        for B_col in zip(*B)] 
                                for A_row in A] 
  
for r in result: 
    print(r) 

En el código anterior,

  • Creamos dos matrices de diferentes dimensiones y la matriz resultante es la misma que en el Método 1.
  • A continuación, combinamos la lista y el método zip para obtener el resultado.
  • En este método también, usamos tres bucles anidados y almacenamos el resultado en la matriz de resultados; solo se modifica el código con el método zip.

La salida de estos dos métodos será idéntica,


[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]

Preguntas frecuentes sobre tutorial numpy

¿Cómo multiplicas matrices en Python?

La multiplicación de matrices en Python, como se discutió anteriormente, se puede hacer de dos maneras: (a). Bucles anidados y (b). Bucles anidados con la biblioteca de Python.

¿Cómo multiplicar matrices en NumPy?

La vectorización permite la multiplicación de matrices en NumPy.

¿Cómo se multiplican matrices por matrices?

Hasta ahora, hemos discutido cómo multiplicar dos matrices. Ahora, entendemos cómo multiplicar más de dos matrices:

Sean A, B y C tres matrices entonces, de acuerdo con la ley asociativa de la multiplicación de matrices,.
ABC = (AB)C = A(BC)

Primero, puede multiplicar dos matrices AB o BC y luego multiplicar su resultado por la tercera matriz. De esta manera, puedes multiplicar cualquier número de matrices. Pero hay que cuidar las dimensiones. La multiplicación de matrices no es acumulativa, por lo que el orden de las matrices importa.

¿Cómo multiplicar un vector en NumPy?

Podemos multiplicar dos vectores usando el método NumPy.dot(). Toma dos cantidades vectoriales y da como resultado una cantidad escalar. El producto punto, también conocido como producto escalar, es el producto de la magnitud de dos vectores y el coseno del ángulo entre los dos vectores.

Aprende mas de programación, no dejes de revisar estos python tutoriales:

¿ Te fue útil este artículo ?
⬇️ Ayudame compartiendo para poder llegar a más personas.⬇️