Initiation aux méthodes numériques
1- INTRODUCTION :
L’analyse numérique est une discipline des mathématiques qui s’intéresse aux
fondements théoriques ainsi qu’à la mise en pratique des méthodes permettant de résoudre
des problèmes d’analyse mathématique. Plus formellement, l’analyse numérique est l’étude
des algorithmes permettant de résoudre numériquement les problèmes mathématiques en
recherchant des solutions numériques survenant dans les sciences physiques et d’ingénierie.
L’accroissement de la disponibilité et de la puissance des ordinateurs a permis l’application
de l’analyse numérique dans de nombreux domaines scientifiques, techniques et
économiques, avec souvent des effets évolutionnaires.
Le champ de l’analyse numérique est divisé en différentes disciplines suivant le type
de problème à résoudre, et chaque discipline étudie diverses méthodes de résolution des
problèmes correspondants. Ce manuscrit est un support au cours d’analyse numérique en
troisième année Licence en Mécanique, il traite les domaines suivants :
Approximation et Interpolation : L’interpolation tente de résoudre ou d’approcher la solution
au problème suivant : étant donné la valeur connue d'une certaine fonction en un certain
nombre de points, quelle valeur prend cette fonction en un autre point quelconque situé
entre deux points donnés ? Une méthode très simple est d’utiliser l’interpolation linéaire,
qui suppose que la fonction inconnue évolue linéairement entre chaque paire de points
successifs connus. Cette méthode peut être généralisée en interpolation polynomiale, qui
est parfois plus précise et nécessite de plus petites tables de valeurs connues.
Évaluation des intégrales et des dérivées : L’intégration numérique, également connue
comme quadrature numérique, recherche la valeur d’une intégrale définie. Les méthodes
populaires sont basées sur les formules de Newton-Cotes (avec par exemple la méthode du
point médian ou la méthode des trapèzes). Pour les dérivées, on a la méthode d’Euler.
2
Initiation à l’analyse numérique
Résolution d’équations et systèmes d'équations : Un autre problème fondamental est le
calcul des solutions d’une équation donnée. Deux cas sont communément distingués,
suivant que l’équation est linéaire ou non. De nombreux efforts ont été consacrés au
développement de méthodes de résolution de systèmes d’équations linéaires. Les méthodes
directes incluent l’élimination de Gauss-Jordan, et la décomposition LU. Les méthodes
itératives telles que la méthode du gradient conjugué sont généralement préférées sur les
larges systèmes d’équations. Les algorithmes de recherche de racines d’une fonction sont
utilisés pour résoudre les équations non linéaires. Si la fonction est différentiable et que sa
dérivée est connue, alors la méthode de Newton est un choix populaire. La linéarisation est
une autre technique pour la résolution d’équations non linéaires.
2- ANALYSE NUMERIQUE ET CALCUL SCIENTIFIQUE :
La solution des problèmes scientifique passe en premier lieu par une représentation
mathématique, ces problèmes sont en général multiples et compliqués. Pour les
représenter, on est amené à négliger certains phénomènes et à simplifier certains autres.
Même avec ces simplifications, les équations obtenues sont souvent insolubles par les
méthodes algébriques connues. Il est alors nécessaire d’avoir recours à l’analyse numérique.
On peut définir le calcul scientifique comme la discipline qui permet de reproduire sur un
ordinateur un phénomène ou un processus décrit par un modèle mathématique.
Pour aborder le calcul numérique d’un problème physique réel, à l’aide d’un outil
informatique, on passe par les étapes suivantes [1] :
Description qualitative des phénomènes physiques : Cette étape est effectuée par des
spécialistes des phénomènes que l’on veut quantifier (ingénieurs, chimistes, biologistes …).
3
Initiation à l’analyse numérique
Description du
Modélisation Calcul Programmation
phénomene
mathématique numérique et résultats
physique
Erreurs de Erreurs de Erreurs
modélisation calcul numériques
Figure 1. Différentes étapes de résolution d’un problème physique.
Modélisation mathématique: Il s’agit, à partir de la description qualitative précédente,
d’écrire un modèle mathématique qui, dans la plupart des cas, n’a pas une solution
analytique. On fera donc appel à des techniques de résolution approchée. Il est bon de se
poser les questions suivantes :
Le problème est-il bien posé? C’est-à-dire y–a–t’il existence, unicité et stabilité de la
solution ?
Les propriétés physiques auxquelles on s’attend sont-elles satisfaites par les solutions
du modèle mathématique ?
Calcul numérique : Il est raisonnable de se demander si la solution numérique est proche du
problème réel. De même, si on doit mettre en œuvre une méthode itérative pour le
traitement des non-linéarités, il faut étudier la convergence de cette méthode itérative.
Mise en œuvre, programmation et analyse des résultats : La partie mise en œuvre est une
grosse consommatrice de temps. Actuellement, de nombreux codes commerciaux existent,
qui permettent en théorie de résoudre ”tous" les problèmes. Il faut cependant procéder à
une analyse critique des résultats obtenus par ces codes, qui ne sont pas toujours
compatibles avec les propriétés physiques attendues...
4
Initiation à l’analyse numérique
Exemple : Pour plus d’éclaircissement, prenons l’exemple d’une plaque plane rectangulaire
mince dans un milieu où règne une température Ta. La plaque est soumise à un flux de
chaleur constant en un seul côté (figure 2).
y y
Ta
Ta
x x
Ta
Figure 2. Exemple de la plaque plane régie par l’équation de Laplace.
Dans cet exemple le modèle mathématique choisi est l’équation de Laplace
bidimensionnelle, dans ce modèle les effets tridimensionnel et temporel sont négligés, d’où
les erreurs de modélisation. La méthode de résolution est celle des différences finies qui
transforme le domaine réel en un domaine de calcul discret, d’où l’erreur de calcul due à la
méthode. Enfin lors de la résolution sur ordinateur, il se génère des erreurs numériques
telles que celles d’arrondies ou de troncatures.
3- NOTIONS D’ERREURS [2], [3]:
L’étude des erreurs forme une partie importante de l’analyse numérique. La
différence entre la solution strictement mathématique (exacte) et la solution approchée
(numérique) fournit un terme d’erreur. Au niveau le plus élevé, on trouve l’erreur qui
provient du fait qu’on a réduit la réalité physique à un modèle mathématique. De telles
erreurs limitent l’application du modèle mathématique à certaines situations. On ne peut
généralement pas donner la solution explicite d’un modèle mathématique (qu’il soit exprimé
5
Initiation à l’analyse numérique
par une intégrale, une équation algébrique ou différentielle, un système linéaire ou non
linéaire). La résolution par des algorithmes numériques entraîne l’introduction et la
propagation d’erreurs d’arrondi. De plus, il est souvent nécessaire d’introduire d’autres
erreurs liées au fait qu’un ordinateur ne peut effectuer que de manière approximative des
calculs impliquant un nombre infini d’opérations arithmétiques. Par exemple, le calcul de la
somme d’une série ne pourra être accompli qu’en procédant à une troncature convenable.
On doit donc définir un problème numérique, dont la solution diffère de la solution
mathématique exacte d’une erreur, appelée erreur de troncature. La somme des erreurs
d’arrondis et de troncature constitue l’erreur de calcul.
Si on suppose que x est la solution exacte du modèle mathématique et que x* est la
solution approximative (obtenue à la fin de la résolution numérique), on définit l’erreur
absolue par:
| |
En pratique il est impossible d’évaluer l’erreur absolue car x est souvent inconnu par
conséquent, on introduit la notion de la borne supérieure de cette erreur notée et on a :
| |
Ce qui permet d’écrire : x = x* ±
Une valeur donnée de l’erreur peut entrainer de graves conséquences lorsque l'amplitude
de la valeur réelle est petite. Par exemple, 1036.52 0.010 peut-être d’une précision
suffisante, alors que 0.005 0,010 est catastrophique. Cependant, l’utilisation de l’erreur
relative peut éviter ce type de problèmes. On définit également l’erreur relative par:
| |
6
Initiation à l’analyse numérique
L’erreur relative est souvent exprimée en pourcentage (cela veut dire que l’erreur commise
représente une proportion de (er) % de la valeur estimée).
Dans les calculs scientifiques où les résultats varient considérablement en module,
c’est l’erreur relative qui est la plus utile, parce qu’elle est indépendante de l’échelle. Par
exemple, si au lieu de x on avait x et au lieu de x* on avait x* alors :
| | | |
3.1- Génération et propagation des erreurs :
Les erreurs introduites dans la solution d’un problème ont plusieurs origines. Les
erreurs d’arrondis surviennent car il est impossible de représenter en pratique tous les
nombres réels exactement sur une machine à états finis. Les erreurs de troncature sont
commises par exemple quand une méthode itérative est terminée et que la solution
approchée obtenue diffère de la solution exacte. De façon similaire, la discrétisation d’un
problème (aussi appelée quantification dans les applications pratiques de calcul numérique)
induit une erreur de discrétisation (erreur de quantification dans les applications pratiques)
car la solution du problème discret ne coïncide pas exactement avec la solution du problème
continu.
Une fois que l’erreur est générée, elle se propagera généralement tout au long du
calcul. Cela conduit à la notion de stabilité numérique : un algorithme est numériquement
stable si une erreur, une fois générée, ne croît pas trop durant le calcul (dans une méthode
de calcul itératif, une erreur trop grande peut dans certains cas faire diverger l’algorithme
qui ne parviendra pas à approcher la solution). Cela n’est possible que si le problème est
bien conditionné, ce qui signifie que la solution ne change que d'une faible quantité si les
données du problème sont changées d'un montant faible. Ainsi, si un problème est mal
7
Initiation à l’analyse numérique
conditionné, alors la moindre erreur dans les données provoquera une erreur très
importante dans la solution trouvée. Cependant, un algorithme qui résout un problème bien
conditionné peut être ou ne pas être numériquement stable. Tout l’art de l’analyse
numérique consiste à trouver un algorithme stable pour résoudre un problème
mathématique bien posé.
Les erreurs sont d’origines multiples, il y a principalement :
a. Erreurs de modèles : erreurs dues au choix du modèle mathématique, par exemple:
1. Ignorer la viscosité dans un modèle en mécanique des fluides.
2. Utiliser la mécanique classique plutôt que quantique en physique atomique.
3. Loi de Hooke (modèle linéaire) pour un ressort F = k x alors que F = k(x) x (modèle
non linéaire.
b- Erreurs numériques :
Erreurs de troncature : un processus infini est tronqué afin d’obtenir une procédure finie, ce
qui provoque des erreurs, par exemple :
∑ ∑
Erreurs d’arrondis (d’affectation) : Les réels ne peuvent pas être représentés dans
l’ordinateur, ils sont alors arrondis d’où les erreurs (1/3=0.333 or 0.333*3=0.999≠1).
Que vaut 0.1 en base 2 ? (0.1)2 = (0.0001100110011....)10
Cela ne peut pas être conservé exactement dans l’ordinateur!