SymPy - Computação Simbólica

A computação simbólica se refere ao desenvolvimento de algoritmos para manipular expressões matemáticas e outros objetos matemáticos. A computação simbólica integra a matemática com a ciência da computação para resolver expressões matemáticas usando símbolos matemáticos. Um sistema de álgebra computacional (CAS) como o SymPy avalia as expressões algébricas exatamente (não aproximadamente) usando os mesmos símbolos que são usados ​​no método manual tradicional. Por exemplo, calculamos a raiz quadrada de um número usando o módulo matemático do Python, conforme mostrado abaixo -

>>> import math 
>>> print (math.sqrt(25), math.sqrt(7))

A saída para o snippet de código acima é a seguinte -

5.0 2.6457513110645907

Como você pode ver, a raiz quadrada de 7 é calculada aproximadamente. Mas no SymPy raízes quadradas de números que não são quadrados perfeitos são deixadas sem avaliação por padrão, conforme mostrado abaixo -

>>> import sympy 
>>> print (sympy.sqrt(7))

A saída para o snippet de código acima é a seguinte -

sqrt(7)

É possível simplificar e mostrar o resultado da expressão simbolicamente com o trecho de código abaixo -

>>> import math
>>> print (math.sqrt(12))

A saída para o snippet de código acima é a seguinte -

3.4641016151377544

Você precisa usar o trecho de código abaixo para executar o mesmo usando o sympy -

##sympy output 
>>> print (sympy.sqrt(12))

E a saída para isso é a seguinte -

2*sqrt(3)

O código SymPy, quando executado no notebook Jupyter, usa a biblioteca MathJax para renderizar símbolos matemáticos na forma LatEx. É mostrado no snippet de código abaixo -

>>> from sympy import * 
>>> x=Symbol ('x') 
>>> expr = integrate(x**x, x) 
>>> expr

Ao executar o comando acima no shell python, a seguinte saída será gerada -

Integral(x**x, x)

Que é equivalente a

$ \ int \ mathrm {x} ^ {x} \, \ mathrm {d} x $

A raiz quadrada de um quadrado não perfeito pode ser representada por Latex da seguinte forma, usando o símbolo tradicional -

>>> from sympy import * 
>>> x=7 
>>> sqrt(x)

A saída para o snippet de código acima é a seguinte -

$ \ sqrt7 $

Um sistema de computação simbólica como o SymPy faz todos os tipos de cálculos (como derivadas, integrais e limites, resolve equações, trabalha com matrizes) simbolicamente. O pacote SymPy possui diferentes módulos que suportam plotagem, impressão (como LATEX), física, estatística, combinatória, teoria dos números, geometria, lógica, etc.