¿Cómo entender las propiedades del producto interno?
El producto interno es una operación fundamental en el álgebra lineal que no solo nos permite calcular magnitudes, sino también entender relaciones geométricas entre vectores. Resulta enriquecedor descubrir sus propiedades, ya que nos facilitan el manejo y manipulación de matrices y vectores. A través de ejemplos prácticos, podemos visualizar cómo estas propiedades se manifiestan, lo que fortalece nuestra comprensión teórica y práctica. Analicemos a fondo estas propiedades esenciales del producto interno.
¿Qué es la propiedad asociativa?
La propiedad asociativa es una característica crucial en operaciones matemáticas que nos indica que el orden en el cual agrupamos las operaciones no afecta el resultado. En el contexto del producto interno, si tenemos matrices A, B y C, esta propiedad nos asegura que:
[ (A \cdot B) \cdot C = A \cdot (B \cdot C) ]
Ahora, aunque en el álgebra lineal la propiedad asociativa tal cual se aplica a operaciones de escalar y no directamente a matrices, sí aplica en la combinación de productos internos, como una forma de redistribuir la multiplicación en operaciones más complejas.
En código, comprobamos la propiedad asociativa así:
import numpy as np
# Definimos matrices A, B, CA = np.array([[1,2],[3,4]])B = np.array([[5,6],[7,8]])C = np.array([[9,10],[11,12]])# Verificando la propiedad asociativaresultado_1 = np.dot(np.dot(A, B), C)resultado_2 = np.dot(A, np.dot(B, C))print(resultado_1)print(resultado_2)
Las salidas deberían coincidir, lo cual nos muestra la propiedad asociativa en acción.
¿Cómo comprobar la propiedad distributiva?
La propiedad distributiva nos indica que distribuir un producto sobre una suma es equivalente a realizar cada operación por separado y luego sumar los resultados. Matemáticamente, para el producto interno, se expresa como:
[ A \cdot (B + C) = A \cdot B + A \cdot C ]
Este concepto se aplica al distribuir la multiplicación de una matriz por la suma de dos matrices, otorgando fluidez y flexibilidad en los cálculos.
Veamos cómo probar esta propiedad usando código de Python:
D = B + C
# Verificar propiedad distributivadistributiva_1 = np.dot(A, D)distributiva_2 = np.dot(A, B)+ np.dot(A, C)print(distributiva_1)print(distributiva_2)
Si ambas matrices resultantes son idénticas, hemos confirmado la propiedad distributiva.
¿El producto interno es conmutativo?
Podríamos estar tentados a asumir que la conmutatividad, una propiedad esencial en la multiplicación escalar, se aplica igualmente al producto interno. Sin embargo, en álgebra de matrices, esto no siempre es el caso. Para matrices, en general no es verdad que:
[ A \cdot B = B \cdot A ]
No obstante, en el caso específico de productos de vectores, podemos observar esta propiedad. Consideremos un ejemplo con vectores:
Aquí, vemos que el producto interno de vectores sí es conmutativo, lo cual no es lo mismo en matrices generales.
¿Qué ejercicios prácticos puedo hacer?
Practicar con ejemplos es vital para internalizar estos conceptos. Te animo a pensar en dos matrices de dimensiones distintas para las cuales puedas calcular el Producto Interno, pero no puedas invertir sus roles. Como una pista, podemos recordar cómo las dimensiones deben ser compatibles para que la multiplicación sea válida. Comparte tus hallazgos en los foros de discusión y sigue explorando estas fascinantes propiedades matemáticas en tus estudios de álgebra lineal.
Gracias, yo siempre las cojo del repositorio de la clase, me abre un visual studio code y de ahí las anexo
La ley conmutativa solo aplica en la multiplicación de matrices cuando éstas son matrices cuadradas y al mismo tiempo son matrices diagonales. Aquí puedes encontrar la definición de matriz cuadrada y diagonal.
Dejo el código para que lo comprueben.
Nunca había entendido la transformación de matrices con tanta claridad
Simplemente bello!
Propiedades de multiplicación de matrices
Asociativa: podemos asociar las multiplicaciones en el orden que queramos:
AxBxC = (AxB)xC = Ax(BxC)
Distributiva con respecto a la suma: si tenemos la multiplicación de una matriz multiplicada por la suma de otras dos, será equivalente a la suma de las multiplicaciones de la matriz por cada una de las otras dos (en el mismo orden): Ax(B+C) = AxB +AxC
Conmutativa: La multiplicación de matrices no es conmutativa, es decir no se puede invertir el orden de multiplicacion: AxB != BxA
Nota:
El producto interno de dos vectores sí es conmutativo: AxB = BxA
Acá el reto:
++EJERCICIO++
Lo hice parecido al tuyo.
.
Te recomiendo descargar Night Eye en Google Chrome para ver Jupyter oscuro. :D
.
Migren a jupyter lab mejor.
¿Hay alguna clase dentro del gran catálogo de Platzi que te enseñe la demostración de las propiedades?
Aún me cuesta mucho trabajo entenderlas y hacerlas.
De lo que he revisado no, pero a mi criterio es mejor consultarlo en un libro, la verdad es un proceso que se lo entiende haciendo los cálculos a mano. Saludos
Hay un curso de algebra lineal, no se si ahi vengan. Yo lo aprendi en en la escuela con el libro de Grossma de algebra lineal
a de dimensión n x m (n filas y m columnas)
b de dimensión m x q (m filas y q columnas)
el producto interno a@b es válido ya que se cumple que el número de columnas de la primera sea igual al de las filas de la segunda. Sin embargo b@a no es valido ya que no cumple la condición dada para el caso a@b. Esto es general para matrices a y b que cumplan las condiciones expuestas donde n y q diferente de m.
Al definir vectores dentro de 2 corchetes
y=np.array([[3],[5]])
Se genera un vector columna, es decir, es una matriz de una sola columna.
A diferencia de si se deja dentro de sólo un par de corchetes
x=np.array([2,3])
Queda un vector "normal".
Por lo que veo, estos vectores normales no se pueden trasponer, o el resultado al trasponerlo es el mismo vector, o me equivoco?
Correcto, matemáticamente es lo mismo, pero python tiene que identificarlos como una matriz para aplicar el método correctamente
Es correcto.
Para que python pueda trasponer el vector, este debe expresarse ya sea como fila o columna pero con dos dimensiones, es decir:
# Se puede trasponer:np.array([[2,3]])# vector filanp.array([[2],[3]])# vector columna# NO se puede trasponer:np.array([2,3])
Que dimensiones tienen que tener los 3 conjuntos para que cumpla todas las propiedades?
Escritos de forma universal
A(a1,a1) B(b1,b2) C(c1,c2)
Una es que a1,a2,b1,b2,c1 y c2 sean los mismos numeros
Hola Mateo. La ley conmutativa solo aplica en la multiplicación de matrices cuando éstas son matrices cuadradas y al mismo tiempo son matrices diagonales. Aquí puedes encontrar la definición de matriz cuadrada y diagonal.
Te dejo el código para que lo compruebes.
import numpy as np
A= np.array([[1,2,3],[4,5,6],[7,8,9]])B= np.array([[2,3],[1,2],[4,5]])AB=A.dot(B)BA=B.dot(A)```
Pregunta:
Porque al hacer la operación como sigue da que la multiplicación de vectores no es conmutativa? :
import numpy as np
v1 = np.array([[2],[7]])
v2 = np.array([[3],[5]])
v1_v2 = v1@v2.T
v2_v1 = v2@v1.T
print(v1_v2)
print(v2_v1)
[[ 6 10]
[21 35]]
[[ 6 21]
[10 35]]
porque debes trasponer el primer vector! no el segundo:
v1_v2 = v1.T@v2
v2_v1 = v2.T@v1
Claro, aquí tienes un resumen claro y útil de las propiedades del producto interno en álgebra lineal:
🔷 Propiedades del Producto Interno
Sea u⃗,v⃗,w⃗∈Rn\vec{u}, \vec{v}, \vec{w} \in \mathbb{R}^n y α∈R\alpha \in \mathbb{R}, el producto interno (también llamado producto punto) se denota: