La bibliothèque Sympy Python

Contenu du cours


1. A propos de la bibliothèque Sympy

SymPy est une bibliothèque Python open-source déstinée au calcul symbolique, gratuite et est distribuée sous la nouvelle licence BSD. Elle offre des méthodes efficaces pour le calcul scientifique et elle couvre presque tous les domaines de mathématiques, analyse, algèbre linéaire et générale, géométrie, statistiques... SymPy est simple à installer et à inspecter car elle est entièrement écrite en Python avec peu de dépendances. Cette facilité d'accès combinée à une base de code simple et extensible dans un langage bien connu font de SymPy un système de calcul formel lympide et puissant. Actuellement, le noyau de la bibliothèque SymPy englobe environ 260 000 lignes de code.

2. Installation de La bibliothèque SymPy

La bibliothèque Sympy rapidement en toute aisance via l'utilitaire pip avec la commande :


Pour vérifier la version de Sympy installée, on utilise le code suivant:

3. Les symbols Sympy

La bibliothèque SymPy peut être utilisé dans n'importe quel environnement où Python est disponible. Afin de pouvoir l'utiliser, nous devons préalablement l'importer:

Pour définir un symbol x , on utilise la commande:

On peut aussi utiliser la syntaxe:

Pour définir plusieurs symbols Sympy en même temps, on utilise la commande:




4. Les expressions sympy

Une expression sympy n'est autre qu'une combinaison de symbols à l'aides des opérations classiques de mathématiques comme l'addition, multiplication...

Exemple

5. Opération sur les expressions sympy

On peut aussi faire des opérations sur les expressions comme factorisation, développement, symplification...

5.1 Développer une expression sympy à l'aide de la méthode expand()

La méthode expand() comme tous les autres langages de calcul symbolique, permet de développer une expression mathématique

Exemple (développer une expression à l'aide de la méthode expand() )

5.2 Simplification

La bibliothèque sympy est dotée de la méthode simplify() qui permet de simplifier une expression mathématique:

Exemple( simplifier une expression via la méthode simplify() )

5.3 Substitution des symbols dans sympy

Dans une expression sympy, on peut substituer un symbol par une valeur numérique ou par un autre grâce à la méthode subs().

Exemple(substitution d'un symbol par une valeur numérique )

Exemple(substitution d'un symbol par un autre symbol)

5.4 Evalution d'une expression sympy

Pour évaluer une expression, sympy nous offre la méthode evalf()
Pour bien comprendre le mécanisme de fonctionnement de cette méthode essayons d'examiner l'affichage du nombre pi

Exemple

from sympy import pi

Comme vous l'avez remarqué, l'exemple ci-dessus ne nous permet pas d'obtenir la valeur de pi et c'est grâce à la méthode evalf() qu'on peut l'obtenir.

Exemple

5.5 transformer une expression sympy en une fonction

Une expression sympy par défaut ne peut jouer le rôle d'une fonction mathématique, mais elle le peut à l'aide de la méthode lambdify()

Syntaxe

Exemple

5.6 Factoriser une expression à l'aide de la méthode sympy.factor()

A l'aide de la méthode sympy.factor(), vous pouvez  factoriser toute expressions mathématiques via la syntaxe

Syntaxe

Exemple (factorisation d'un polynome)

5.7 Code LaTeX d'une expression sympy

Le code LaTeX d'une expression sympy s'obtient facilement à l'aide de la méthode latex()

Exemple




6. Traitement des nombres rationnels avec sympy

Afin de pouvoir gérer et manipuler des nombres rationnels sous forme de fractions a/b , sympy nous offre la classe Rational qui permet de réaliser l'affaire:

Exemple (création d'un nombre rationnel )

On peut aussi effectuer des opérations sur les nombres rationnels avec sympy

Exemple (somme et produit de deux rationnels)

Exemple(transformation d'un nombre décimal en fraction)




7. Résoudre les équations en Python avec la méthode sympy.solve()

Avec l'aide de la méthode sympy.solve(expression), vous pouvez résoudre facilement les équations mathématiques. Cette méthode renverra la liste des racines de l'équation qui est fournie comme paramètre en utilisant la méthode sympy.solve().

Syntaxe

Exemple

Remarque

On peut aussi résoudre un système d'équations en utilisant la syntaxe:

Nous allons à titre d'exemple résoudre le système:

8. Calcul Intégrale avec Sympy Python

Le package SymPy contient le module de calcul intégrale. Il implémente des méthodes pour calculer les intégrales définies et indéfinies des expressions mathématiques. La méthode integrate() est utilisée pour calculer les intégrales définies et indéfinies.
Pour calculer une intégrale indéfinie ou primitive, il suffit de passer la variable après l'expression dans la méthode integrate().

Syntaxe

Exemple




9. Differentiation des fonctions à l'aide de la méthode diff()

La bibliothèque sympy permet aussi de calculer la dérivée d'une expression grâce à la méthode diff().

Syntaxe

Exemple

La même méthode diff() permet de calculer les dérivées succéssives d'une expression

Exemple

10. Calcul matriciel avec sympy

10.1 A propos des matrices sympy

En mathématiques, une matrice (matrix en anglais) est un tableau à deux dimensions constitué de nombres, de symboles ou d'expressions.Il contient des données stockées dans les lignes et les colonnes du tableau. Dans une matrice Python, les séries horizontales d'éléments sont appelées "lignes", tandis que les séries verticales d'éléments sont appelées "colonnes".
Le package SymPy possède un module nommé matrix qui traite complètement la gestion des matrices. Il inclut la classe Matrix dont l'objet représente une matrice.
Afin de pouvoir utiliser le module matrix, vous devez au préalable importer la classe Matrix via la commande:

Exemple ( création d'une matrice 2x2)

10.2 Opération basiques sur les matrices sympy

10.2.1 Les propriétés shape, rows et cols
Pour connaitre le type d'une matrice sympy, le nombre de lignes et de colonnes, on utilise lespropriétés: shap, rows et cols

  1. shape: détermine le type de la matrice 'mxn'
  2. rows: renvoie le nombre de lignes de la matrice
  3. cols: renvoie le nombre de colonnes de la matrice

Exemple






10.2.2  Accéder aux lignes et aux colonnes d'une matrice sympy

Pour obtenir une ligne ou une colonne d'une matrice A, on utilise row ou col. Par exemple, A.row(0) obtiendra la première ligne. A.col(-1) obtiendra la dernière colonne.

Exemple

9.2.3 Insertion des lignes et des colonnes

Pour insérer des lignes ou des colonnes dans une matrice sympy, on utilise les méthodes row_insert() ou col_insert().

Exemple

10.3 Déterminant d'une matrice avec sympy

Pour calculer le déterminant d'une matrice sympy, on utilise la méthode det()

Exemple

On peut aussi calculer le déterminant d'une matrice sympy définie à l'aide des symbols

Exemple

10.4 Valeurs propres, vecteurs propres et diagonalisation d'une matrice sympy

10.4.1 Valeurs propres d'une matrice sympy
Pour trouver les valeurs propres d'une matrice sympy, on utilise la méthode eigenvals(). eigenvals renvoie un dictionnaire de paires eigenvalue: algebraic_multiplicity.

Exemple

L'exemple ci-dessus montre que la matrice A possède deux valeurs propres: 3 de multiplicité 1 et 2 de multiplicité 2.
10.4.2 Vecteurs propres d'une matrice sympy
Pour trouver les vecteurs propres d'une matrice, on utilise la méthode eigenvects(). eigenvects renvoie une liste de tuples de la forme (eigenvalue, algebraic_multiplicity, [eigenvectors]).

Exemple




 

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply