¿Cómo se define el producto interno entre matrices?
El producto interno entre matrices es uno de los conceptos más útiles y fascinantes de la álgebra lineal. Nos permite combinar matrices de manera que se puedan aprovechar sus propiedades para cálculos más complejos. En particular, el producto interno entre dos matrices está definido cuando el número de columnas de la primera matriz es idéntico al número de filas de la segunda. Esto se traduce en que las dimensiones de las matrices involucradas deben estar alineadas adecuadamente.
Esta operación es esencial en campos como la computación, donde se utilizan matrices para representar datos y para realizar cálculos avanzados de manera eficiente. Veamos cómo se aplica este concepto a través de un ejemplo práctico.
¿Cómo aplicamos el producto interno a dos matrices?
Para ilustrar el producto interno, consideremos las matrices A y B. La matriz A es de dimensiones 4x3 y la matriz B es de dimensiones 3x2. En este caso, el producto interno (A \cdot B) es posible, pero el producto (B \cdot A) no lo es.
Paso a paso del producto (A \cdot B)
La operación (A \cdot B) es posible porque el número de columnas de A coincide con el número de filas de B, es decir, 3. Esta coincidencia nos permite realizar el producto interno. Echemos un vistazo al proceso:
Multi-step Calculation: Se multiplica cada elemento de la fila de A por el elemento correspondiente de la columna de B, y luego se suman estos productos.
Iteración por filas y columnas: Se repite el proceso para cada fila de A y cada columna de B hasta llenar una nueva matriz resultante. La matriz resultante tendrá las dimensiones ((4x2)), derivadas del número de filas de A y el número de columnas de B.
El resultado nos da una nueva matriz cuya dimensión es 4x2, que resulta de esta multiplicación de matrices individuales.
# Ejemplo de matrices A y Bimport numpy as np
A = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])B = np.array([[2,3],[5,7],[11,13]])# Realizando el producto internoC = np.dot(A, B)print(C)
Este código en Python ilustra cómo se calcula el producto interno usando la biblioteca NumPy, que simplifica el manejo de operaciones matriciales. Este ejemplo resulta en una matriz resultante de 4x2, conforme a nuestras expectativas.
¿Qué sucede cuando el producto interno no está definido?
Intentar calcular el producto interno de (B \cdot A) nos lleva a un error porque las dimensiones correspondientes no coinciden. En lugar de corregir el cálculo, detengamos un momento para entender la razón detrás del error.
El problema radica en que el número de columnas de B (que es 2) no coincide con el número de filas de A (que es 4). Esto implica que el producto no está definido bajo las reglas del álgebra lineal, lo cual suele conducir a errores en los sistemas de programación, indicándonos que las dimensiones no son compatibles.
Consejos prácticos para evitar errores
Verificar dimensiones: Siempre verifica que las dimensiones de las matrices estén alineadas antes de intentar calcular el producto interno.
Uso de herramientas: Emplear herramientas como NumPy, ya que proporcionan funciones para realizar estas comprobaciones automáticamente y manejar matrices grandes de manera eficiente.
Comprender los resultados: Asegúrate de que el tamaño de la matriz resultante tenga sentido dentro del contexto de tu problema.
Te animo a que pongas en práctica este conocimiento calculando el resultado del producto interno de las matrices proporcionadas y completando los valores faltantes en el ejercicio propuesto. ¡Continúa explorando y desarrollando tus habilidades de álgebra lineal!
Lo puse para que se viera mejor cada operación y arregle unos números en los que te confundiste
¡Correcto!
Producto interno entre dos matrices
Para que dos matrices puedan ser tener un producto interno el número de columnas del primero debe ser igual al número de filas del segundo.
Posteriormente realiza un producto interno entre los vectores fila de la primera matriz con los vectores columna de la segunda matriz generando un nueva matriz que tendrá las dimensiones del número de filas de la primera matriz y el número de columnas de la segunda matriz
¡Increíble aporte!
Esa serie me ayudó a poder entender visualmente en mi mente el álgebra lineal, lo que hace que sea mucho más sencillo entender el por qué de todo cuando se aplica a programación. Ahora se me hace más sencillo seguir el curso y me puedo centrar más en entender numpy 💚
Estoy muy agradecido contigo por compartir esa playlist! Me lo he visto todo
import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])print(a)[[123][456][789][101112]]b = np.array([[1,2],[3,4],[5,6]])print(b)[[12][34][56]]print(a.dot(b))[[2228][4964][76100][103136]]res = np.array([[(1*1)+(2*3)+(3*5),(1*2)+(2*4)+(3*6)],[(4*1)+(5*3)+(6*5),(4*2)+(5*4)+(6*6)],[(7*1)+(8*3)+(9*5),(7*2)+(8*4)+(9*6)],[(10*1)+(11*3)+(12*5),(10*2)+(11*4)+(12*6)]])print(res)[[2228][4964][76100][103136]]
Correcto, asi es amigo, muy buen aporte
Genial, empiezo a recordar mis clases de algebra en la universidad!
¿Se puede mejorar el algoritmo de multiplicación de matrices?
Respuesta Corta: Si
Respuesta Larga: La AI de DeepMind lo logra y es tema de portada Octubre 2022 revista Nature
Dejo enlace del artículo aquí
Para los que no quieren escribir las matrices, les dejo mi aporte.
A = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
B = np.array([[2,3], [5,7], [11,13]])
gracias buen hombre
Solo dire que... aqui el orden los factores si altera el producto. ó da error XD
Razones para usar pycharm:
Visualización de matrices (:
Atentos, las columnas de el primer elemento en este caso A debe ser igual que las filas del segundo elemento en este caso B
Este canal es buenísimo para aprender algebra y entender el porque de los cálculos. Tiene la mayoría subtitulado al español, aunque vale la pena verlo en inglés ;)
Recuerda que no es lo mismo la multipliación o broadcasting que el producto interno. En el ejemplo mostrado realizas broadcasting
El producto interno entre matrices es para quienes ya han visto un curso de álgebra lineal el producto usual entre matrices.
Producto interno entre dos matrices
Sea A una matriz (mxn)
y B una matriz (pxq)
C = A·B está definido si n = p y C es una matriz (mxq)
Para que el producto interno de dos matrices pueda ser calculado se debe cumplir la siguiente condición: dadas las dimensiones de la matrices 4x3 y 3x2 , la cantidad de columnas de la primer matriz debe ser igual a la cantidad de filas de la segunda matrix. Así el producto interno entre las matrices (4x3 ).dot(3x2) es posible pero el producto interno de las matrices en el siguiente orden: (3x2 ).dot(4x3) no es posible.
Haciéndolo de forma manual en python, también se puede hacer llamando los valores directamente desde las dimensiones de los arrays