Sommaire
SciPy est une bibliothèque Python a usage scientifique notamment mathématiques très utilisée en ingénierie.
SciPy est extrêmement rapide pour résoudre les problèmes liés à l’algèbre linéaire.
L’algèbre linéaire traite des équations linéaires et de leurs représentations à l’aide d’espaces vectoriels et de matrices. SciPy est construite sur les bibliothèques ATLAS LAPACK et BLAS.
Pour plus d’information sur cette bibliothèque : https://scipy.org/
Installation de la bibliothèque
SciPy est installée par défaut avec la plupart des distributions Python (comme Anaconda). Elle peut cependant être installé sur Python par l’une des commandes suivantes (dépendant de votre distribution) :
pip install scipy conda install scipy
Importation de la bibliothèque
Afin de pouvoir utiliser la bibliothèque SciPy dans vos scripts sous Python, il est indispensable de l’importer dans votre programme :
import scipy
Nous verrons par la suite que la bibliothèque SciPy est composée d’un grand nombre de sous-bibliothèques spécifiques à certains problèmes.
De plus, SciPy se base sur l’utilisation de vecteurs et de matrices que l’on peut utiliser à l’aide de la bibliothèque Numpy (voir aussi le tutoriel : Python / Numpy / Premiers pas ). Il est donc intéressant d’importer également cette bibliothèque :
import numpy as np
Algèbre linéaire
Il existe par exemple toute une partie liée à l’algèbre linéaire et à la résolution matricielle de problèmes mathématiques.
Cette sous-bibliothèque s’appelle linalg. Pour l’importer, il suffit d’ajouter la ligne suivante :
from scipy import linalg
Inverse d’une matrice
Mathématiquement, l’inverse d’une matrice A est la matrice B telle que \(AB = I\) où I est la matrice d’identité. L’inverse est noté \(B = A^{-1}\). Dans SciPy, cet inverse peut être obtenu en utilisant la méthode inv de la sous-bibliothèque linalg.
A = np.array([[2,0], [1,5]]) B = linalg.inv(A) print(B)
Cet exemple donne le résultat suivant :
[[ 0.5 -0. ] [-0.1 0.2]]
Déterminant d’une matrice
Pour calculer le déterminant d’une matrice carrée, on utilis la fonction det() comme l’exemple suivant :
A = np.array([[3,5], [2,4]]) d = linalg.det(A) print(d) # affiche: 2.0000000000000018 ou 1.9999999999999996
Autres fonctions mathématiques autour des matrices
Il existe d’autres opérations liées aux matrices, dans la sous-bibliothèque linalg de SciPy :
- expm : exponentielle d’une matrice
- logm : logarithme d’une matrice
- sinm, cosm, tanm : fonctions trigonométriques sur des matrices
- sqrtm : racine carrée
Résolution d’équations linéaires
Ce tutoriel a été co-écrit par Aboubakar BAYERO (promo 2024) dans le cadre d’une semaine spécifique.