SymPy - Simboli
Symbolè la classe più importante nella libreria symPy. Come accennato in precedenza, i calcoli simbolici vengono eseguiti con i simboli. Le variabili SymPy sono oggetti della classe Symbols.
L'argomento della funzione Symbol () è una stringa contenente un simbolo che può essere assegnato a una variabile.
>>> from sympy import Symbol
>>> x=Symbol('x')
>>> y=Symbol('y')
>>> expr=x**2+y**2
>>> expr
Lo snippet di codice sopra fornisce un output equivalente all'espressione seguente -
$x^2 + y^2$
Un simbolo può essere composto da più alfabeti.
>>> s=Symbol('side')
>>> s**3
Lo snippet di codice sopra fornisce un output equivalente all'espressione seguente -
$side^3$
SymPy ha anche un file Symbols()funzione che può definire più simboli contemporaneamente. La stringa contiene nomi di variabili separati da virgola o spazio.
>>> from sympy import symbols
>>> x,y,z=symbols("x,y,z")
Nel modulo abc di SymPy, tutti gli alfabeti latini e greci sono definiti come simboli. Quindi, invece di istanziare l'oggetto Symbol, questo metodo è conveniente.
>>> from sympy.abc import x,y,z
Tuttavia, i nomi C, O, S, I, N, E e Qsono simboli predefiniti. Inoltre, i simboli con più di un alfabeto non sono definiti nel modulo abc, per il quale dovresti usare l'oggetto Symbol come sopra. Il modulo abc definisce nomi speciali in grado di rilevare definizioni nello spazio dei nomi SymPy predefinito. clash1 contiene singole lettere e clash2 ha simboli di conflitto tra più lettere
>>> from sympy.abc import _clash1, _clash2
>>> _clash1
L'output dello snippet di cui sopra è il seguente:
{'C': C, 'O': O, 'Q': Q, 'N': N, 'I': I, 'E': E, 'S': S}
>>> _clash2
L'output dello snippet di cui sopra è il seguente:
{'beta': beta, 'zeta': zeta, 'gamma': gamma, 'pi': pi}
I simboli indicizzati possono essere definiti utilizzando una sintassi simile alla funzione range (). Gli intervalli sono indicati da due punti. Il tipo di intervallo è determinato dal carattere a destra dei due punti. Se itr è una cifra, tutte le cifre contigue a sinistra vengono prese come valore iniziale non negativo. Tutte le cifre contigue a destra vengono prese come 1 maggiore del valore finale.
>>> from sympy import symbols
>>> symbols('a:5')
L'output dello snippet di cui sopra è il seguente:
(a0, a1, a2, a3, a4)
>>> symbols('mark(1:4)')
L'output dello snippet di cui sopra è il seguente:
(mark1, mark2, mark3)