Objectifs du chapitre
À la fin de ce chapitre, vous serez capable de:
- énoncer le problème d'interpolation, le distinguer de l'approximation au sens des moindres carrés, et démontrer qu'il possède une solution polynomiale de degré et une seule à travers nœuds distincts;
- expliquer pourquoi la matrice de Vandermonde résout le problème en théorie et le ruine en pratique, en estimant la croissance de son conditionnement ;
- construire le polynôme d'interpolation sous la forme de Lagrange et sous la forme de Newton, et dire laquelle choisir selon que les nœuds sont figés ou que l'on en ajoute;
- remplir un tableau de différences divisées, l'utiliser pour évaluer par le schéma de Horner, et relier à une dérivée -ième;
- démontrer la formule de l'erreur et lire ce que chacun de ses trois facteurs apporte;
- reconnaître le phénomène de Runge, savoir qu'augmenter le degré peut dégrader l'approximation, et choisir entre les nœuds de Tchebychev et l'interpolation par morceaux pour y échapper.
Le problème d'interpolation
Les cinq premiers chapitres ont traité des problèmes où la fonction était donnée par une formule que l'on pouvait évaluer autant de fois que nécessaire. Celui-ci part de la situation inverse: on ne dispose que d'un tableau de valeurs. Un capteur a enregistré une température toutes les dix minutes; une table thermodynamique donne l'enthalpie de la vapeur d'eau tous les dix degrés; un calcul coûteux de mécanique des fluides a livré une traînée pour six angles d'incidence. Et l'on a besoin d'une valeur entre deux mesures, ou d'une dérivée, ou d'une intégrale.
Deux remarques sur cette définition, qui déterminent tout le chapitre.
Le nombre de conditions égale le nombre de degrés de liberté. Un polynôme de s'écrit : il a coefficients, et (6.1) impose conditions. C'est un système carré, et la section suivante montre qu'il est toujours inversible. Avec moins de nœuds que de coefficients, la solution ne serait pas unique; avec davantage, elle n'existerait en général pas.
Interpoler n'est pas approcher. L'interpolation exige le passage exact par chaque point. C'est le bon choix quand les sont fiables — une table de valeurs mathématiques, le résultat d'un calcul déterministe. Ce n'est pas le bon choix quand les sont des mesures bruitées: y passer exactement, c'est reproduire le bruit, et le polynôme s'en trouve plus faux entre les points qu'une droite qui ne passerait par aucun. La démarche inverse — se donner une famille plus petite que le nombre de données et minimiser un écart plutôt que l'annuler — est l'approximation au sens des moindres carrés; elle fait, avec les splines, l'objet du chapitre 7, et le présent chapitre ne l'aborde pas. Retenez la frontière: si vos données sont exactes, interpolez; si elles sont bruitées, approchez.
Vous disposez de 40 mesures de température, entachées d'une incertitude de °C. Un collègue propose de les interpoler par un polynôme de degré 39. Quelle objection est la plus pertinente?
Existence et unicité
Démonstration. Écrivons le polynôme cherché dans la base canonique, . Les conditions (6.2) forment le système linéaire , où
est la matrice de Vandermonde des nœuds. Son déterminant vaut
produit non nul dès que les nœuds sont deux à deux distincts. La matrice est donc inversible, et le système admet une solution et une seule: existence et unicité sont acquises d'un coup.
Cette première démonstration a l'inconvénient d'invoquer (6.4), que nous n'avons pas établie. En voici une seconde, indépendante, qui n'utilise que le théorème fondamental de l'algèbre et qui donne l'unicité en trois lignes.
Unicité. Supposons que et appartiennent tous deux à et vérifient (6.2). Posons . Alors , donc est de degré au plus , et
Le polynôme possède donc racines distinctes. Or un polynôme non nul de degré au plus en a au plus . Donc est le polynôme nul, c'est-à-dire .
Existence. L'unicité que l'on vient d'obtenir dit que l'application linéaire , , est . Comme , le théorème du rang (Algèbre linéaire) la rend : tout vecteur est atteint, donc le polynôme cherché existe. La section suivante en donnera de surcroît une formule explicite, ce qui fournit une troisième preuve d'existence, entièrement constructive.
Chiffrons ce dernier point, car il est le plus important et le moins souvent montré. Prenons les nœuds équidistants de , construisons la matrice (6.3) et calculons en arithmétique (fractions rationnelles), pour éviter que la mesure du conditionnement soit elle-même victime du conditionnement.
| erreur observée sur |
|---|
La dernière colonne est une mesure, pas une prédiction: on a pris le polynôme , dont tous les coefficients valent exactement , on a formé , puis résolu par l'élimination de Gauss avec pivot partiel en double précision, et l'on reporte . À il ne reste que trois chiffres corrects sur seize; à , le coefficient le plus faux vaut au lieu de , c'est-à-dire qu'il . La majoration du chapitre 4, erreur relative , prédit correctement l'ordre de grandeur — elle est pessimiste d'un facteur 10 à 40, ce qui est le comportement habituel d'une borne du pire cas.
Le choix de l'intervalle n'y change rien d'essentiel. Sur avec , le conditionnement est bien plus doux mais croît de la même façon: il vaut exactement pour , pour , pour , puis , et atteint à — un facteur d'environ par degré supplémentaire. Aucune normalisation ne rend la base canonique utilisable en grand degré: ses éléments deviennent presque colinéaires sur un intervalle borné, et c'est cela, et non la faute de l'élimination de Gauss, que le conditionnement mesure.
Sur les nœuds équidistants de avec , le conditionnement de la matrice de Vandermonde vaut . Combien de chiffres significatifs corrects, au plus, pouvez-vous espérer sur les coefficients calculés en double précision? Donnez un entier.
La forme de Lagrange
La première écriture utile renverse le point de vue: au lieu de chercher les coefficients dans la base canonique, on fabrique une base de adaptée aux nœuds, dans laquelle les coefficients sont les données elles-mêmes.
Deux propriétés, et elles suffisent à tout.
Première propriété — le symbole de Kronecker. Pour tous ,
La vérification est immédiate: si , le facteur d'indice du numérateur vaut et annule tout le produit; si , chaque facteur vaut .
Seconde propriété — la partition de l'unité. Pour tout ,
La démonstration est un joli usage de l'unicité: la somme de gauche est un polynôme de degré au plus qui, d'après (6.6), vaut en chacun des nœuds; le polynôme constant aussi; le théorème 6.1 les identifie. Autrement dit, interpoler la fonction constante redonne la constante — une propriété que l'on aimerait trouver évidente et qu'il vaut mieux avoir démontrée, car elle sert de test de recette à toute implémentation.
Démonstration. Le membre de droite de (6.8) est une combinaison linéaire de polynômes de degré , donc appartient à . En , la propriété (6.6) annule tous les termes sauf celui d'indice , qui vaut :
Les conditions (6.2) sont donc satisfaites, ce qui prouve l'existence; l'unicité a été établie au théorème 6.1.
Pour la base: la famille compte éléments dans un espace de dimension , il suffit donc de vérifier qu'elle est libre. Si comme polynôme, alors en évaluant en on obtient pour chaque . Les coordonnées d'un polynôme dans cette base sont d'ailleurs lisibles sans aucun calcul: ce sont ses valeurs aux nœuds, .
Le coût, et son défaut
Comptons les opérations. Évaluer en un point par (6.8) demande, pour chaque , un produit de fractions: soustractions, divisions et multiplications, soit environ opérations. Multiplié par les valeurs de , cela fait environ
C'est un coût en , sans aucun calcul préparatoire: on peut évaluer sans jamais former ses coefficients. Voici l'implémentation directe, en Python:
def ell(i, xs, t):
"""i-eme polynome de Lagrange, evalue en t."""
p = 1.0
for k in range(len(xs)):
if k != i:
p *= (t - xs[k]) / (xs[i] - xs[k])
return p
def interpole_lagrange(xs, ys, t):
return sum(ys[i] * ell(i, xs, t) for i in range(
Onze lignes, deux boucles imbriquées: le coût de (6.9) se lit directement sur le code.
Le défaut est ailleurs. Les dénominateurs ne dépendent que des nœuds; on peut donc les calculer une fois pour toutes, et chaque évaluation ultérieure ne coûte plus que — c'est l'idée de la , standard aujourd'hui pour l'interpolation en grand degré. Mais si l'on , tous les changent: chacun gagne un facteur, chaque dénominateur doit être multiplié à nouveau, et il n'existe aucune façon de réutiliser pour obtenir . Le travail est entièrement à refaire. C'est précisément ce que la forme de Newton corrige.
Écrivez ell(i, xs, t), le -ième polynôme caractéristique de Lagrange évalué en , puis interpole_lagrange(xs, ys, t). Le programme affiche en , puis en , puis la somme des trois en .
La forme de Newton et les différences divisées
L'idée de Newton est de choisir une base triangulaire pour les nœuds: le premier élément ne voit que , le deuxième et , et ainsi de suite.
Cherchons sous la forme et écrivons les conditions d'interpolation dans l'ordre. En , tous les sauf s'annulent, donc . En , seuls et survivent, donc et . Le système est : chaque nouvelle condition détermine un nouveau coefficient sans toucher aux précédents. Cette structure est toute la valeur de la forme de Newton, et elle mérite un nom pour les coefficients.
Démonstration. Notons le polynôme d'interpolation de aux nœuds , de sorte que . Le polynôme est de degré au plus et s'annule en — car et y prennent tous deux la valeur . Il est donc divisible par :
pour un scalaire , qui est le coefficient de dans puisque est de degré au plus et unitaire. En sommant ces égalités pour et en ajoutant , on obtient
qui est bien de la forme (6.12). Il reste à identifier avec .
Montrons-le par récurrence sur , en établissant du même coup la récurrence (6.11). Pour , . Supposons le résultat vrai à l'ordre pour toute famille de nœuds. Soient le polynôme interpolant en et celui l'interpolant en . On vérifie directement que
est de degré au plus et interpole aux nœuds: en le premier terme s'annule et il reste ; en il reste ; et pour , , de sorte que le numérateur vaut . Par unicité, (6.13) . Identifions maintenant les coefficients de des deux membres: à gauche , à droite , où et sont les coefficients dominants de et de , égaux par hypothèse de récurrence à et . C'est exactement (6.11), donc .
La symétrie est alors immédiate: est le coefficient dominant du polynôme d'interpolation aux nœuds , et cet ne retient pas l'ordre.
Le tableau triangulaire
Les différences divisées se calculent en remplissant un tableau, colonne par colonne, chaque entrée étant la différence des deux entrées voisines de la colonne précédente, divisée par l'écart des nœuds extrêmes concernés. Les coefficients de (6.12) sont les entrées de la diagonale supérieure, c'est-à-dire la première de chaque colonne.
Le coût, et l'évaluation par Horner
Construire le tableau demande, pour la colonne , entrées, chacune coûtant deux soustractions et une division. Au total
Une fois les coefficients connus, on évalue par le schéma de Horner généralisé, qui factorise (6.12) de l'intérieur vers l'extérieur:
soit multiplications et additions, c'est-à-dire opérations par point — linéaire en , contre pour la forme de Lagrange évaluée naïvement. Pour tracer une courbe en 600 points avec , cela fait opérations par point au lieu de .
def differences_divisees(xs, ys):
"""Coefficients c[k] = f[x_0, ..., x_k] de la forme de Newton."""
c = list(ys)
for k in range(1, len(xs)):
for i in range(len(xs) - 1, k - 1, -1):
c[i] = (c[i] - c[i - 1]) / (xs[i] -
La boucle interne descend délibérément de la fin vers le début: elle écrase c[i] après avoir lu c[i-1], ce qui permet de tout faire sur place, dans un seul tableau de nombres, sans jamais matérialiser le triangle. Le triangle reste le bon objet pour comprendre; il n'est pas le bon objet pour programmer.
Vous avez déjà le polynôme d'interpolation de degré sous forme de Newton et vous recevez un nœud supplémentaire . Remettez dans l'ordre les étapes qui donnent au moindre coût.
Glissez les éléments pour les mettre dans le bon ordre
- Relever la dernière entrée obtenue, , comme nouveau coefficient
- Calculer de proche en proche les différences divisées d'ordre 1 à de cette nouvelle ligne
- Évaluer le nouveau polynôme par le schéma de Horner généralisé
- Ajouter la ligne au bas du tableau
- Ajouter à le terme , sans toucher aux coefficients précédents
Les différences divisées sont des dérivées déguisées
La notation pour un taux d'accroissement n'est pas un hasard: quand les nœuds se rapprochent, cette quantité tend vers . Le résultat général est le suivant.
Démonstration. Posons , où est le polynôme interpolant aux nœuds. Alors et s'annule en , soit zéros distincts. Le théorème de Rolle (Analyse I, chapitre 8) appliqué sur chacun des intervalles consécutifs donne zéros distincts de ; appliqué à nouveau, zéros de ; et après applications, zéro de , situé dans l'intervalle ouvert délimité par le plus petit et le plus grand des nœuds. Or est de degré au plus de coefficient dominant d'après le théorème 6.3, donc , une constante. De on tire
ce qui est (6.16).
Deux conséquences. D'abord, en faisant tendre tous les nœuds vers un même point , on obtient la différence divisée confluente , ce qui prolonge la définition (6.11) au cas de nœuds répétés — et c'est exactement le mécanisme de l'interpolation d'Hermite de la fin du chapitre. Ensuite, le tableau de différences divisées est un estimateur de dérivées: vérifions-le sur l'exemple 6.2. La différence d'ordre 2 vaut , donc pour un ; comme , une résolution numérique donne . De même l'ordre 3, , correspond à avec . Les deux existent bien et sont bien à l'intérieur.
Écrivez differences_divisees(xs, ys), qui renvoie la liste des coefficients de Newton, et evalue_newton(c, xs, t), qui évalue le polynôme par le schéma de Horner généralisé. Le programme affiche les quatre coefficients de l'exemple 6.2, à dix décimales.
La formule de l'erreur
Jusqu'ici, rien n'a dit à quelle distance se tient de entre les nœuds. C'est l'objet du théorème suivant, le plus important du chapitre: il structure tout ce qui suit, et il sert encore aux chapitres 7, 8 et 10.
Démonstration. Si est l'un des nœuds, les deux membres de (6.17) sont nuls et n'importe quel convient. Fixons donc distinct de tous les nœuds; alors , et l'on peut poser la constante
qui dépend du fixé mais plus de rien d'autre. Introduisons la fonction auxiliaire de la variable :
C'est le cœur de la démonstration, et il vaut la peine de dire pourquoi elle marche: est construite pour s'annuler une fois de plus que , et c'est cette annulation supplémentaire qui va, par Rolle, faire descendre l'information jusqu'à la dérivée d'ordre .
Régularité. par hypothèse, et sont des polynômes, donc .
Zéros de . En chaque nœud : par interpolation, et par définition de , donc . En : par le choix de ,
Comme est distinct des nœuds, possède au moins zéros distincts dans .
Descente de Rolle. Rangeons ces zéros par ordre croissant. Sur chacun des intervalles qu'ils délimitent, est continue, dérivable, et prend la même valeur aux deux extrémités: le théorème de Rolle (Analyse I, chapitre 8) y fournit un point où s'annule. Ces points sont deux à deux distincts puisqu'ils vivent dans des intervalles d'intérieurs disjoints. Donc possède au moins zéros distincts. Le même raisonnement appliqué à donne au moins zéros distincts de , puis pour , et ainsi de suite. Après applications, possède , que nous notons ; il appartient à l'intervalle ouvert délimité par le plus petit et le plus grand des zéros de départ, donc à .
Calcul de . Dérivons (6.19) exactement fois. Le polynôme est de degré au plus , donc . Le polynôme est , c'est-à-dire , donc . Il reste
Conclusion. En écrivant , on obtient , et en reportant dans la définition de ,
ce qui est (6.17). La majoration (6.18) s'en déduit en majorant séparément les deux facteurs sur .
Ce que chacun des trois facteurs apporte
La formule (6.17) est un produit de trois choses de natures très différentes, et savoir laquelle on maîtrise est ce qui permet d'agir.
Le facteur vient de la fonction, et on ne le choisit pas. Il mesure la «raideur» de à l'ordre . Pour un polynôme de degré il est nul, et l'interpolation est exacte — c'est le contrôle que nous avons utilisé dans les exercices de programmation. Pour ou , il est borné par quel que soit , et l'interpolation converge magnifiquement. Pour la fonction de Runge, il plus vite que la factorielle, et c'est toute l'histoire de la section suivante. Le point , lui, est inconnu et dépend de : (6.17) est une , pas une formule de calcul; en pratique on passe toujours par la majoration (6.18).
Le facteur est le seul qui pousse vers le bas, et il est très puissant — quand il gagne. La factorielle écrase tout: . C'est lui qui fait croire, à première lecture, qu'augmenter le degré améliore toujours l'approximation. Il ne gagne que si croît moins vite que , ce qui est vrai pour les fonctions entières d'ordre modeste et faux pour toute fonction ayant une singularité complexe proche de l'intervalle.
Le facteur est le seul que nous contrôlions. Il ne dépend que du placement des nœuds, pas de . Deux observations le concernant gouvernent la pratique. D'une part, il s'annule aux nœuds: l'erreur est nulle là et maximale entre eux, ce qui donne à l'erreur d'interpolation son allure caractéristique en festons. D'autre part, pour des nœuds équidistants, est : à sur , son maximum vaut et il est atteint dans les intervalles extrêmes (en ), alors que dans l'intervalle central il ne dépasse pas , soit . Minimiser par un meilleur choix de nœuds est le sujet de la section sur Tchebychev, et c'est le seul levier dont nous disposons.
Vous tabulez sur avec un pas constant et vous interpolez linéairement entre deux entrées voisines. Quelle est la plus grande valeur de qui garantisse une erreur inférieure ou égale à ?
Le phénomène de Runge
Nous arrivons au fait le plus contre-intuitif de ce chapitre. Toutes les analyses précédentes suggèrent qu'augmenter le nombre de nœuds améliore l'approximation; le facteur y pousse fortement. C'est faux en général, et le contre-exemple est devenu si célèbre qu'il porte le nom de son auteur, Carl Runge, qui le publia en 1901.
Interpolons-la sur des nœuds équidistants , pour , , , et mesurons l'erreur maximale sur une grille de points de .
| nœuds équidistants | nœuds de Tchebychev | |
|---|---|---|
| 5 | 0,433 | 0,556 |
| 10 | 1,92 | 0,109 |
| 15 | 2,11 | 0,083 |
Lisez d'abord la colonne du milieu. L'erreur maximale, déjà de pour , croît avec le degré: à , à . Elle dépasse donc largement l'amplitude de elle-même, qui vaut . Et cela continue: à l'erreur maximale atteint , et à elle vaut . Sur des nœuds équidistants, la suite vers ; elle diverge, et elle diverge vite.
Pourquoi, au regard de la formule de l'erreur
La formule (6.17) explique le phénomène, à condition de regarder les deux facteurs qui varient avec .
Le polynôme nodal des nœuds équidistants décroît: son maximum vaut à , à , à . Divisé par , c'est même une décroissance foudroyante. Le coupable est donc nécessairement , et on peut le calculer exactement. La décomposition en éléments simples
se dérive terme à terme et donne, au point ,
La dérivée d'ordre contient la factorielle en facteur. Le rapport qui apparaît dans (6.17) vaut donc
et il croît géométriquement au lieu de décroître. La factorielle, qui devait tout sauver, est exactement annulée. Ce qu'il reste, , croît: à .
D'où vient ce facteur ? De la position des pôles complexes de . La fonction (6.20) s'annule au dénominateur en : elle est parfaitement lisse sur l'axe réel, mais elle possède deux singularités à la distance de l'intervalle dans le plan complexe, et c'est cette distance qui fixe la vitesse . Une fonction réelle sans défaut visible peut donc être difficile à interpoler à cause de ce qui lui arrive hors de l'axe réel — l'un des rares endroits de ce cours où l'analyse complexe est indispensable à l'explication. La théorie correspondante (potentiel logarithmique, ellipses de Bernstein) relève d'un cours de théorie de l'approximation, et nous l'admettons ici: nous en retenons seulement le critère qualitatif, plus la singularité complexe la plus proche est près de l'intervalle, plus l'interpolation en grand degré est difficile.
Augmentez le nombre de nœuds avec les nœuds équidistants: l'erreur maximale se met à croître au lieu de décroître, et les oscillations naissent aux bords de l'intervalle. Passez ensuite aux nœuds de Tchebychev et refaites la même montée. Surveillez le dernier affichage, le rapport entre le maximum du polynôme nodal et 2 puissance moins n: il vaut exactement 1,000 pour Tchebychev quel que soit le degré — c'est la propriété minimax — et il s'envole pour les nœuds équidistants.
Laquelle de ces fonctions est facile à interpoler en grand degré sur avec des nœuds équidistants?
Les nœuds de Tchebychev
Puisque est le seul facteur de (6.17) que nous contrôlions, posons la question directement: quel placement des nœuds rend le plus petit possible? La réponse est complète et elle est explicite.
Deux lectures de (6.23), toutes deux utiles. La première est algébrique: ce sont les racines d'un cosinus composé. La seconde est géométrique et c'est celle qu'il faut retenir: on place points également espacés en angle sur le demi-cercle unité, puis on les projette verticalement sur le diamètre. La projection resserre les points près des extrémités et les écarte au centre — exactement l'inverse de ce dont on aurait spontanément envie, et exactement ce qu'il faut.
Démonstration. La seconde partie découle de la première: est unitaire de degré et s'annule aux racines de ; comme a pour coefficient dominant , le polynôme est unitaire et possède les mêmes racines, donc lui est égal. D'où (6.25), puisque avec égalité atteinte.
La première partie, l'optimalité (6.24), est admise. La démonstration usuelle est un raisonnement par l'absurde qui exploite l'équi-oscillation: si un polynôme unitaire vérifiait , la différence , de degré au plus , changerait de signe aux points où atteint alternativement , et aurait donc racines — contradiction. Cet argument est court, mais il est le premier cas particulier du , qui gouverne toute l'approximation uniforme et dont la place est un cours de théorie de l'approximation; nous nous contentons ici du résultat et de sa lecture graphique sur la figure 6.3, où l'égalité de toutes les crêtes se voit directement.
Le passage à un intervalle quelconque
Les formules précédentes vivent sur . Pour un intervalle quelconque, on utilise le changement de variable affine
qui envoie sur . Les nœuds de Tchebychev de sont donc
Chaque facteur étant multiplié par , la borne (6.26) devient
La colonne de droite du tableau, et la ligne qu'il ne faut pas cacher
Revenons à la fonction de Runge, maintenant interpolée aux nœuds de Tchebychev, et relisons le tableau complet.
| nœuds équidistants | nœuds de Tchebychev | |
|---|---|---|
| 5 | 0,433 | 0,556 |
| 10 | 1,92 | 0,109 |
| 15 | 2,11 | 0,083 |
À , Tchebychev est moins bon: contre . Ce n'est pas une erreur de calcul, c'est le comportement réel, et la raison en est parfaitement lisible. Les deux erreurs maximales sont atteintes en , au sommet de la fonction, là où aucune des deux familles n'a de nœud. Or les nœuds équidistants les plus proches de sont , tandis que ceux de Tchebychev sont : la répartition de Tchebychev, en resserrant les points vers les bords, dégarnit le centre, et à degré le centre est exactement ce qui compte, puisque c'est là que se trouve toute la structure de .
Cette ligne mérite d'être imprimée plutôt que cachée. L'avantage des nœuds de Tchebychev est asymptotique: il porte sur le comportement quand , pas sur chaque degré pris isolément. À le rapport est déjà de en faveur de Tchebychev, à de , à de — mais à il est défavorable. Un cours qui ne montrerait que les deux dernières lignes enseignerait un slogan («Tchebychev, c'est mieux») au lieu d'un résultat.
Un dernier point d'honnêteté, et il est important. La borne (6.26) ne démontre pas la convergence observée. Avec (6.21), , de sorte que (6.26) donne , qui diverge. Et pourtant l'erreur mesurée décroît: à , à , à , à . Le rapport géométrique observé entre et est de par degré. La théorie qui prédit ce nombre est celle des ellipses de Bernstein: la singularité se trouve sur l'ellipse de paramètre , et la convergence de l'interpolation de Tchebychev y est géométrique de raison . La coïncidence des deux nombres, mesuré contre prédit, est excellente — mais elle relève d'un résultat que ce cours , faute d'y disposer de l'analyse complexe nécessaire. Retenez-en que (6.18) est une , parfois très pessimiste, et qu'un majorant qui diverge ne prouve jamais qu'une suite diverge.
Écrivez noeuds_tchebychev(a, b, n), qui renvoie la liste des nœuds de Tchebychev de l'intervalle , d'après la formule (6.28). Le programme affiche les quatre nœuds obtenus pour , et , à six décimales.
Les deux autres sorties
Les nœuds de Tchebychev règlent le problème lorsqu'on choisit où mesurer. Ce n'est pas toujours le cas: une centrale d'acquisition échantillonne à intervalles réguliers, une table publiée impose ses entrées. Deux autres stratégies existent alors.
Baisser le degré et découper: l'interpolation par morceaux
La formule (6.18) contient et , tous deux pris sur l'intervalle entier. Rien n'oblige à utiliser un seul polynôme sur tout . Découpons en sous-intervalles de longueur et interpolons de degré 1 sur chacun: la borne devient sur chaque morceau, donc sur l'ensemble, et elle tend vers zéro comme quand on raffine — sans aucune condition sur les dérivées d'ordre élevé de , puisque seule intervient. La divergence de Runge disparaît, parce que c'est le degré, et non le nombre de points, qui la provoquait.
Le prix est la régularité: la ligne brisée obtenue est continue mais pas dérivable aux nœuds. Les splines cubiques rétablissent la dérivabilité, et même la continuité de la dérivée seconde, en recollant des polynômes de degré 3 avec les bonnes conditions de raccord. Elles sont l'objet du chapitre 7, avec l'approximation au sens des moindres carrés — les deux réponses aux deux défauts de l'interpolation polynomiale globale, le phénomène de Runge d'une part, le bruit des données d'autre part. Sur la fonction de Runge elle-même, la spline cubique sur les mêmes nœuds équidistants est excellente là où le polynôme de degré 15 se déchaîne: c'est la comparaison qui ouvre ce chapitre 7.
Imposer aussi les dérivées: l'interpolation d'Hermite
L'autre direction consiste à demander davantage en chaque nœud, plutôt que davantage de nœuds.
En pratique on ne repart pas de zéro: il suffit de dédoubler chaque nœud dans le tableau des différences divisées, en remplaçant la différence indéfinie par sa valeur confluente , conformément au théorème 6.4. Tout le reste du tableau et le schéma de Horner (6.15) fonctionnent sans modification. La formule d'erreur, établie par le même argument de fonction auxiliaire que le théorème 6.5, devient
avec les carrés qui traduisent la multiplicité double des nœuds. L'ordre est donc doublé pour un même nombre de nœuds.
Ce que cela coûte: il faut connaître les dérivées . Sur une fonction analytique c'est souvent gratuit; sur des données mesurées, c'est le plus souvent impossible, et les estimer par différences finies revient à réintroduire l'erreur qu'on cherchait à éliminer. C'est pourquoi l'interpolation d'Hermite est surtout employée là où les pentes sont naturellement disponibles: le cas le plus important est la spline cubique d'Hermite par morceaux du chapitre 7. La même idée — un interpolant qui respecte aussi les dérivées — sert encore à reconstituer une solution continue entre les pas d'une méthode à un pas: le schéma a déjà évalué les pentes pour avancer, et il ne coûte donc rien de les réutiliser pour interpoler à l'intérieur du pas.
Assemblez les briques du chapitre: écrivez erreur_max(noeuds), qui interpole la fonction de Runge sur ces nœuds et renvoie l'erreur maximale mesurée sur une grille de 2001 points de l'intervalle allant de à . Le programme affiche la première ligne du tableau du chapitre, pour .
Synthèse
- Le problème d'interpolation impose le passage exact par points de nœuds distincts, et il admet une solution polynomiale de degré et une seule (théorème 6.1): la différence de deux solutions aurait racines pour un degré au plus . Il se distingue de l'approximation au sens des moindres carrés, qui minimise un écart au lieu de l'annuler et qui est le sujet du chapitre 7; on interpole des données fiables, on approche des données bruitées.
- La matrice de Vandermonde prouve l'existence mais ne doit jamais servir à calculer: son conditionnement vaut à et à sur les nœuds équidistants de , et la résolution en double précision ne laisse plus aucun chiffre correct au-delà du degré 18.
Combien de polynômes de degré au plus 4 passent par les cinq points , , , , ?
Exercices
Vous pouvez afficher le corrigé directement sous chaque énoncé après avoir cherché la solution.
On considère les données , , .
- Écrire les trois polynômes caractéristiques de Lagrange et en déduire sous forme développée.
On veut tabuler sur à pas constant , avec interpolation linéaire entre deux entrées, et garantir une erreur inférieure ou égale à .
On interpole sur avec , une fois sur les nœuds équidistants , une fois sur les nœuds de Tchebychev , , .
On reprend la matrice de Vandermonde des nœuds équidistants de , dont le conditionnement vaut pour et pour .
Soit une fonction et des nœuds deux à deux distincts.
- Montrer que pour tout entier avec , pour tout . Le cas redonne (6.7).
Références
- Quarteroni, A., Sacco, R. et Saleri, F., Méthodes numériques — algorithmes, analyse et applications, Springer, Milan, chap. 8 (interpolation polynomiale, différences divisées, interpolation de Tchebychev).
- Rappaz, J. et Picasso, M., Introduction à l'analyse numérique, Presses polytechniques et universitaires romandes, Lausanne, chap. 4.
- Burden, R. L. et Faires, J. D., Numerical Analysis, Cengage, Boston, chap. 3 (Lagrange, Newton, Hermite).
- Trefethen, L. N., Approximation Theory and Approximation Practice, SIAM, Philadelphie (la référence moderne sur les nœuds de Tchebychev, les ellipses de Bernstein et la forme barycentrique).
- Berrut, J.-P. et Trefethen, L. N., «Barycentric Lagrange Interpolation», SIAM Review, vol. 46, n° 3, 2004.
- Schatzman, M., Analyse numérique — une approche mathématique, Dunod, Paris, chap. 5.