SymPy - Símbolos
Symboles la clase más importante de la biblioteca symPy. Como se mencionó anteriormente, los cálculos simbólicos se realizan con símbolos. Las variables SymPy son objetos de la clase Symbols.
El argumento de la función Symbol () es una cadena que contiene un símbolo que se puede asignar a una variable.
>>> from sympy import Symbol
>>> x=Symbol('x')
>>> y=Symbol('y')
>>> expr=x**2+y**2
>>> expr
El fragmento de código anterior proporciona una salida equivalente a la siguiente expresión:
$x^2 + y^2$
Un símbolo puede tener más de un alfabeto.
>>> s=Symbol('side')
>>> s**3
El fragmento de código anterior proporciona una salida equivalente a la siguiente expresión:
$side^3$
SymPy también tiene un Symbols()función que puede definir varios símbolos a la vez. La cadena contiene nombres de variables separados por comas o espacios.
>>> from sympy import symbols
>>> x,y,z=symbols("x,y,z")
En el módulo abc de SymPy, todos los alfabetos latinos y griegos se definen como símbolos. Por lo tanto, en lugar de instanciar el objeto Symbol, este método es conveniente.
>>> from sympy.abc import x,y,z
Sin embargo, los nombres C, O, S, I, N, E y Qson símbolos predefinidos. Además, los símbolos con más de un alfabeto no se definen en el módulo abc, para lo cual debe usar el objeto Símbolo como se indicó anteriormente. El módulo abc define nombres especiales que pueden detectar definiciones en el espacio de nombres SymPy predeterminado. clash1 contiene letras individuales y clash2 tiene símbolos de varias letras que chocan
>>> from sympy.abc import _clash1, _clash2
>>> _clash1
El resultado del fragmento anterior es el siguiente:
{'C': C, 'O': O, 'Q': Q, 'N': N, 'I': I, 'E': E, 'S': S}
>>> _clash2
El resultado del fragmento anterior es el siguiente:
{'beta': beta, 'zeta': zeta, 'gamma': gamma, 'pi': pi}
Los símbolos indexados se pueden definir usando una sintaxis similar a la función range (). Los rangos están indicados por dos puntos. El tipo de rango está determinado por el carácter a la derecha de los dos puntos. Si itr es un dígito, todos los dígitos contiguos a la izquierda se toman como el valor inicial no negativo. Todos los dígitos contiguos a la derecha se toman como 1 mayor que el valor final.
>>> from sympy import symbols
>>> symbols('a:5')
El resultado del fragmento anterior es el siguiente:
(a0, a1, a2, a3, a4)
>>> symbols('mark(1:4)')
El resultado del fragmento anterior es el siguiente:
(mark1, mark2, mark3)