La bibliothèque Python Scipy

1 - Apropos de la bibliothèque Scipy

SciPy, une bibliothèque Python a usage scientifique notamment mathématiques très utilisée en ingénierie, open source sous licence BSD.
La bibliothèque SciPy dépend de NumPy, qui fournit une manipulation des tableaux à N dimensions pratique et rapide. Il fournit de nombreuses pratiques numériques conviviales et efficaces telles que des routines pour l'intégration et les problèmes d'optimisation en analyse numériques.
Le présent tutoriel, fornit une introduction qui couvre les principes fondamentaux de SciPy et la façon de gérer ses différents modules.

Remarque:

Nous donnons ici une prise en main rapide de la bibliothèque Scipy pouvant aider un apprenant débutant. Pour ceux qui souhaite une documentation appronfondie, peuvent consulter la documentation officielle: https://docs.scipy.org/doc/scipy/reference/tutorial/

2 - Sous packages de la bibliothèque SciPy

SciPy est organisé en sous-packages couvrant différents domaines de calcul scientifique. Celles-ci sont résumées dans le tableau suivant:

  1. scipy.cluster :  Quantification vectorielle / Kmeans
  2. scipy.constants : Constantes physiques et mathématiques
  3. scipy.fftpack : Transformée de Fourier
  4. scipy.integrate : Routines d'intégration
  5. scipy.interpolate  : Interpolation
  6. scipy.io  : Entrée et sortie de données
  7. scipy.linalg  : Routines d'algèbre linéaire
  8. scipy.ndimage  :  paquet images
  9. scipy.odr  : Régression de distance orthogonale
  10. scipy.optimize : Optimisation
  11. scipy.signal : Traitement du signal
  12. scipy.sparse  : Matrices clairsemées
  13. scipy.spatial  : Structures et algorithmes de données spatiales
  14. scipy.special  : Toutes fonctions mathématiques spéciales
  15. scipy.stats  : Statistiques

3 - Installation de la bibliothèque Scipy sous Windows

La bibliothèque scipy s'installe rapidement en ligne de command Windows:

pip install scipy

4 - Fonctions spéciales:

SciPy fournit un certain nombre de fonctions spéciales utilisées en physique mathématique comme les fonctions elliptiques, fonctions pratiques, gamma, bêta, etc. Pour rechercher toutes les fonctions, vous pouvez utiliser la fonction help().

4.1 - Fonctions exponentielles et trigonométriques:

Le package de fonctions spéciales de SciPy fournit un certain nombre de fonctions grâce auxquelles vous pouvez trouver des exposants et résoudre des problèmes trigonométriques.

Exemple:

from scipy import special
x = special.exp2(4)
print(x) # affiche : 16
y = special.sindg(30) # affiche: 0.49999999999999994
print(y)

5 - Algèbre linéaire avec scipy:

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 et est extrêmement rapide pour résoudre les problèmes liés à l'algèbre linéaire. En plus de toutes les fonctions de numpy.linalg, scipy.linalg fournit également un certain nombre d'autres fonctions avancées. De plus, si numpy.linalg n'est pas utilisé avec le support ATLAS LAPACK et BLAS, scipy.linalg est plus rapide que numpy.linalg.

5.1 - Inverse d'une matrice avec Scipy:

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()

Exemple:

import numpy as np
from scipy import linalg
A = np.array([[2,0], [1,5]])
B = linalg.inv(A)
print(B)

5.2 - Déterminant d'une matrice avec scipy:

Pour calculer le déterminant d'une matrice carrée, on utilis la fonction det()

Exemple:

import numpy as np
from scipy import linalg
A = np.array([[3,5], [2,4]])
d = linalg.det(A)
print(d) # affiche: 2.0000000000000018

Remarque:

De nombreuses autres notions mathématiques sont prises en charge avec la bibliothèque scipy. Pour plus d'informations, consultez la documentation officielle: https://docs.scipy.org/doc/scipy/reference/tutorial/

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply

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