SymPy - Símbolos
Symbolé a classe mais importante na biblioteca SymPy. Conforme mencionado anteriormente, os cálculos simbólicos são feitos com símbolos. Variáveis SymPy são objetos da classe Symbols.
O argumento da função Symbol () é uma string contendo um símbolo que pode ser atribuído a uma variável.
>>> from sympy import Symbol
>>> x=Symbol('x')
>>> y=Symbol('y')
>>> expr=x**2+y**2
>>> expr
O trecho de código acima fornece uma saída equivalente à expressão abaixo -
$x^2 + y^2$
Um símbolo pode ter mais de um alfabeto.
>>> s=Symbol('side')
>>> s**3
O trecho de código acima fornece uma saída equivalente à expressão abaixo -
$side^3$
SymPy também tem um Symbols()função que pode definir vários símbolos de uma vez. String contém nomes de variáveis separados por vírgula ou espaço.
>>> from sympy import symbols
>>> x,y,z=symbols("x,y,z")
No módulo abc do SymPy, todos os alfabetos latino e grego são definidos como símbolos. Portanto, em vez de instanciar o objeto Symbol, esse método é conveniente.
>>> from sympy.abc import x,y,z
No entanto, os nomes C, O, S, I, N, E e Qsão símbolos predefinidos. Além disso, os símbolos com mais de um alfabeto não são definidos no módulo abc, para o qual você deve usar o objeto Symbol como acima. O módulo abc define nomes especiais que podem detectar definições no namespace SymPy padrão. clash1 contém letras únicas e clash2 contém símbolos conflitantes de várias letras
>>> from sympy.abc import _clash1, _clash2
>>> _clash1
A saída do snippet acima é a seguinte -
{'C': C, 'O': O, 'Q': Q, 'N': N, 'I': I, 'E': E, 'S': S}
>>> _clash2
A saída do snippet acima é a seguinte -
{'beta': beta, 'zeta': zeta, 'gamma': gamma, 'pi': pi}
Os símbolos indexados podem ser definidos usando uma sintaxe semelhante à função range (). Os intervalos são indicados por dois pontos. O tipo de intervalo é determinado pelo caractere à direita dos dois pontos. Se itr for um dígito, todos os dígitos contíguos à esquerda serão considerados o valor inicial não negativo. Todos os dígitos contíguos à direita são considerados como 1 maior que o valor final.
>>> from sympy import symbols
>>> symbols('a:5')
A saída do snippet acima é a seguinte -
(a0, a1, a2, a3, a4)
>>> symbols('mark(1:4)')
A saída do snippet acima é a seguinte -
(mark1, mark2, mark3)