⏱ Tiempo estimado: 20 minutos
🎯 Rama / Perfil: Devs, estudiantes de data science y quienes aprenden programando.
🧠 Conocimiento previo necesario: Haber visto las clases 7 y 8 del curso (elementos de un polinomio y propiedad distributiva). No necesitas saber Python.
💡 ¿Qué vas a lograr? Un notebook que expande, factoriza, evalúa y grafica polinomios, y que además corrige tus propios ejercicios.
🛠 Lo que necesitas antes de empezar
- Cuenta de Google → 🔗 https://accounts.google.com/signup
- Google Colab (se usa desde el navegador, no instalas nada) → 🔗 https://colab.research.google.com/
- SymPy ya viene preinstalado en Colab. Documentación → 🔗 https://docs.sympy.org/latest/
📋 Pasos
Paso 1: Abre un notebook nuevo
Entra a Colab, haz clic en Nuevo cuaderno y ponle el nombre algebra_con_python.
🔗 https://colab.research.google.com/
Paso 2: Declara tu variable y expande con la propiedad distributiva
En la primera celda pega esto y ejecútala con Shift + Enter:
python
from sympy import symbols, expand, factor, solve, simplify, Poly, plot
x = symbols('x')
# Propiedad distributiva (clase 8 del curso)
p = expand((x + 3) * (2*x - 5))
print(p) # 2*x**2 + x - 15
SymPy hizo en milisegundos lo que haces a mano: multiplicar cada término por cada término.
Paso 3: Analiza el polinomio (grado, coeficientes, evaluación) Los elementos básicos de la clase 7 ahora salen con código:
python
poli = Poly(p, x)
print("Grado:", poli.degree()) # 2
print("Coeficientes:", poli.all_coeffs()) # [2, 1, -15]
print("p(2) =", p.subs(x, 2)) # -5
Paso 4: Factoriza y encuentra las raíces Esto va más allá del curso: pasar de la forma expandida a la factorizada y despejar dónde vale cero.
python
print(factor(p)) # (x + 3)*(2*x - 5)
print(solve(p, x)) # [-3, 5/2]
Paso 5: Grafica y comprueba que las raíces son donde corta el eje x
python
plot(p, (x, -6, 6))
La parábola debe cortar el eje horizontal en -3 y en 2.5.
Paso 6: Construye tu autocorrector Pega esta función. Dice si dos expresiones son equivalentes, aunque estén escritas distinto:
python
def verificar(tu_respuesta, correcta):
return simplify(tu_respuesta - correcta) == 0
print(verificar((x + 3)*(2*x - 5), 2*x**2 + x - 15)) # True
print(verificar((x + 3)*(2*x - 5), 2*x**2 - x - 15)) # False
Bonus (conecta con las clases 4 y 5): prueba from sympy import sqrt, Rational y luego sqrt(4). Devuelve 2, no ±2, tal como explica el curso. Compáralo con solve(x**2 - 4, x), que sí devuelve [-2, 2].
✅ Resultado esperado
Un notebook en tu Google Drive con celdas que expanden, factorizan, evalúan, grafican y verifican polinomios. Tienes una función verificar() que puedes usar con cualquier ejercicio de álgebra para comprobar tus respuestas.
🔥 Tu reto (siguiente acción)
Toma 5 ejercicios de polinomios de tu cuaderno, o inventa los tuyos. Resuélvelos a mano y valida cada uno con verificar(). Para subir de nivel, haz que la función imprima también factor() de tu respuesta para ver si quedó simplificada.
📚 Recursos para ir más lejos
- Tutorial oficial de SymPy — Recorrido guiado por álgebra simbólica: 🔗 https://docs.sympy.org/latest/tutorials/intro-tutorial/index.html
- Documentación de Colab — Atajos y guardado de notebooks: 🔗 https://colab.research.google.com/
Curso de Fundamentos de Matemáticas
COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE
