La programmation
scientifique avec
Python
Par dramac.nicolas
www.siteduzero.com
Dernière mise à jour le 25/09/2011
Sommaire
1Sommaire ...........................................................................................................................................
0Informations sur le tutoriel ...................................................................................................................
2La programmation scientifique avec Python .......................................................................................
2Informations sur le tutoriel .................................................................................................................................................
2La programmation scientifique, c'est quoi? Pour qui? Je dois savoir quoi? .....................................................................
2
Qu'est-ce que c'est? ....................................................................................................................................................................................................
2
Pour qui? .....................................................................................................................................................................................................................
2
Prérequis? ...................................................................................................................................................................................................................
2Compter avec Python? ......................................................................................................................................................
3Ouverture des hostilités .....................................................................................................................................................
3Partie 1 : Le calcul scientifique ............................................................................................................
4Bien débuter avec les tableaux de nombres .....................................................................................................................
4
Définition et installation ...............................................................................................................................................................................................
6
Mon premier tableau de nombres ...............................................................................................................................................................................
6
Création et remplissage de Tableau ...........................................................................................................................................................................
7
Accédons à nos valeurs ..............................................................................................................................................................................................
9
Manipulons nos tableaux ............................................................................................................................................................................................
9
Manipulation des valeurs ............................................................................................................................................................................................
10
Manipulations générales sur les tableaux .................................................................................................................................................................
11
Petit tour d'horizon de fonctions utiles : .....................................................................................................................................................................
13Un scientifique sans graphique c'est triste ......................................................................................................................
14
mon premier plot .......................................................................................................................................................................................................
15
Créer un graphe ........................................................................................................................................................................................................
16
Rafinons un peu tout ça ............................................................................................................................................................................................
20
Plot 3D ? Oui monsieur .............................................................................................................................................................................................
21
Une animation avec pyplot c'est possible .................................................................................................................................................................
22Scipy, une trousse à outils qu'elle est bien .....................................................................................................................
23
Résolution de systèmes linéaires ..............................................................................................................................................................................
24
Résolution brute ........................................................................................................................................................................................................
24
Résolution subtile : Décomposition LU .....................................................................................................................................................................
25
Autre méthode ...........................................................................................................................................................................................................
25
Intégration numérique ...............................................................................................................................................................................................
26
Transformée de Fourier: du temporel au spectral .....................................................................................................................................................
28
Interpolation : créer des données ex nihilo ...............................................................................................................................................................
29Annexe : Informations pratiques et astuces ....................................................................................................................
31
Je veux mes données ...............................................................................................................................................................................................
32
Copie d'objet ou copie de pointeur? ..........................................................................................................................................................................
34
Interfacer du Python et du Fortran ............................................................................................................................................................................
35
Comment faire ...........................................................................................................................................................................................................
35
Et en mémoire? .........................................................................................................................................................................................................
37Partie 2 : L'informatique ....................................................................................................................
37Les outils informatiques ...................................................................................................................................................
37
Ipython .......................................................................................................................................................................................................................
38
Les plus de Ipython ...................................................................................................................................................................................................
40
Mpi4Py ......................................................................................................................................................................................................................
43
Spyder : et Python remplaça Matlab .........................................................................................................................................................................
43
Debogueur python: ipdb ............................................................................................................................................................................................
Sommaire 1/44
www.siteduzero.com
Informations sur le tutoriel
Auteur :
dramac.nicolas
Difficul :
Licence :
La programmation scientifique avec Python
Le tutoriel que vous êtes en train de lire est en bêta-test. Son auteur souhaite que vous lui fassiez part de vos
commentaires pour l'aider à l'améliorer avant sa publication officielle. Notez que le contenu n'a pas été validé par
l'équipe éditoriale du Site duro.
La programmation scientifique avec Python, une alternative gratuite, libre
et performante à Matlab, IDL, Scilab, etc. Et un compment pratique et
utile au C et/ou au Fortran.
La programmation scientifique, c'est quoi?
Pour qui? Je dois savoir quoi?
Qu'est-ce que c'est?
C'est l'utilisation de l'informatique et des langages de programmation
pour résoudre un probme nurique. Bon on n'est pas forcément plus
avancé avec ça.
Donc détaillons :
La programmation scientifique sert à résoudre des probmes le plus souvent mathématiques grâce à l'utilisation d'algorithmes
numériques optimis pour les ordinateurs modernes. Ces ordinateurs permettent d'automatiser des tâches répétitives,
rébarbatives, ou tout simplement trop longues pour être effectués par un être humain.
Tout repose sur l'utilisation de scalaires, de vecteurs et de matrices et de tout l'attirail d'outils mathématiques qui leur est
associé (produit, transpo, extremum, etc).
Pour qui?
Toute personne voulant faire faire des calculs par son ordinateur est potentiellement un "programmeur scientifique".
Prérequis?
Pour aborder ce tuto serainement il faudra :
Savoir compter;
Être au point sur les notions mathématiques de vecteur, matrice, et plus généralement sur l'algèbre. Pas besoin d'être
agrégé en mathématiques mais il vous faudra au moins être relativement à l'aise avec ces notions;
Être au point sur le language Python en lui même. Pour ce faire je ne peux que conseiller l'excellent tuto Python du
sdz.
Compter avec Python?
Pourquoi faire du calcul scientifique avec Python me demanderez vous, c'est interprété (donc moins rapide), c'est gratuit (donc
louche ), et de toutes façons rien ne remplace le C et/ou le Fortran ...
Alors donc pourquoi Python :
Avantage intrinque au langage cf le tuto python;
Les modules scientifiques que je vais détailler après sont bas sur certaines grosses bibliothèques scientifiques en C,
C++ ou Fortran qui ont fait leurs preuves (Blas, Lapack, Atlas);
La programmation scientifique avec Python 2/44
www.siteduzero.com
ça s'interface très facilement avec des codes Fortran et C : on peut donc réutiliser ses anciens codes sans souci;
C'est interactif donc particulièrement adap à de multiples petits calculs, plots, etc. dans l'interpréteur (les utilisateurs
de Matlab et IDL savent à quel point c'est utile ).
Ouverture des hostilis
Attaquons donc le cœur du sujet :
De quoi avons-nous, scientifiques, besoin pour travailler/programmer :
des tableaux de nombres (vecteurs, matrices);
des opérations de traitement de ces tableaux de nombres (addition, multiplication, puissance, tri, minimum, etc.;
des outils de visualisation (tracé de graphes 2D, 3D, surface, contour, etc.);
des routines de traitements (transformées de Fourier, interpolation, résolution de système linéaire, etc.);
plein d'autres petites choses créées à la main...
Nous allons étudier ici essentiellement les outils mis à disposition par le Projet SciPy qui fournit tout ce dont on aura besoin
pour commencer.
Ce tutoriel est entièrement en Python 2.x, le projet Scipy bascule tranquillement sur Python 3.x mais ce n'est pas
encore le paquet officiel
Partie 1 : Le calcul scientifique 3/44
www.siteduzero.com
Partie 1 : Le calcul scientifique
Dans cette partie vous apprendrez :
Comment installer les différentes composantes du projet Scipy ;
Comment utiliser tout ce dont je vous ai parlé dans l'introduction.
Bien débuter avec les tableaux de nombres
Partie 1 : Le calcul scientifique 4/44
www.siteduzero.com
1 / 45 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !