Featured image of post Descubrí SymPy, me hubiera divertido mucho en la universidad.

Descubrí SymPy, me hubiera divertido mucho en la universidad.

SymPy es una biblioteca de Python que permite hacer matemáticas simbólicas, veamos algunos ejemplos.

Estoy suscrito al boletín electrónico de freeCodeCamp y me llamó la atención un video de un señor que se ve que ha dedicado su vida a enseñar matemáticas y vi que era algo relacionado con Python así que decidí darle un vistazo.

Es un video de casi ¡7 horas! Vamos, no iba a invertir tanto tiempo en ello. Pero luego vi el código y algo hizo corto circuito en mi mente.

Un momento 🤔 Los problemas no se estaban resolviendo de la forma a la que estaba acostumbrado, no señor, era de forma simbólica. OK, ya tienen mi atención.

¿Qué es SymPy?

SymPy es una biblioteca de Python que permite hacer matemáticas simbólicas. En lugar de trabajar únicamente con números, puedes manipular variables, simplificar expresiones, resolver ecuaciones, derivar funciones e integrar, como si tuvieras una calculadora algebraica dentro de Python.

Y de pronto me acordé de aquellas calculadoras científicas que llegué a ver con algunos compañeros en la carrera (carísimas por cierto) que hacían maravillas. Resolver ecuaciones lineales, gráficas y los más exagerados hasta pantalla a color tenían.Por favor vean esta calculadora de CASIO que hasta ejecuta una versión reducida de Python FX-9860GIII-W-DT .

Algunos ejemplos de SymPy

Como siempre, la mejor forma de aprender algo es haciendo algunos ejercicios.

Resolver una ecuación

Por ejemplo, vamos a resolver esta ecuación

$3x+7=22$

from sympy import symbols, pprint, Eq, solve

x = symbols("x")

ecuacion = Eq(3 * x + 7, 22)

solucion = solve(ecuacion, x)

print("\nEjercicio 1. Resolver")
print("-----------------------")
print("Resolver la ecuación:")
pprint(ecuacion)
print("Solución:")
pprint(solucion)

Este sería el resultado:

Ejercicio 1. Resolver
-----------------------
Resolver la ecuación:
3⋅x + 7 = 22
Solución:
[5]

Y efectivamente, al despejar el valor de $x$ da como resultado $x=5$ ¡Coooool!

Como pueden ver plantear el problema no es complicado. Veamos otro ejemplo.

Factorizar

Este tipo de problemas los vimos en secundaria. La factorización es descomponer una expresión en factores que nos de el mismo resultado.

En este caso, vamos a encontrar la factorización del siguiente polinomio $x^2-9$

from sympy import symbols, factor, pprint

x = symbols("x")

polinomio = x**2 - 9

print("\nEjercicio 2. Factorizar")
print("-------------------------")
print("Factorizar:")
pprint(polinomio)
print("Resultado:")
pprint(factor(polinomio))

El resultado es:

Ejercicio 2. Factorizar
-------------------------
Factorizar:
 2    
x  - 9
Resultado:
(x - 3)⋅(x + 3)

Efectivamente, el resultado es $(x-3)⋅(x+3)$

Noten que estoy usando la función pprint para que el resultado sea más amigable.

Derivar una función.

Por último, el coco 👻 de muchos en la preparatoria, el famoso Cálculo Integral y Diferencial.

En este ejemplo vamos a obtener la derivada de la función $f(x)=x^3+2x^2+4x$

from sympy import symbols, diff

x = symbols("x")

f = x**3 + 2 * x**2 + 4 * x

derivada = diff(f, x)

print("\nEjercicio 3. Derivar")
print("----------------------")
print("La función f(x) :")
pprint(f)
print("Su derivada es:")
pprint(derivada)

El resultado de ejecutar el código

Ejercicio 3. Derivar
----------------------
La función f(x) :
 3      2      
x  + 2⋅x  + 4⋅x
Su derivada es:
   2          
3⋅x  + 4⋅x + 4

Nuevamente el resultado de derivar la función es $3x^2+4x+4$ ¡Coooorrecto!

Graficación

También es posible generar gráficas. Como ejemplo vamos a gráficar esta expresión $x^3+4x^2+2x-2$

from sympy import symbols, plot

# Definir la variable
x = symbols("x")

# Definir la función
f = x**3 + 4 * x**2 + 2 * x - 2

# Graficar entre valores de x de -10 y 10
grafica = plot(f, (x, -10, 10))

El resultado

Muchas más funciones

En este artículo solo mencioné 3 funcionalidades de SymPy. Pero en su haber hay una gran cantidad de opciones, incluye funciones para:

  • Polinomios
  • Cálculo
  • Resolución de ecuaciones
  • Combinatoria
  • Matemática discreta
  • Matrices
  • Geometría
  • Graficación
  • Física
  • Estadística
  • Criptografía

Por mencionar solo algunas.

Conclusiones

A estas alturas se que ya no me voy a hacer un experto en el tema y que probablemente nunca voy a necesitar utilizar algo como esto. Pero me hubiera divertido mucho en la preparatoria y en el ITL . Simplemente en el curso de Álgebra Lineal que eran operaciones muy laboriosas me hubiera servido un montón.

¿Ustedes conocían este modulo de Python? ¿Les será útil más allá de la academia?

Licensed under CC BY-NC-SA 4.0
Última actualización 24 oct. 2026 1024:00 CST
Todas las imágenes, nombres de productos y nombres de empresa o logotipos citados en esta página web son propiedad de sus respectivos propietarios.
Creado con Hugo
Tema Stack diseñado por Jimmy