Programmation Python
pour les mathématiques

Julien Guillod

Le but de ce recueil d'exercices est de fournir une introduction à l'usage de la programmation dans divers domaines des mathématiques. Le langage de programmation utilisé est Python 3.6 au supérieur. Ces exercices servent de base aux travaux pratiques LU2MA100 donnés à Sorbonne Université en licence.

Ce document est aussi disponible au format PDF et Jupyter Notebook. Les notebooks peuvent également être exécutés sur MyBinder.

Les erreurs et remarques concernant ce document sont les bienvenues à l'adresse julien.guillod CHEZ sorbonne-universite.fr en commençant le sujet du message par [python].

Table des matières

1 Introduction
      1.1 Pourquoi Python ?
      1.2 Prérequis
      1.3 Documentation
      1.4 Installation
      1.5 Lancement de Jupyter Lab
      1.6 Utilisation de Jupyter Lab
      1.7 Utilisation avancée de Jupyter Lab
2 Structures de données
      Exercice 2.1: Listes
      Exercice 2.2: Tuples
      Exercice 2.3: Ensembles
      Exercice 2.4: Dictionnaires
3 Structures homogènes
      Exercice 3.1: Introduction à Numpy
      Exercice 3.2: Opérations sur les tableaux
      Exercice 3.3: Représentations graphiques
      Exercice 3.4: ! Indexage de tableaux
4 Calcul symbolique
      Exercice 4.1: Introduction à Sympy
      Exercice 4.2: Applications
      Exercice 4.3: Fonction pathologique
      Exercice 4.4: ! Fonction de Green du laplacien
5 Intégration
      Exercice 5.1: Méthode des rectangles
      Exercice 5.2: Méthode des trapèzes
      Exercice 5.3: Méthode de Monte-Carlo
      Exercice 5.4: ! Méthode de Simpson
      Exercice 5.5: !! Intégration avec Scipy
6 Algèbre
      Exercice 6.1: Décomposition LU
      Exercice 6.2: Méthode de la puissance itérée
      Exercice 6.3: Groupes de permutations
7 Zéro de fonctions
      Exercice 7.1: Méthode de Newton en une dimension
      Exercice 7.2: Méthode de Newton en plusieurs dimensions
      Exercice 7.3: Attracteur de la méthode de Newton
      Exercice 7.4: !! Équation différentielle non linéaire
8 Théorie des graphes
      Exercice 8.1: Graphes comme dictionnaires
      Exercice 8.2: Triangles dans un graphe
      Exercice 8.3: !! Module NetworkX
9 Probabilités et statistiques
      Exercice 9.1: Série harmonique de signe aléatoire
      Exercice 9.2: Loi de Benford
      Exercice 9.3: Ruine du joueur
      Exercice 9.4: !! Percolation
10 Équations différentielles
      Exercice 10.1: Méthodes d'Euler
      Exercice 10.2: Méthodes de Runge-Kutta
      Exercice 10.3: Mouvement d'une planète
      Exercice 10.4: !! Équation des ondes cubique
      Exercice 10.5: !!! Méthodes de Bogacki-Shampine
11 Cryptographie
      Exercice 11.1: Code de Vigenère
      Exercice 11.2: ! Casser le code de Vigenère
      Exercice 11.3: Générer des nombres premiers
      Exercice 11.4: Générer des nombres pseudo-premiers
      Exercice 11.5: Chiffrement RSA
      Exercice 11.6: !!! Casser le chiffrement RSA

© 2026, Julien Guillod. Licence CC BY-NC-ND