<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sympy on LinuxmanR4</title><link>https://linuxmanr4.com/tags/sympy/</link><description>Recent content in Sympy on LinuxmanR4</description><generator>Hugo -- gohugo.io</generator><language>es</language><copyright>LinuxmanR4</copyright><lastBuildDate>Fri, 23 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://linuxmanr4.com/tags/sympy/index.xml" rel="self" type="application/rss+xml"/><item><title>Descubrí SymPy, me hubiera divertido mucho en la universidad.</title><link>https://linuxmanr4.com/p/python-sympy-experimentos/</link><pubDate>Fri, 23 Oct 2026 00:00:00 +0000</pubDate><guid>https://linuxmanr4.com/p/python-sympy-experimentos/</guid><description>&lt;img src="https://linuxmanr4.com/p/python-sympy-experimentos/python-sympy-id.webp" alt="Featured image of post Descubrí SymPy, me hubiera divertido mucho en la universidad." />&lt;p>Estoy suscrito al boletín electrónico de &lt;a class="link" href="https://www.freecodecamp.org/" target="_blank" rel="noopener"
>freeCodeCamp&lt;/a>
&lt;span style="white-space: nowrap;">&lt;svg width=".7em"
height=".7em" viewBox="0 0 21 21" xmlns="http://www.w3.org/2000/svg">
&lt;path d="m13 3l3.293 3.293l-7 7l1.414 1.414l7-7L21 11V3z" fill="currentColor" />
&lt;path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"
fill="currentColor">
&lt;/svg>&lt;/span>
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.&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>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.&lt;/p>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/VDFRpjQVaME"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;h2 id="qué-es-sympy">¿Qué es SymPy?
&lt;/h2>&lt;p>&lt;a class="link" href="https://www.sympy.org/en/index.html" target="_blank" rel="noopener"
>SymPy&lt;/a>
&lt;span style="white-space: nowrap;">&lt;svg width=".7em"
height=".7em" viewBox="0 0 21 21" xmlns="http://www.w3.org/2000/svg">
&lt;path d="m13 3l3.293 3.293l-7 7l1.414 1.414l7-7L21 11V3z" fill="currentColor" />
&lt;path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"
fill="currentColor">
&lt;/svg>&lt;/span>
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.&lt;/p>
&lt;p>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.&lt;/p>
&lt;h2 id="algunos-ejemplos-de-sympy">Algunos ejemplos de SymPy
&lt;/h2>&lt;p>Como siempre, la mejor forma de aprender algo es haciendo algunos ejercicios.&lt;/p>
&lt;h3 id="resolver-una-ecuación">Resolver una ecuación
&lt;/h3>&lt;p>Por ejemplo, vamos a resolver esta ecuación&lt;/p>
&lt;p>$3x+7=22$&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">sympy&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">symbols&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">pprint&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">Eq&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">solve&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">symbols&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;x&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ecuacion&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Eq&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">x&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">7&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">22&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">solucion&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">solve&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ecuacion&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">x&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">Ejercicio 1. Resolver&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;-----------------------&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Resolver la ecuación:&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">pprint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ecuacion&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Solución:&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">pprint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">solucion&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Este sería el resultado:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Ejercicio 1. Resolver
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">-----------------------
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Resolver la ecuación:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">3⋅x + 7 = 22
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Solución:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">[5]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Y efectivamente, al despejar el valor de $x$ da como resultado $x=5$ ¡Coooool!&lt;/p>
&lt;p>Como pueden ver plantear el problema no es complicado. Veamos otro ejemplo.&lt;/p>
&lt;h3 id="factorizar">Factorizar
&lt;/h3>&lt;p>Este tipo de problemas los vimos en secundaria. La factorización es descomponer una expresión en factores que nos de el mismo resultado.&lt;/p>
&lt;p>En este caso, vamos a encontrar la factorización del siguiente polinomio $x^2-9$&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">sympy&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">symbols&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">factor&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">pprint&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">symbols&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;x&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">polinomio&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">x&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">Ejercicio 2. Factorizar&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;-------------------------&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Factorizar:&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">pprint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">polinomio&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Resultado:&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">pprint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">factor&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">polinomio&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>El resultado es:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">Ejercicio 2. Factorizar
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">-------------------------
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Factorizar:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">x - 9
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Resultado:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">(x - 3)⋅(x + 3)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Efectivamente, el resultado es $(x-3)⋅(x+3)$&lt;/p>
&lt;p>Noten que estoy usando la función &lt;strong>pprint&lt;/strong> para que el resultado sea más amigable.&lt;/p>
&lt;h3 id="derivar-una-función">Derivar una función.
&lt;/h3>&lt;p>Por último, el coco 👻 de muchos en la preparatoria, el famoso Cálculo Integral y Diferencial.&lt;/p>
&lt;p>En este ejemplo vamos a obtener la derivada de la función $f(x)=x^3+2x^2+4x$&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">sympy&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">symbols&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">diff&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">symbols&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;x&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">f&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">x&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">x&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">4&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">x&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">derivada&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">diff&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">f&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">x&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">Ejercicio 3. Derivar&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;----------------------&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;La función f(x) :&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">pprint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">f&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Su derivada es:&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">pprint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">derivada&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>El resultado de ejecutar el código&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="n">Ejercicio&lt;/span> &lt;span class="mf">3.&lt;/span> &lt;span class="n">Derivar&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">----------------------&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">La&lt;/span> &lt;span class="n">función&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="mi">3&lt;/span> &lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="err">⋅&lt;/span>&lt;span class="n">x&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="err">⋅&lt;/span>&lt;span class="n">x&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Su&lt;/span> &lt;span class="n">derivada&lt;/span> &lt;span class="n">es&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="mi">3&lt;/span>&lt;span class="err">⋅&lt;/span>&lt;span class="n">x&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="err">⋅&lt;/span>&lt;span class="n">x&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Nuevamente el resultado de derivar la función es $3x^2+4x+4$ ¡Coooorrecto!&lt;/p>
&lt;h2 id="muchas-más-funciones">Muchas más funciones
&lt;/h2>&lt;p>En este artículo solo mencioné 3 funcionalidades de SymPy. Pero en su haber hay una gran cantidad de opciones, incluye funciones para:&lt;/p>
&lt;ul>
&lt;li>Polinomios&lt;/li>
&lt;li>Cálculo&lt;/li>
&lt;li>Resolución de ecuaciones&lt;/li>
&lt;li>Combinatoria&lt;/li>
&lt;li>Matemática discreta&lt;/li>
&lt;li>Matrices&lt;/li>
&lt;li>Geometría&lt;/li>
&lt;li>Graficación&lt;/li>
&lt;li>Física&lt;/li>
&lt;li>Estadística&lt;/li>
&lt;li>Criptografía&lt;/li>
&lt;/ul>
&lt;p>Por mencionar solo algunas.&lt;/p>
&lt;h2 id="conclusiones">Conclusiones
&lt;/h2>&lt;p>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 &lt;a class="link" href="https://linuxmanr4.com/2012/09/19/recuerdos-del-centro-de-computo-del-itl/" target="_blank" rel="noopener"
>ITL&lt;/a>
&lt;span style="white-space: nowrap;">&lt;svg width=".7em"
height=".7em" viewBox="0 0 21 21" xmlns="http://www.w3.org/2000/svg">
&lt;path d="m13 3l3.293 3.293l-7 7l1.414 1.414l7-7L21 11V3z" fill="currentColor" />
&lt;path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"
fill="currentColor">
&lt;/svg>&lt;/span>
. Simplemente en el curso de &lt;a class="link" href="https://es.wikipedia.org/wiki/%C3%81lgebra_lineal" target="_blank" rel="noopener"
>Álgebra Lineal&lt;/a>
&lt;span style="white-space: nowrap;">&lt;svg width=".7em"
height=".7em" viewBox="0 0 21 21" xmlns="http://www.w3.org/2000/svg">
&lt;path d="m13 3l3.293 3.293l-7 7l1.414 1.414l7-7L21 11V3z" fill="currentColor" />
&lt;path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"
fill="currentColor">
&lt;/svg>&lt;/span>
que eran operaciones muy laboriosas me hubiera servido un montón.&lt;/p>
&lt;p>¿Ustedes conocían este modulo de Python? ¿Les será útil más allá de la academia?&lt;/p></description></item></channel></rss>