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