General
Cours "Le langage Python et Sage, l'environnement de calcul symbolique et de calcul numérique" par Robert Rannou
"Le langage Python et Sage, l'environnement de calcul symbolique et de calcul numérique" by Robert Rannou est mis à disposition selon les termes de la licence Creative Commons Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique 2.0 France.
Attention, la plateforme Moodle vient de changer de version. Petit problème qui sera traité rapidement et gênant pour les programmes Python, quand vous cliquez sur un mot ou expression entrée de glossaire, le texte est centré (ce qui est gênant pour les programmes du fait que la syntaxe prend en compte l'indentation).
Pourquoi Python? Parce que c'est bon.
Ce cours n'est pas fini, mais bien avancé. Vos commentaires sont les bienvenus (commentaires possibles pour les personnes inscrites sur cette instance de Moodle). Et si vous voulez contribuer ...
L'aventure de Python a démarré en 1989 avec Guido Van Rossum. Nous en sommes arrivés à Python 4. Ce cours ne traite que de Python 3.
Python est un langage de programmation objet, un de plus. La 1ère question que l'on est en droit de se poser, c'est : "qu'est-ce qu'il apporte de plus que des langages objets, comme Java ou C++, ou que PHP?"
Nous ne répondrons pas vraiment à la question, car ce qui nous intéresse c'est le fait qu'en Python ont été développés un certain nombre de packages ("bibliothèques) mathématiques, comme Numpy et surtout Scipy. Et il y a simpy (notez le i après le s) pour les simulations à événements discrets basés sur une modélisation en terme de processus.
Et puis, il y a Sage (fin de cette page), une boîte à outils mathématiques qui se veut un concurrent de Magma, Maple, Mathematica, MATLAB et d'autres avec une efficacité à l'exécution comparable (ou qui voudrait être comparable) et disposant d'un intéressant interface WEB (le notebook), permettant le travail collaboratif autour de feuilles de calcul, et d'une intégration poussée avec LaTeX (tout objet Sage a sa traduction en LaTeX).
Sage utilise le modèle objet de Python (Python 2.7) et donne une autre dimension à l'utilisation de bibliothèques comme Scipy, Numpy et Matplotlib (tracé de courbes) que l'on pouvait utiliser directement en Python. En particulier, Sage fournit sympy (noter le y après le s) pour le calcul formel (symbolic computation).
Finalement est un langage apprécié par les ingénieurs système et
réseaux qui, dans leur travail quotidien, sont amenés à écrire
des programmes, des scripts. Ils disposent d'un grand nombre de
bibliothèques intéressantes. Dans la formation de Télécom
Bretagne, cet usage a lieu dans le module réseau IP de mineure d'Alberto Blanc,
et le module Principes des Réseaux IP de majeure du même
Alberto Blanc. Python
fournit un cadre pour jouer avec les processus, les connexions
UDP ou TCP (sockets).
Un peu de documentation sur Python :
- Site wikipedia
- Le site officiel de Python 3
- Le cours de Bob Cordeau (Introduction à Python 3) de l'IUT d'Orsay
- Cours introductif à Python 3 de Pierre Puiseux, Université de Pau et du pays de l'Adour
- Ouvrages sur Python à la bibliothèque de Télécom Bretagne
- Les notes de cours de Thierry Chonavel (enseignant-chercheur à Télécom Bretagne) sur sa page perso.
- Des ressources intéressantes dans un cours de Télécom Bretagne sur l'algorithmique avancée (Patrick Meyer, Julie Saoulas, Sébastien Bigaret, Alexandru Olteanu)
- Un cours Python dans Floss Manuals (un peu succinct)
Un peu de documentation sur Sage
- Craig Finch. Sage. Unlock the full potential of Sage for simplifying and automating mathematical computing
- Calcul mathématique avec Sage. Alexandre Casamayou, Nathann Cohen, Guillaume Connan, Thierry Dumont, Laurent Fousse, François Maltey, Matthias Meulien, Marc Mezzarobba, Clément Pernet, Nicolas M. Thiéry, Paul Zimmermann
- Utiliser Sage à l'école : installation pour les postes Campux (salles de TPs sous Linux Ubuntu)
Le cœur de ce cours est formé du glossaire des concepts Python (voir ci-dessous) et du glossaire des concepts Sage (3ème section). Le cours utilise le mécanisme Moodle de création automatique de liens vers les entrées des glossaires.