Qu’est-ce que l’analyse numérique ? C’est un ensemble d’outils qui permet d’obtenir
une solution numérique approchée d’un problème mathématique, lui-même modèle
d’une question technique ou scientifique.
Pourquoi étudier (et enseigner) l’analyse numérique conçue de cette manière ? N’estil pas suffisant d’appuyer sur la touche « solve » d’une calculette pour résoudre une équation algébrique ? Si l’on veut vraiment utiliser un logiciel, pourquoi faire plus que d’appeler, à l’intérieur d’un logiciel de haut niveau, la fonction « solve » ? En réalité, il est toujours profitable de connaître le principe de fonctionnement des outils que l’on utilise afin de les employer au mieux et pour être conscient de leurs limites. De plus, il peut arriver qu’un programme, bien qu’immédiatement disponible, ne soit pas parfaitement adapté à l’usage prévu ; seul l’utilisateur bien informé pourra le modifier en connaissance de cause et étendre son domaine de validité. Enfin, la curiosité est une qualité légitime chez l’ingénieur ou le scientifique et ce livre aide à soulever les couvercles des « boîtes noires » que sont les algorithmes numériques.
C’est dans cette optique qu’a été conçu l’ouvrage que vous avez entre les mains : le principe de chaque algorithme important est présenté simplement, puis son fonction¬ nement est illustré par des exemples et les limites sont précisées.
Le livre est fait pour des scientifiques de niveau L2, L3 ou Ml en physique et physique appliquée. L’ouvrage est donc destiné aux étudiants et élèves ingénieurs, mais aussi à tous les utilisateurs de l’outil numérique, en particulier ceux qui ont peu de goût ou de temps pour les démonstrations rigoureuses et qui souhaitent aborder rapidement les applications concrètes.
Le texte est orienté vers la « physique numérique ». Il y a quinze ans, ce terme (ou plutôt ses équivalents anglais, « numerical physics » ou « computational physics ») suscitait une centaine de réponses sur un moteur de recherche. Il en évoque plusieurs millions aujourd’hui. Bien que cet ouvrage ne soit pas, au sens strict, un livre de phy¬ sique numérique, il s’en approche, par l’intermédiaire de certains exemples, exercices et projets.
Par rapport aux programmes habituels de mathématiques, sont inclus des chapitres qui ne font pas traditionnellement partie de l’analyse numérique comme les polynômes orthogonaux et un rappel de calcul des probabilités. Certains sujets qui, à l’expérience, semblent rébarbatifs, ont été omis, traités sommairement ou introduits assez tard dans le développement. D’autres, au contraire, qui paraissent plus motivants, ont été placés au début.
On trouve d’excellents livres d’analyse numérique en français. Ils s’adressent en général à un public de mathématiciens ou de futurs mathématiciens et sont aussi d’un niveau assez élevé. Nous renvoyons systématiquement à ces ouvrages (Crouzeix et Mignot, Schatzmann, Demailly, Allaire et Kaber, etc.) pour la plupart des démonstrations. Les aspects élémentaires, tels qu’on peut les assimiler pendant les deux premières années post-baccalauréat, ont été privilégiés.
Chaque fois que l’on traite de méthodes numériques, se pose la question du langage de programmation à utiliser. Si l’ouvrage contient quelques exemples de code rédigés en C/C++, en Java, en Python et en Maple, l’essentiel des exemples présentés est écrit en Scilab. Ce logiciel gratuit, puissant et facile à installer, intègre des fonctions graphiques de qualité raisonnable. Il permet la programmation à plusieurs niveaux : niveau global (fonctions telles que « fsolve » pour résoudre une équation non-linéaire ou « ode » pour intégrer une équation différentielle avec conditions initiales) jusqu’au niveau des opérations élémentaires. Cette souplesse est pédagogiquement utile et permet une vérification commode des programmes. Un autre avantage de Scilab est que la syntaxe en est fort simple et facilement assimilable par toute personne formée, même sommairement, à Fortran, C ou Java. Sa ressemblance avec Matlab, un logiciel très répandu, constitue un autre facteur positif.
Chaque chapitre est accompagné d’exercices qui ont été expérimentés par de nom¬ breuses promotions d’étudiants et qui peuvent illustrer utilement le sujet traité. Sont également proposés des énoncés de projets en textes « ouverts » : les données peuvent être incomplètes, la méthode à suivre est parfois décrite assez sommairement. La réalisation du projet demandera donc un investissement personnel certain mais, en contrepartie, permettra au lecteur de se familiariser avec des applications de l’analyse numérique plus proches du monde réel. La liste des questions proposées pour chaque projet n’est pas limitative et peut être complétée selon les intérêts de chacun. Les chapitres 1 à 3 constituent une sorte d’introduction ou de pré-requis avant d’ap¬ pliquer une quelconque méthode numérique. Visualiser une fonction est la meilleure façon de découvrir ses propriétés. La programmation détaillée du calcul d’une fonction, même élémentaire, est un exercice profitable, tant du point de vue de l’algorithmique que du point de vue de l’analyse numérique. Enfin, la construction de variables sans dimension est une étape obligée de toute simulation numérique.
L’analyse numérique proprement dite apparaît au chapitre 4 avec l’interpolation. Si la pratique de l’interpolation a beaucoup diminué depuis l’apparition des ordinateurs, son rôle théorique, comme fondement des méthodes d’intégration et de résolution des équations différentielles, est resté. Les méthodes les plus simples de résolution des équations non-linéaires sont présentées (chapitre 5), en consacrant un paragraphe spécial aux polynômes. Puis suit une brève description des familles de polynômes or¬ thogonaux et des leurs principales propriétés (chapitre 7). Bien que ces connaissances soient appliquées au chapitre suivant, lors de la construction de l’algorithme de GaussLegendre, cette partie peut être omise en première lecture. Les chapitres 8 et 9 sont consacrés au calcul numérique de dérivées et d’intégrales. Les algorithmes classiques sont passés en revue, y compris l’algorithme de Cooley-Tuckey pour la transformation de Fourier rapide L’algèbre linéaire est à l’honneur dans les chapitres 6 et 10. Tout d’abord, la résolution de systèmes d’équations linéaires (chapitre 6), y compris les systèmes surdéterminés, tels qu’on les rencontre lors de l’application de la méthode des moindres carrés. Ce chapitre est accompagné d’une annexe rassemblant quelques définitions et théorèmes d’algèbre linéaire. Le chapitre 10 traite du calcul des valeurs propres et des vecteurs propres.
Sont ensuite abordés les problèmes différentiels : équations différentielles ordinaires avec conditions initiales (chapitre 11), avec conditions aux limites (chapitre 12), puis équations aux dérivées partielles (chapitre 13).
L’ouvrage se termine par deux chapitres consacrés à des aspects non déterministes : quelques rudiments de probabilité appliqués à la propagation des erreurs expérimen¬ tales et au lissage par moindres carrés (chapitre 14) puis une description des méthodes de Monte Carlo.
De nombreux sujets ont dû être omis, soit parce qu’ils semblaient trop difficiles ou demandaient un exposé trop long. C’est notamment le cas des méthodes de descente et de gradient conjugué pour la résolution de systèmes linéaires, des méthodes modernes de résolution numérique des équations aux dérivées partielles (collocation, méthodes spectrales, éléments finis) et de la décomposition d’une matrice en valeurs singulières. Les lecteurs pourront compléter leur information grâce aux références et aux mots-clés fournis en fin de chapitre.
Pourquoi étudier (et enseigner) l’analyse numérique conçue de cette manière ? N’estil pas suffisant d’appuyer sur la touche « solve » d’une calculette pour résoudre une équation algébrique ? Si l’on veut vraiment utiliser un logiciel, pourquoi faire plus que d’appeler, à l’intérieur d’un logiciel de haut niveau, la fonction « solve » ? En réalité, il est toujours profitable de connaître le principe de fonctionnement des outils que l’on utilise afin de les employer au mieux et pour être conscient de leurs limites. De plus, il peut arriver qu’un programme, bien qu’immédiatement disponible, ne soit pas parfaitement adapté à l’usage prévu ; seul l’utilisateur bien informé pourra le modifier en connaissance de cause et étendre son domaine de validité. Enfin, la curiosité est une qualité légitime chez l’ingénieur ou le scientifique et ce livre aide à soulever les couvercles des « boîtes noires » que sont les algorithmes numériques.
C’est dans cette optique qu’a été conçu l’ouvrage que vous avez entre les mains : le principe de chaque algorithme important est présenté simplement, puis son fonction¬ nement est illustré par des exemples et les limites sont précisées.
Le livre est fait pour des scientifiques de niveau L2, L3 ou Ml en physique et physique appliquée. L’ouvrage est donc destiné aux étudiants et élèves ingénieurs, mais aussi à tous les utilisateurs de l’outil numérique, en particulier ceux qui ont peu de goût ou de temps pour les démonstrations rigoureuses et qui souhaitent aborder rapidement les applications concrètes.
Le texte est orienté vers la « physique numérique ». Il y a quinze ans, ce terme (ou plutôt ses équivalents anglais, « numerical physics » ou « computational physics ») suscitait une centaine de réponses sur un moteur de recherche. Il en évoque plusieurs millions aujourd’hui. Bien que cet ouvrage ne soit pas, au sens strict, un livre de phy¬ sique numérique, il s’en approche, par l’intermédiaire de certains exemples, exercices et projets.
Par rapport aux programmes habituels de mathématiques, sont inclus des chapitres qui ne font pas traditionnellement partie de l’analyse numérique comme les polynômes orthogonaux et un rappel de calcul des probabilités. Certains sujets qui, à l’expérience, semblent rébarbatifs, ont été omis, traités sommairement ou introduits assez tard dans le développement. D’autres, au contraire, qui paraissent plus motivants, ont été placés au début.
On trouve d’excellents livres d’analyse numérique en français. Ils s’adressent en général à un public de mathématiciens ou de futurs mathématiciens et sont aussi d’un niveau assez élevé. Nous renvoyons systématiquement à ces ouvrages (Crouzeix et Mignot, Schatzmann, Demailly, Allaire et Kaber, etc.) pour la plupart des démonstrations. Les aspects élémentaires, tels qu’on peut les assimiler pendant les deux premières années post-baccalauréat, ont été privilégiés.
Chaque fois que l’on traite de méthodes numériques, se pose la question du langage de programmation à utiliser. Si l’ouvrage contient quelques exemples de code rédigés en C/C++, en Java, en Python et en Maple, l’essentiel des exemples présentés est écrit en Scilab. Ce logiciel gratuit, puissant et facile à installer, intègre des fonctions graphiques de qualité raisonnable. Il permet la programmation à plusieurs niveaux : niveau global (fonctions telles que « fsolve » pour résoudre une équation non-linéaire ou « ode » pour intégrer une équation différentielle avec conditions initiales) jusqu’au niveau des opérations élémentaires. Cette souplesse est pédagogiquement utile et permet une vérification commode des programmes. Un autre avantage de Scilab est que la syntaxe en est fort simple et facilement assimilable par toute personne formée, même sommairement, à Fortran, C ou Java. Sa ressemblance avec Matlab, un logiciel très répandu, constitue un autre facteur positif.
Chaque chapitre est accompagné d’exercices qui ont été expérimentés par de nom¬ breuses promotions d’étudiants et qui peuvent illustrer utilement le sujet traité. Sont également proposés des énoncés de projets en textes « ouverts » : les données peuvent être incomplètes, la méthode à suivre est parfois décrite assez sommairement. La réalisation du projet demandera donc un investissement personnel certain mais, en contrepartie, permettra au lecteur de se familiariser avec des applications de l’analyse numérique plus proches du monde réel. La liste des questions proposées pour chaque projet n’est pas limitative et peut être complétée selon les intérêts de chacun. Les chapitres 1 à 3 constituent une sorte d’introduction ou de pré-requis avant d’ap¬ pliquer une quelconque méthode numérique. Visualiser une fonction est la meilleure façon de découvrir ses propriétés. La programmation détaillée du calcul d’une fonction, même élémentaire, est un exercice profitable, tant du point de vue de l’algorithmique que du point de vue de l’analyse numérique. Enfin, la construction de variables sans dimension est une étape obligée de toute simulation numérique.
L’analyse numérique proprement dite apparaît au chapitre 4 avec l’interpolation. Si la pratique de l’interpolation a beaucoup diminué depuis l’apparition des ordinateurs, son rôle théorique, comme fondement des méthodes d’intégration et de résolution des équations différentielles, est resté. Les méthodes les plus simples de résolution des équations non-linéaires sont présentées (chapitre 5), en consacrant un paragraphe spécial aux polynômes. Puis suit une brève description des familles de polynômes or¬ thogonaux et des leurs principales propriétés (chapitre 7). Bien que ces connaissances soient appliquées au chapitre suivant, lors de la construction de l’algorithme de GaussLegendre, cette partie peut être omise en première lecture. Les chapitres 8 et 9 sont consacrés au calcul numérique de dérivées et d’intégrales. Les algorithmes classiques sont passés en revue, y compris l’algorithme de Cooley-Tuckey pour la transformation de Fourier rapide L’algèbre linéaire est à l’honneur dans les chapitres 6 et 10. Tout d’abord, la résolution de systèmes d’équations linéaires (chapitre 6), y compris les systèmes surdéterminés, tels qu’on les rencontre lors de l’application de la méthode des moindres carrés. Ce chapitre est accompagné d’une annexe rassemblant quelques définitions et théorèmes d’algèbre linéaire. Le chapitre 10 traite du calcul des valeurs propres et des vecteurs propres.
Sont ensuite abordés les problèmes différentiels : équations différentielles ordinaires avec conditions initiales (chapitre 11), avec conditions aux limites (chapitre 12), puis équations aux dérivées partielles (chapitre 13).
L’ouvrage se termine par deux chapitres consacrés à des aspects non déterministes : quelques rudiments de probabilité appliqués à la propagation des erreurs expérimen¬ tales et au lissage par moindres carrés (chapitre 14) puis une description des méthodes de Monte Carlo.
De nombreux sujets ont dû être omis, soit parce qu’ils semblaient trop difficiles ou demandaient un exposé trop long. C’est notamment le cas des méthodes de descente et de gradient conjugué pour la résolution de systèmes linéaires, des méthodes modernes de résolution numérique des équations aux dérivées partielles (collocation, méthodes spectrales, éléments finis) et de la décomposition d’une matrice en valeurs singulières. Les lecteurs pourront compléter leur information grâce aux références et aux mots-clés fournis en fin de chapitre.