Ce tutoriel est en cours de rédaction / approbation.

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.

Python / Scipy / Premiers pas