Simplicando Expressões#
from sympy import init_session
init_session(use_latex="mathjax")
IPython console for SymPy 1.14.0 (Python 3.11.12-64-bit) (ground types: python)
These commands were executed:
>>> from sympy import *
>>> x, y, z, t = symbols('x y z t')
>>> k, m, n = symbols('k m n', integer=True)
>>> f, g, h = symbols('f g h', cls=Function)
>>> init_printing()
Documentation can be found at https://docs.sympy.org/1.14.0/
Não há uma definição única de qual é a forma mais simples de uma expressão.
O método simplify() utiliza diversos métodos para tentar simplificar a expressão (veja a documentação para mais informações).
simplify(sin(x)**2 + cos(x)**2)
simplify( (x**3 + x**2 - x - 1)/(x**2 + 2*x + 1) )
No entanto, em alguns casos, ele pode não corresponder à sua noção de qual é a forma mais simples.
simplify(x**2 + 2*x + 1)
Talvez o que você precise seja o método factor (o que também ocorre no Mathematica).
factor(x**2 + 2*x + 1)
Simplificação de Polinômios#
Para simplificar polinômios utilizamos a função expand
expand((x + 1)**2)
expand((x + 2)*(x - 3))
expand( (x + 1)*(x - 2) - (x - 1)*x)
expr = x**2*z + 4*x*y*z + 4*y**2*z
expr
factor(expr)
A função collect() no SymPy é usada para agrupar termos semelhantes de uma expressão algébrica. Ela permite combinar termos com potências iguais de uma variável, facilitando a simplificação de expressões.
expr = x*y + x - 3 + 2*x**2 - z*x**2 + x**3
expr
collected_expr = collect(expr, x)
collected_expr
A função cancel() do SymPy é usada para simplificar expressões algébricas, cancelando fatores comuns entre o numerador e o denominador de uma fração racional. Isso é útil quando você tem frações algébricas e deseja simplificar a expressão removendo termos comuns.
a = (x**2 + 2*x + 1)/(x**2 + x)
a
cancel(a)
A função trigsimp() do SymPy é usada para simplificar expressões trigonométricas. Ela aplica uma série de identidades trigonométricas para tentar simplificar a expressão, como a combinação de funções trigonométricas equivalentes ou a aplicação de identidades comuns, como a identidade de Pitágoras.
expr = sin(x)**4 - 2*cos(x)**2*sin(x)**2 + cos(x)**4
expr
trigsimp(expr)
trigsimp(sin(x)*tan(x)/sec(x))