Créer des variables symboliques avec Symbol et symbols() Python

1. À propos des variables symboliques en SymPy

La bibliothèque SymPy permet d'effectuer du calcul symbolique avec Python. Contrairement au calcul numérique classique, le calcul symbolique permet de manipuler des lettres comme x, y ou t en tant qu'objets mathématiques.

Pour créer ces objets, SymPy fournit notamment la classe Symbol et la fonction symbols().

Le programme suivant crée un symbole mathématique nommé x et l'affiche.

Sortie :

L'objet x peut maintenant être utilisé pour construire des expressions algébriques sans lui attribuer une valeur numérique.

2. Créer une variable symbolique avec Symbol

La classe Symbol permet de créer un symbole individuel. Le nom du symbole est fourni sous forme de chaîne de caractères.

Le programme suivant crée le symbole x puis affiche son type.

Sortie :

Nous constatons que x n'est pas une chaîne de caractères. C'est un véritable objet SymPy de type Symbol.

Nous pouvons naturellement choisir un autre nom pour notre symbole.

Sortie :

Le nom de la variable Python, ici temperature, et le nom mathématique du symbole, ici T, sont donc deux notions différentes.

3. Créer plusieurs variables avec symbols()

Lorsqu'il faut créer plusieurs symboles, la fonction symbols() est généralement plus pratique que plusieurs appels successifs à Symbol().

Le programme suivant crée simultanément trois symboles x, y et z.

Sortie :

La chaîne "x y z" contient les noms des symboles à créer. La fonction symbols() retourne ici plusieurs objets qui sont affectés respectivement aux variables Python x, y et z.

Nous pouvons vérifier que chacun de ces objets est bien un symbole SymPy.

Sortie :

4. Comprendre la différence entre variable Python et symbole SymPy

Il est important de distinguer une variable Python d'un symbole SymPy. Dans l'instruction x = Symbol("x"), le premier x est un nom utilisé dans le programme Python, tandis que "x" est le nom du symbole mathématique créé par SymPy.

Nous pouvons mettre cette différence en évidence en donnant à la variable Python un nom différent du symbole mathématique.

Sortie :

La variable Python s'appelle variable, mais l'objet symbolique qu'elle référence porte le nom x.

Il est toutefois généralement plus lisible d'utiliser le même nom des deux côtés.

Sortie :

Cette écriture facilite la lecture des expressions mathématiques et constitue une pratique courante avec SymPy.

5. Construire des expressions avec des symboles

L'intérêt principal des symboles est de pouvoir construire et manipuler des expressions algébriques. Les opérateurs Python habituels comme +, -, *, / et ** peuvent être utilisés avec les objets SymPy.

Le programme suivant construit l'expression mathématique x² + 3x + 2.

Sortie :

La variable x reste symbolique : aucune valeur numérique ne lui a été attribuée.

Nous pouvons également construire une expression contenant plusieurs variables symboliques.

Sortie :

SymPy conserve ainsi la structure mathématique de l'expression afin de pouvoir ensuite la simplifier, la factoriser, la dériver, l'intégrer ou effectuer d'autres opérations symboliques.

6. Créer plusieurs symboles avec une notation abrégée

La fonction symbols() accepte des notations abrégées permettant de créer rapidement une suite de symboles numérotés.

La notation x0:5 crée les cinq symboles allant de x0 à x4. La borne finale 5 n'est pas incluse.

Sortie :

Cette notation est particulièrement pratique lorsque nous devons créer un grand nombre de variables indexées.

Nous pouvons ensuite parcourir les symboles obtenus avec une boucle.

Sortie :

La notation x1:6 commence ici à x1 et s'arrête avant x6.

7. Définir des hypothèses sur les symboles

Lors de la création d'un symbole, SymPy permet de préciser des hypothèses sur sa nature mathématique. Nous pouvons par exemple indiquer qu'une variable est réelle, positive, entière ou non nulle.

Le programme suivant crée un symbole x supposé positif.

Sortie :

Une quantité positive étant nécessairement réelle dans le système d'hypothèses de SymPy, x.is_real retourne également True.

La fonction symbols() accepte elle aussi des hypothèses. Le programme suivant crée deux symboles entiers.

Sortie :

Les hypothèses permettent à SymPy de réaliser certaines simplifications ou déductions mathématiques qui ne seraient pas possibles si la nature du symbole était inconnue.

8. Remplacer un symbole par une valeur

Une expression symbolique peut être évaluée pour certaines valeurs grâce à la méthode subs(). Cette méthode effectue une substitution sans transformer définitivement le symbole en variable numérique.

Le programme suivant construit l'expression x² + 2x + 1 puis remplace x par 3.

Sortie :

L'expression originale reste symbolique. La méthode subs() retourne une nouvelle expression dans laquelle la substitution demandée a été effectuée.

Nous pouvons également remplacer plusieurs symboles en une seule opération.

Sortie :

9. Utiliser les symboles dans les calculs algébriques

Une fois les variables symboliques créées, elles peuvent être utilisées avec les nombreuses fonctions de calcul algébrique proposées par SymPy. Nous pouvons par exemple développer une expression avec expand().

Le programme suivant développe le produit (x + 1)(x + 2).

Sortie :

Nous pouvons également utiliser un symbole pour calculer une dérivée avec la fonction diff().

Sortie :

Les objets créés avec Symbol ou symbols() constituent ainsi la base de nombreuses opérations de calcul symbolique avec SymPy : simplification, factorisation, résolution d'équations, dérivation, intégration et bien d'autres.

10. À retenir !

Les fonctions Symbol et symbols() permettent de créer des variables symboliques avec SymPy afin de manipuler des expressions mathématiques sans attribuer immédiatement des valeurs numériques aux variables.

  • Symbol("x") permet de créer un symbole individuel nommé x.
  • symbols("x y z") permet de créer plusieurs symboles en une seule instruction.
  • Un objet Symbol représente une variable mathématique symbolique.
  • Une variable Python et le nom d'un symbole SymPy sont deux notions différentes.
  • Il est généralement plus lisible d'utiliser le même nom pour la variable Python et le symbole mathématique.
  • Les symboles peuvent être utilisés avec les opérateurs +, -, *, / et **.
  • symbols("x0:5") permet de créer rapidement une suite de symboles.
  • Des hypothèses comme positive=True, real=True ou integer=True peuvent être associées aux symboles.
  • La méthode subs() permet de remplacer un symbole par une valeur ou une autre expression.
  • Les symboles servent de base aux opérations algébriques, aux dérivées, aux intégrales et à la résolution d'équations avec SymPy.

Le programme suivant rassemble les principales opérations étudiées : création de deux symboles, construction d'une expression, substitution et dérivation.

Sortie :

 


 


Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


Leave a Reply

Your email address will not be published. Required fields are marked *