Академический Документы
Профессиональный Документы
Культура Документы
Lo primero, como siempre, es importar aquello que vayamos a necesitar. La manera usual de
hacerlo con SymPy es importar la función init_session:
from sympy import init_session
init_session(use_latex=True)
from sympy import (symbols, pi, I, E, cos, sin, exp, tan, si
mplify, expand, factor, collect, apart, cancel, expand_trig,
diff, Derivative, Function, integrate, limit, series, Eq, so
lve, dsolve, Matrix, N)
Esta función ya se encarga de importar todas las funciones básicas y preparar las salidas gráficas.
1. Definición de variables¶
En contraste a otros sistemas de álgebra computacional, en SymPy hay que
declarar las variables simbólicas de forma explícita:
2. >>> from sympy import init_session
3. >>> init_session(use_latex=True)
4. >>> from sympy import (symbols)
5. >>> x = symbols('x')
6. >>> y = symbols('y')
13. Los símbolos, ahora, pueden ser manipulados usando algunos de los operadores
python: +, -, *, ** (arithmetic), &, |, ~ , >>, << (boolean).
14. x = symbols('x')
15. In [16]:
16. x**2 + 4*x + 1
17. Out[16]:
18. x**2 + 4*x + 1
19. In [17]:
20. x+4*x
21. Out[17]:
22. 5*x
23. In [18]:
24. x**4/x**2
25. Out[18]:
26. x**2
Símbolos
En contraste a otros sistemas de álgebra computacional, en SymPy hay que declarar las
variables simbólicas de forma explícita:
>>> from sympy import *
>>> x = Symbol('x')
>>> y = Symbol('y')
>>> (x+y)**2
(x + y)**2
Los símbolos, ahora, pueden ser manipulados usando algunos de los operadores python:
+, -, *, ** (arithmetic), &, |, ~ , >>, << (boolean).
La clase Racional representa un número racional como una pareja de números Enteros:
el numerador y el denominador, de esta forma Rational(1,2) representa 1/2, Rational(5,2)
5/2, etcétera:
>>> a
1/2
>>> a*2
1
SymPy usa mpmath (mpmath is a free (BSD licensed) Python library for real and
complex floating-point arithmetic with arbitrary precision.) en segundo plano, lo que hace
posible ejecutar cálculos usando aritmética con precisión arbitraria. De esta forma,
algunas constantes especiales como e, pi, oo (Infinito), son tratadas como símbolos y
pueden ser evaluadas con precisión arbitraria:
>>> pi**2
pi**2
>>> pi.evalf()
3.14159265358979
>>> (pi+exp(1)).evalf()
5.85987448204884
También existe una clase para representar el infinito (matemático) llamada oo:
>>> oo > 99999
True
>>> oo + 1
oo
Ejercicio
Manipulaciones algebraicas
Expandir
Usa lo siguiente para expandir una expresión algebraica. Tratará de expandir las potencias
y multiplicaciones:
In [23]: expand((x+y)**3)
Out[23]: 3*x*y**2 + 3*y*x**2 + x**3 + y**3
Simplificación
Simplificación es un término vago, es por ello que existen alternativas más precisas que
simplify: powsimp (simplificación de exponentes), trigsimp (para expresiones
trigonométricas), logcombine(combina logaritmos a un solo término), together(une
fracciones a un solo termino.
Ejercicios
Bibliografía
https://www.pybonacci.org/scipy-lecture-notes-ES/advanced/sympy.html
http://pyciencia.blogspot.com/2016/12/sympy.html