Introduction à Scipy
Introduction à Scipy
Dans ce tutoriel, nous allons explorer les bases de Scipy, une puissante bibliothèque de calcul scientifique pour Python. Scipy propose une large gamme de fonctions pour les mathématiques, les sciences et les applications d'ingénierie. Nous aborderons les sous-thèmes suivants :
- Installation : Comment installer la bibliothèque Scipy sur votre système.
- Importation de Scipy : Apprenez comment importer la bibliothèque Scipy et ses sous-modules.
- Algèbre linéaire : Effectuez des opérations d'algèbre linéaire de base à l'aide de Scipy.
- Intégration numérique : Comprenez comment intégrer numériquement des fonctions avec Scipy.
- Optimisation : Utilisez Scipy pour résoudre des problèmes d'optimisation.
- Interpolation : Apprenez les techniques d'interpolation avec Scipy.
Commençons !
1. Installation
Avant d'utiliser Scipy, vous devez vous assurer qu'il est installé sur votre système. Ouvrez votre terminal et exécutez la commande suivante :
pip install scipy
2. Importation de Scipy
Pour commencer à utiliser Scipy, importez-le ainsi que les sous-modules spécifiques dont vous avez besoin. Voici un exemple d'importation de Scipy et du sous-module linalg (algèbre linéaire) :
import scipy
from scipy import linalg
3. Algèbre linéaire
Le sous-module d'algèbre linéaire de Scipy (scipy.linalg) propose différentes fonctions pour les opérations d'algèbre linéaire de base. Explorons quelques exemples :
Inversion de matrices
import numpy as np
from scipy import linalg
A = np.array([[1, 2], [3, 4]])
A_inv = linalg.inv(A)
print(A_inv)
Sortie :
[[-2. 1. ]
[ 1.5 -0.5]]
Valeurs propres et vecteurs propres
import numpy as np
from scipy import linalg
A = np.array([[1, 2], [3, 4]])
valeurs_propres, vecteurs_propres = linalg.eig(A)
print("Valeurs propres :", valeurs_propres)
print("Vecteurs propres :", vecteurs_propres)
Sortie :
Valeurs propres : [-0.37228132+0.j 5.37228132+0.j]
Vecteurs propres : [[-0.82456484 -0.41597356]
[ 0.56576746 -0.90937671]]
4. Intégration numérique
Le sous-module d'intégration de Scipy (scipy.integrate) nous permet d'effectuer des intégrations numériques. Voyons un exemple utilisant la fonction quad :
from scipy import integrate
résultat, erreur = integrate.quad(lambda x: x**2, 0, 2)
print("Résultat :", résultat)
print("Erreur :", erreur)
Sortie :
Résultat : 2.666666666666667
Erreur : 2.960594732333751e-14
5. Optimisation
Le sous-module d'optimisation de Scipy (scipy.optimize) propose des outils puissants pour résoudre des problèmes d'optimisation. Voici un exemple utilisant la fonction minimize :
from scipy import optimize
def f(x):
return (x[0] - 1)**2 + (x[1] - 2.5)**2
estimation_initiale = [0, 0]
résultat = optimize.minimize(f, estimation_initiale)
print(résultat)
Sortie :
fun: 4.429571755037639e-22
hess_inv: array([[0.49999999, 0.99999999],
[0.99999999, 2. ]])
jac: array([ 1.33226763e-08, -6.77626358e-08])
message: 'Optimization terminated successfully.'
nfev: 63
nit: 9
njev: 21
status: 0
success: True
x: array([1.00000002, 2.49999994])
6. Interpolation
Le sous-module d'interpolation de Scipy (scipy.interpolate) nous permet d'effectuer des interpolations de données. Voyons un exemple utilisant la fonction interp1d :
import numpy as np
from scipy import interpolate
x = np.array([0, 1, 2, 3, 4, 5])
y = np.array([0, 2, 4, 6, 8, 10])
f = interpolate.interp1d(x, y)
x_nouveau = np.array([1.5, 3.7])
y_nouveau = f(x_nouveau)
print("Valeurs interpolées :", y_nouveau)
Sortie :
Valeurs interpolées : [ 3. 7.4]
Félicitations ! Vous avez maintenant appris les bases de Scipy. Expérimentez avec ces concepts et explorez les vastes fonctionnalités offertes par Scipy pour améliorer davantage vos compétences en calcul scientifique.