SymPy - Classe de fonction
Le package Sympy a la classe Function, qui est définie dans le module sympy.core.function. Il s'agit d'une classe de base pour toutes les fonctions mathématiques appliquées, ainsi que d'un constructeur pour les classes de fonctions non définies.
Les catégories de fonctions suivantes sont héritées de la classe Function -
- Fonctions pour nombre complexe
- Fonctions trigonométriques
- Fonctions pour nombre entier
- Fonctions combinatoires
- Autres fonctions diverses
Fonctions pour nombre complexe
Cet ensemble de fonctions est défini dans sympy.functions.elementary.complexes module.
re
Cette fonction renvoie une partie réelle d'une expression -
>>> from sympy import *
>>> re(5+3*I)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
5
>>> re(I)
La sortie de l'extrait de code ci-dessus est -
0
Im
Cette fonction renvoie une partie imaginaire d'une expression -
>>> im(5+3*I)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
3
>>> im(I)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
1
sign
Cette fonction renvoie le signe complexe d'une expression.
Pour une expression réelle, le signe sera -
- 1 si l'expression est positive
- 0 si l'expression est égale à zéro
- -1 si l'expression est négative
Si l'expression est imaginaire, le signe renvoyé est -
- I si im (expression) est positive
- -I si im (expression) est négatif
>>> sign(1.55), sign(-1), sign(S.Zero)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
(1, -1, 0)
>>> sign (-3*I), sign(I*2)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
(-I, I)
Abs
Cette fonction renvoie la valeur absolue d'un nombre complexe. Elle est définie comme la distance entre l'origine (0,0) et le point (a, b) dans le plan complexe. Cette fonction est une extension de la fonction intégrée abs () pour accepter des valeurs symboliques.
>>> Abs(2+3*I)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
$\sqrt13$
conjugate
Cette fonction renvoie le conjugué d'un nombre complexe. Pour trouver le conjugué complexe, nous changeons le signe de la partie imaginaire.
>>> conjugate(4+7*I)
Vous obtenez la sortie suivante après avoir exécuté l'extrait de code ci-dessus -
4 - 7i
Fonctions trigonométriques
SymPy a des définitions pour tous les rapports trigonométriques - sin cos, tan etc. ainsi que ses équivalents inverses tels que asin, acos, atan etc. Ces fonctions calculent la valeur respective pour un angle donné exprimé en radians.
>>> sin(pi/2), cos(pi/4), tan(pi/6)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
(1, sqrt(2)/2, sqrt(3)/3)
>>> asin(1), acos(sqrt(2)/2), atan(sqrt(3)/3)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
(pi/2, pi/4, pi/6)
Fonctions sur nombre entier
Il s'agit d'un ensemble de fonctions permettant d'effectuer diverses opérations sur un nombre entier.
ceiling
Il s'agit d'une fonction univariée qui renvoie la plus petite valeur entière non inférieure à son argument. En cas de nombres complexes, plafond des parties réelles et imaginaires séparément.
>>> ceiling(pi), ceiling(Rational(20,3)), ceiling(2.6+3.3*I)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
(4, 7, 3 + 4*I)
floor
Cette fonction renvoie la plus grande valeur entière non supérieure à son argument. Dans le cas de nombres complexes, cette fonction prend également la parole des parties réelles et imaginaires séparément.
>>> floor(pi), floor(Rational(100,6)), floor(6.3-5.9*I)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
(3, 16, 6 - 6*I)
frac
Cette fonction représente la partie fractionnaire de x.
>>> frac(3.99), frac(Rational(10,3)), frac(10)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
(0.990000000000000, 1/3, 0)
Fonctions combinatoires
La combinatoire est un domaine des mathématiques concerné par les problèmes de sélection, d'arrangement et de fonctionnement dans un système fini ou discret.
factorial
La factorielle est très importante en combinatoire où elle donne le nombre de façons dont n objets peuvent être permutés. Il est symboliquement représenté comme! Cette fonction est l'implémentation de la fonction factorielle sur des entiers non négatifs, la factorielle d'un entier négatif est l'infini complexe.
>>> x=Symbol('x')
>>> factorial(x)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
x!
>>> factorial(5)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
120
>>> factorial(-1)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
$\infty\backsim$
binôme
Cette fonction correspond au nombre de façons dont nous pouvons choisir k éléments parmi un ensemble de n éléments.
>>> x,y=symbols('x y')
>>> binomial(x,y)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
$(\frac{x}{y})$
>>> binomial(4,2)
La sortie de l'extrait de code ci-dessus est donnée ci-dessous -
6
Les lignes du triangle de Pascal peuvent être générées avec la fonction binomiale.
>>> for i in range(5): print ([binomial(i,j) for j in range(i+1)])
Vous obtenez la sortie suivante après avoir exécuté l'extrait de code ci-dessus -
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
fibonacci
Les nombres de Fibonacci sont la séquence entière définie par les termes initiaux F0 = 0, F1 = 1 et la relation de récurrence à deux termes Fn = Fn − 1 + Fn − 2.
>>> [fibonacci(x) for x in range(10)]
La sortie suivante est obtenue après l'exécution de l'extrait de code ci-dessus -
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
tribonacci
Les nombres de Tribonacci sont la séquence entière définie par les termes initiaux F0 = 0, F1 = 1, F2 = 1 et la relation de récurrence à trois termes Fn = Fn-1 + Fn-2 + Fn-3.
>>> tribonacci(5, Symbol('x'))
L'extrait de code ci-dessus donne une sortie équivalente à l'expression ci-dessous -
$x^8 + 3x^5 + 3x^2$
>>> [tribonacci(x) for x in range(10)]
La sortie suivante est obtenue après l'exécution de l'extrait de code ci-dessus -
[0, 1, 1, 2, 4, 7, 13, 24, 44, 81]
Fonctions diverses
Voici une liste de certaines fonctions fréquemment utilisées -
Min- Renvoie la valeur minimale de la liste. Il est nommé Min pour éviter les conflits avec la fonction intégrée min.
Max- Renvoie la valeur maximale de la liste. Il est nommé Max pour éviter les conflits avec la fonction intégrée max.
root - Renvoie la nième racine de x.
sqrt - Renvoie la racine carrée principale de x.
cbrt - Cette fonction calcule la racine cubique principale de x, (raccourci pour x ++ Rational (1,3)).
Voici les exemples des fonctions diverses ci-dessus et de leurs sorties respectives -
>>> Min(pi,E)
e
>>> Max(5, Rational(11,2))
$\frac{11}{2}$
>>> root(7,Rational(1,2))
49
>>> sqrt(2)
$\sqrt2$
>>> cbrt(1000)
10