¿Cómo aprender álgebra lineal usando Python?
Nahuel Rabey
Posted on October 9, 2022
Esta semana tuve mi primer parcial de Algebra en la universidad. Los profesores nos recomendaron experimentar con varias propiedades y pruebas, pero cada nueva iteración tenía decenas de cuentas, y por lo tanto, decenas de errores.
"Programar un ejercicio" nos permite jugar con las propiedades matemáticas que vemos en los libros e integrarlas mejor, sin el miedo de confundirnos un signo o un número.
Computación científica
"Numpy es el paquete fundamental para la computación científica en Python". En español, es una caja de herramientas para hacer todo tipo de cálculos.
Por ahora, lo que más nos interesa son los arrays, que tienen un comportamiento similar a un vector. Numpy los dota de operaciones cómo la suma, el producto escalar, y producto vectorial (definido sólo para )
Para muestra, un problema
Intentemos hallar, si existe, la intersección entre las siguientes rectas.
Primero planteamos la igualdad , por lo tanto
A partir de este sistema de ecuaciones, que además es homogéneo, podemos construir una matriz de coeficientes para buscar los valores de y
Hechizos de magia
import numpy as np
Para resolver la matriz, debemos aplicar el método de Gauss-Jordan. Definimos tres "vectores" (arrays) que representen cada fila de la matriz
F1 = np.array([2,-1,-2])
F2 = np.array([2,1,1])
F3 = np.array([1,-1,6])
Luego procedemos cómo cualquier triangulación. A cada vector lo podemos multiplicar por un escalar y sumarlo por otro. Voy a empezar restando a la primer y segunda fila el doble de la tercera
F2 = F2 - 2*F3
F1 = F1 - 2*F3
Quedándonos con la siguiente matriz
[ 0 1 -14]
[ 0 3 -11]
[ 1 -1 6]
Nuevamente, procedemos a finalizar la triangulación restándole al triple de la primer fila la segunda
F1 = 3*F1 - F2
[[ 0 0 -31]
[ 0 3 -11]
[ 1 -1 6]]
Hemos llegado a un absurdo. Recordemos que nuestra matriz, en este caso, representa un sistema de ecuaciones, dónde la primer columna son los coeficientes de y la segunda de .
De la primer ecuación nos queda que , lo cual es indefinido para los números reales.
De hecho, si graficamos ambas rectas en el espacio, podremos observar que son alabeadas
Conclusión
Las computadoras son una clara herramienta para evitar errores de cálculo. Con ellas podemos desprendernos de "las cuentas" para concentrarnos puramente en el razonamiento que hay detrás y, así, avanzar más rápidamente en la asimilación de conceptos.
Sin embargo, tenemos que tener en cuenta que, en este ejemplo, no trabajamos sobre los números reales, sino sobre los racionales, puesto que nuestro array no está representando coordenadas con infinitos decimales.
Posted on October 9, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.