SymPy: classe di funzioni

Il pacchetto Sympy ha la classe Function, che è definita nel modulo sympy.core.function. È una classe base per tutte le funzioni matematiche applicate, come anche un costruttore per classi di funzioni non definite.

Le seguenti categorie di funzioni vengono ereditate dalla classe Function:

  • Funzioni per numero complesso
  • Funzioni trigonometriche
  • Funzioni per numero intero
  • Funzioni combinatorie
  • Altre funzioni varie

Funzioni per numero complesso

Questo insieme di funzioni è definito in sympy.functions.elementary.complexes modulo.

re

Questa funzione restituisce una parte reale di un'espressione -

>>> from sympy import * 
>>> re(5+3*I)

L'output per lo snippet di codice sopra è fornito di seguito:

5

>>> re(I)

L'output per lo snippet di codice sopra è:

0

Im

Questa funzione restituisce una parte immaginaria di un'espressione -

>>> im(5+3*I)

L'output per lo snippet di codice sopra è fornito di seguito:

3

>>> im(I)

L'output per lo snippet di codice sopra è fornito di seguito:

1

sign

Questa funzione restituisce il segno complesso di un'espressione.

Per una vera espressione, il segno sarà:

  • 1 se l'espressione è positiva
  • 0 se l'espressione è uguale a zero
  • -1 se l'espressione è negativa

Se l'espressione è immaginaria il segno restituito è -

  • I se im (espressione) è positiva
  • -I se im (espressione) è negativo
>>> sign(1.55), sign(-1), sign(S.Zero)

L'output per lo snippet di codice sopra è fornito di seguito:

(1, -1, 0)

>>> sign (-3*I), sign(I*2)

L'output per lo snippet di codice sopra è fornito di seguito:

(-I, I)

Abs

Questa funzione restituisce il valore assoluto di un numero complesso. È definita come la distanza tra l'origine (0,0) e il punto (a, b) nel piano complesso. Questa funzione è un'estensione della funzione incorporata abs () per accettare valori simbolici.

>>> Abs(2+3*I)

L'output per lo snippet di codice sopra è fornito di seguito:

$\sqrt13$

conjugate

Questa funzione restituisce il coniugato di un numero complesso. Per trovare il complesso coniugato cambiamo il segno della parte immaginaria.

>>> conjugate(4+7*I)

Si ottiene il seguente output dopo aver eseguito lo snippet di codice sopra:

4 - 7i

Funzioni trigonometriche

SymPy ha definizioni per tutti i rapporti trigonometrici: sin cos, tan ecc. Così come le sue controparti inverse come asin, acos, atan ecc. Queste funzioni calcolano il rispettivo valore per un dato angolo espresso in radianti.

>>> sin(pi/2), cos(pi/4), tan(pi/6)

L'output per lo snippet di codice sopra è fornito di seguito:

(1, sqrt(2)/2, sqrt(3)/3)

>>> asin(1), acos(sqrt(2)/2), atan(sqrt(3)/3)

L'output per lo snippet di codice sopra è fornito di seguito:

(pi/2, pi/4, pi/6)

Funzioni su numero intero

Questo è un insieme di funzioni per eseguire varie operazioni su numeri interi.

ceiling

Questa è una funzione univariata che restituisce il valore intero più piccolo non inferiore al suo argomento. In caso di numeri complessi, limite massimo delle parti reale e immaginaria separatamente.

>>> ceiling(pi), ceiling(Rational(20,3)), ceiling(2.6+3.3*I)

L'output per lo snippet di codice sopra è fornito di seguito:

(4, 7, 3 + 4*I)

floor

Questa funzione restituisce il valore intero più grande non maggiore del suo argomento. In caso di numeri complessi, anche questa funzione prende la parola separatamente dalla parte reale e da quella immaginaria.

>>> floor(pi), floor(Rational(100,6)), floor(6.3-5.9*I)

L'output per lo snippet di codice sopra è fornito di seguito:

(3, 16, 6 - 6*I)

frac

Questa funzione rappresenta la parte frazionaria di x.

>>> frac(3.99), frac(Rational(10,3)), frac(10)

L'output per lo snippet di codice sopra è fornito di seguito:

(0.990000000000000, 1/3, 0)

Funzioni combinatorie

La combinatoria è un campo della matematica che si occupa di problemi di selezione, disposizione e funzionamento all'interno di un sistema finito o discreto.

factorial

Il fattoriale è molto importante in calcolo combinatorio dove fornisce il numero di modi in cui n oggetti possono essere permutati. È simbolicamente rappresentato come! Questa funzione è l'implementazione della funzione fattoriale su interi non negativi, fattoriale di un intero negativo è l'infinito complesso.

>>> x=Symbol('x') 
>>> factorial(x)

L'output per lo snippet di codice sopra è fornito di seguito:

x!

>>> factorial(5)

L'output per lo snippet di codice sopra è fornito di seguito:

120

>>> factorial(-1)

L'output per lo snippet di codice sopra è fornito di seguito:

$\infty\backsim$

binomiale

Questa funzione indica il numero di modi in cui possiamo scegliere k elementi da un insieme di n elementi.

>>> x,y=symbols('x y') 
>>> binomial(x,y)

L'output per lo snippet di codice sopra è fornito di seguito:

$(\frac{x}{y})$

>>> binomial(4,2)

L'output per lo snippet di codice sopra è fornito di seguito:

6

Righe del triangolo di Pascal possono essere generate con la funzione binomiale.

>>> for i in range(5): print ([binomial(i,j) for j in range(i+1)])

Si ottiene il seguente output dopo aver eseguito lo snippet di codice sopra:

[1]

[1, 1]

[1, 2, 1]

[1, 3, 3, 1]

[1, 4, 6, 4, 1]

fibonacci

I numeri di Fibonacci sono la sequenza intera definita dai termini iniziali F0 = 0, F1 = 1 e dalla relazione di ricorrenza a due termini Fn = Fn − 1 + Fn − 2.

>>> [fibonacci(x) for x in range(10)]

Il seguente output si ottiene dopo aver eseguito lo snippet di codice precedente:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

tribonacci

I numeri di Tribonacci sono la sequenza intera definita dai termini iniziali F0 = 0, F1 = 1, F2 = 1 e dalla relazione di ricorrenza a tre termini Fn = Fn-1 + Fn-2 + Fn-3.

>>> tribonacci(5, Symbol('x'))

Lo snippet di codice sopra fornisce un output equivalente all'espressione seguente -

$x^8 + 3x^5 + 3x^2$

>>> [tribonacci(x) for x in range(10)]

Il seguente output si ottiene dopo aver eseguito lo snippet di codice precedente:

[0, 1, 1, 2, 4, 7, 13, 24, 44, 81]

Funzioni varie

Di seguito è riportato un elenco di alcune funzioni utilizzate di frequente:

Min- Restituisce il valore minimo della lista. Si chiama Min per evitare conflitti con la funzione incorporata min.

Max- Restituisce il valore massimo dell'elenco. Si chiama Max per evitare conflitti con la funzione incorporata max.

root - Restituisce l'ennesima radice di x.

sqrt - Restituisce la radice quadrata principale di x.

cbrt - Questa funzione calcola la radice cubica principale di x, (scorciatoia per x ++ Rational (1,3)).

Di seguito sono riportati gli esempi delle funzioni miscellanee di cui sopra e le rispettive uscite:

>>> Min(pi,E)

e

>>> Max(5, Rational(11,2))

$\frac{11}{2}$

>>> root(7,Rational(1,2))

49

>>> sqrt(2)

$\sqrt2$

>>> cbrt(1000)

10