Roberto Fernández Vega
Daniel Erazo
ProfesorJaime Pelaez Valencia
Bryan Castano
Alberto Ezequiel Marin Chacon
Victor Alfonso Anaya Pineda
José Eder Guzmán Mendoza
William Alexander Bejarano Pinilla
Alex Xiomar Rubio Lopez
Alex Moreno
Santiago Romero Estrada
Cristian Andres Riveros Cubillos
Daniel Erazo
ProfesorAriel Bogarin
NESTOR IVAN RONCANCIO CABALLERO
NESTOR IVAN RONCANCIO CABALLERO
Darlinson Felipe Polania Camacho
Victor Nuñez
Johan L
Daniel Erazo
ProfesorAlejandro Molina
Gabriel Obregón
Gisseth Natalia Gomez torres
Yo he creado un código que, en caso de que el determinante sea distinto de cero, calcule la matriz inversa y su correspondiente matriz identidad. En caso contrario, se imprime en pantalla un mensaje de "Matriz_A no es invertible."
Matriz_A = np.array([[2, 4, 6, 8], [1, 3, 5, 7], [0, 9, 8, 7], [4, 6, 2, 0]]) determinante_A = np.linalg.det(Matriz_A) print(f"Determinante de Matriz_A: {determinante_A}") # esperado: distinto de cero if determinante_A != 0: inversa_A = np.linalg.inv(Matriz_A) print(f"Inversa de Matriz_A:\n{inversa_A}\n") identidad_calculada_A = Matriz_A @ inversa_A print(f"Producto Matriz_A @ inversa_A (sin redondear):\n{identidad_calculada_A}\n") identidad_redondeada_A = np.round(identidad_calculada_A, 2) print(f"Producto redondeado a 2 decimales:\n{identidad_redondeada_A}") else: print("Matriz_A no es invertible.")
Muy buen trabajo, felicidades!
Wow Genial , Yo creia que se llamaba "eye" por "ojo" o algo parecido a ojos en Ingles. ahora tiene sentido, \nGracias.
import numpy as np A = np.random.randint(0, 10, size=(4, 4)) print("Matriz A:\n", A) # Determinante det_A = np.linalg.det(A) print("Determinante de A: ", det_A) # Inversa if det_A != 0: inv_A = np.linalg.inv(A) print("Inversa de A:\n", inv_A) # Producto de A e inv_A prod = np.dot(A, inv_A) I_redonda = np.round(prod, 2) print("Producto de A e inv_A:\n", I_redonda)
Buenas noches!
Mi aporte para el ejercicio de clase:
La matriz identidad y la matriz inversa son conceptos fundamentales en álgebra lineal aplicados al machine learning. La identidad actúa como el elemento neutro en la multiplicación de matrices, es decir, al multiplicar cualquier matriz por ella se obtiene la misma matriz. En NumPy, se genera fácilmente con np.eye(n).
Por otro lado, la matriz inversa permite revertir una transformación, ya que al multiplicar una matriz por su inversa se obtiene la identidad. Sin embargo, no todas las matrices tienen inversa: deben ser cuadradas y tener determinante distinto de cero. En la práctica, estos conceptos son clave en métodos como la regresión lineal (ecuación normal) y en técnicas de regularización, donde la identidad se utiliza para estabilizar los cálculos. Con NumPy, funciones como np.linalg.det y np.linalg.inv permiten verificar y calcular estas propiedades de forma sencilla.
Reto: Matriz identidad e inversa:
Alex = np.array([ [1,2,5,7], [2,5,1,7], [1,0,3,5], [0,9,6,2] ]) determinante_Alex = np.linalg.det(Alex) print(f"Determinante de Alex: {determinante_Alex}") Alex_inversa = np.linalg.inv(Alex) print(f"Matriz inversa de Alex: {Alex_inversa}") Identidad_Alex = Alex@Alex_inversa print(np.round(Identidad_Alex,2))
Creé una funcion que calcula la inversa de una matriz si es posible (det != 0)
Gran aportación!
Hola , realice lo que estabas haciendo pero a mi no me compilo:
si se traspone A o se deca I=np.eye(2) si deja operar para tener el resultado tuyo
Trasponiendo A:
identidad 2x2
TERMINAL
Hice un matriz con los siguientes valores
M = np.array([ [5, 5], [4, 3] ]) np.linalg.det(M)
La determinante es -4.9 (-5) lo cual nos dice que el area del paralelogramo es 5 y como es negativa significa que los ejes j e i se invirtieron, lo podemos graficar de la siguiente forma:
Los cual nos queda este lindo grafico en geogebra, se preguntaran que significa el cuadrado de 1x1, es donde nos lleva la inversa justamente a la matriz de identidad.
A = np.array([ [2, 1], [2, 3] ]) determinante_A = np.linalg.det(A) print(determinante_A) A_inv = np.linalg.inv(A) print(A_inv) print(A @ A_inv)
Resultado:
4.0 [[ 0.75 -0.25] [-0.5 0.5 ]] [[1. 0.] [0. 1.]]
Muy bien, es correcto, sigue así!
📘 🧩 Matriz Identidad y Matriz Inversa en NumPy
🟦 MATRIZ IDENTIDAD ( I )
❓ ¿QUÉ ES?
🧠 Es el elemento neutro de la multiplicación de matrices.
➡ Multiplicar cualquier matriz A por I no cambia A.
🧱 PROPIEDADES
🔹 Es cuadrada
🔹 Tiene 1 en la diagonal principal
🔹 Tiene 0 en el resto
📝 Idea clave: ➡ A multiplicada por I da A
🧪 MATRIZ IDENTIDAD EN NUMPY
🛠 CREACIÓN
🧩 Función: np.eye(n)
➡ Genera una matriz identidad de tamaño n por n.
💡 Nota:
📣 “eye” se pronuncia como la letra I en inglés.
🔍 VERIFICACIÓN RÁPIDA
✔ Si A @ I devuelve A → la identidad está bien definida.
import numpy as np
I = np.eye(3)
A = np.array([[1, 2, 3],
[4, 5, 6]])
A @ I
🟩 MATRIZ INVERSA ( A⁻¹ )
❓ ¿QUÉ ES?
🔁 Es la matriz que deshace el efecto de otra.
➡ Matriz por su inversa da la identidad.
🧠 Idea mental: A aplicada → A⁻¹ revierte el cambio
🚦 ¿CUÁNDO EXISTE LA INVERSA?
Para que una matriz sea invertible debe cumplir:
✔ Ser cuadrada
✔ Tener determinante distinto de cero
❌ Si falla una condición → no hay inversa
🧮 DETERMINANTE = PRUEBA DE INVERSA
🎯 PARA QUÉ SIRVE
🔍 Indica si una matriz es invertible.
🛠 EN NUMPY
🧩 Función: np.linalg.det
M = np.array([[3, 1],
[2, 2]])
np.linalg.det(M)
📌 Interpretación:
🟢 Resultado ≠ 0 → matriz invertible
🔴 Resultado = 0 → no invertible
🔁 CÁLCULO DE LA INVERSA
🛠 FUNCIÓN CLAVE
🧩 np.linalg.inv(M)
M_inversa = np.linalg.inv(M)
✅ COMPROBACIÓN FINAL
🔍 ¿QUÉ COMPROBAR?
➡ M multiplicada por su inversa ≈ identidad
I_calc = M @ M_inversa
np.round(I_calc, 2)