Algorithme de Horner en Analyse Numérique
Algorithme de Horner en Analyse Numérique
Didier Schmitt
IECL
Printemps 2022
Algorithme de Hörner
L’algorithme de Hörner repose sur la factorisation suivante du polynôme :
Algorithme de Hörner
L’algorithme de Hörner repose sur la factorisation suivante du polynôme :
Introduction
L’approximation d’une fonction f consiste à chercher une fonction g
la ”plus proche possible” de f en un sens donné.
Introduction
L’approximation d’une fonction f consiste à chercher une fonction g
la ”plus proche possible” de f en un sens donné.
Nous chercherons principalement à approximer une fonction par des
fonctions polynômes.
Introduction
L’approximation d’une fonction f consiste à chercher une fonction g
la ”plus proche possible” de f en un sens donné.
Nous chercherons principalement à approximer une fonction par des
fonctions polynômes.
En effet nous avons le théorème suivant
Théorème de Weierstrass
Toute fonction continue sur un segment [a, b] est limite uniforme de
fonctions polynomiales sur ce segment.
Autrement dit, pour tout > 0, il existe un polynôme P tel que
Introduction
Dans la pratique, la fonction f sera connue uniquement par ses
valeurs en certains points x0 , .., xn .
Introduction
Dans la pratique, la fonction f sera connue uniquement par ses
valeurs en certains points x0 , .., xn .
À partir de la connaissance de f en ces points, nous souhaitons
”reconstruire le mieux possible” cette fonction i.e. trouver une
”bonne” approximation de f .
Introduction
Dans la pratique, la fonction f sera connue uniquement par ses
valeurs en certains points x0 , .., xn .
À partir de la connaissance de f en ces points, nous souhaitons
”reconstruire le mieux possible” cette fonction i.e. trouver une
”bonne” approximation de f .
On pourra imposer à l’approximation de passer exactement par les
points donnés. Dans ce cas, on parle d’interpolation.
Interpolation polynomiale
Interpolation de Lagrange
Interpolation de Lagrange
Théorème
Il existe un et un seul polynôme Pn de degré inférieur ou égal à n vérifiant
Le polynôme s’écrit
n
X Y (x − xk )
Pn (x) = f (xi ) Li (x) avec Li (x) = .
(xi − xk )
i=0 k=0 k6=i
Interpolation de Lagrange
Théorème
Il existe un et un seul polynôme Pn de degré inférieur ou égal à n vérifiant
Le polynôme s’écrit
n
X Y (x − xk )
Pn (x) = f (xi ) Li (x) avec Li (x) = .
(xi − xk )
i=0 k=0 k6=i
Interpolation de Lagrange
Théorème
Il existe un et un seul polynôme Pn de degré inférieur ou égal à n vérifiant
Le polynôme s’écrit
n
X Y (x − xk )
Pn (x) = f (xi ) Li (x) avec Li (x) = .
(xi − xk )
i=0 k=0 k6=i
Interpolation de Lagrange
Démonstration
Existence
Le polynôme Pn ainsi défini est un polynôme de degré n et comme
Li (xj ) = δij , il vérifie bien
Interpolation de Lagrange
Démonstration
Existence
Le polynôme Pn ainsi défini est un polynôme de degré n et comme
Li (xj ) = δij , il vérifie bien
Unicité
Soit Q un autre polynôme solution. Alors
Interpolation de Lagrange
(x − x1 ) (x − x0 )
P1 (x) = f (x0 ) + f (x1 ) ,
(x0 − x1 ) (x1 − x0 )
ce qui s’écrit encore
f (x1 ) − f (x0 )
P1 (x) = f (x0 ) + (x − x0 ) .
x1 − x0
Interpolation de Lagrange
Exemple :
3,2
2,4
1,6
0,8
-0,8
Interpolation de Lagrange
Exemple :
3,2
2,4
1,6
0,8
-0,8
Interpolation de Lagrange
Exemple :
3,2
2,4
1,6
0,8
-0,8
Interpolation de Lagrange
Exemple :
3,2
2,4
1,6
0,8
-0,8
Quelques exemples
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
-4 -3 -2 -1 0 1 2 3 4
Quelques exemples
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
-4 -3 -2 -1 0 1 2 3 4
Quelques exemples
0.5
-0.5
-1
-1.5
-4 -3 -2 -1 0 1 2 3 4
Quelques exemples
0.5
-0.5
-1
-1.5
-4 -3 -2 -1 0 1 2 3 4
Quelques exemples
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Quelques exemples
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Quelques exemples
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Quelques exemples
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Quelques exemples
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Quelques exemples
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Quelques exemples
0.6
0.4
0.2
-0.2
-0.4
-5 -4 -3 -2 -1 0 1 2 3 4 5
Quelques exemples
0.6
0.4
0.2
-0.2
-0.4
-5 -4 -3 -2 -1 0 1 2 3 4 5
Quelques exemples
-1
-5 -4 -3 -2 -1 0 1 2 3 4 5
Théorème
Soit f : [a, b] −→ R, (n + 1) fois continument dérivable et Pn le
polynôme d’interpolation de Lagrange aux points (xi , f (xi ))i∈J0,nK .
Nous avons, alors
Mn+1
∀ x ∈ [a, b], |En (x)| ≤ |πn (x)|
(n + 1)!
où
Mn+1 = max f (n+1) (x)
x∈[a,b]
et
n
Y
∀x ∈ [a, b], πn (x) = (x − xi ).
i=0
On a Mn+1 ≤ 1.
On a Mn+1 ≤ 1.
On obtient aussi facilement la majoration |πn (x)| ≤ (b − a)n+1 (pour
tout choix des n + 1 points xi ).
On a Mn+1 ≤ 1.
On obtient aussi facilement la majoration |πn (x)| ≤ (b − a)n+1 (pour
tout choix des n + 1 points xi ).
Donc
(b − a)n+1
∀x ∈ [a, b] , |f (x) − Pn (x)| ≤
(n + 1)!
On a Mn+1 ≤ 1.
On obtient aussi facilement la majoration |πn (x)| ≤ (b − a)n+1 (pour
tout choix des n + 1 points xi ).
Donc
(b − a)n+1
∀x ∈ [a, b] , |f (x) − Pn (x)| ≤
(n + 1)!
Et par conséquent
Exemple
-0.5
-5 -4 -3 -2 -1 0 1 2 3 4 5
Erreur d'interpolation
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-5 -4 -3 -2 -1 0 1 2 3 4 5
Exemple
0.4
0.2
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Erreur d'interpolation
0.8
0.6
0.4
0.2
-0.2
-5 -4 -3 -2 -1 0 1 2 3 4 5
Exemple
0.4
0.2
-0.2
-5 -4 -3 -2 -1 0 1 2 3 4 5
Erreur d'interpolation
0.4
0.2
-0.2
-0.4
-0.6
-5 -4 -3 -2 -1 0 1 2 3 4 5
Exemple
0.4
0.2
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Erreur d'interpolation
0.3
0.2
0.1
-0.1
-5 -4 -3 -2 -1 0 1 2 3 4 5
Exemple
0.4
0.2
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Erreur d'interpolation
0.05
-0.05
-5 -4 -3 -2 -1 0 1 2 3 4 5
Exemple
0.4
0.2
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Erreur d'interpolation
0.01
0.005
-0.005
-0.01
-5 -4 -3 -2 -1 0 1 2 3 4 5
Remarques
L’écriture du polynôme d’interpolation dans la base de Lagrange est
facile à obtenir et intéressante d’un point de vue théorique, mais peu
du point de vue numérique.
Remarques
L’écriture du polynôme d’interpolation dans la base de Lagrange est
facile à obtenir et intéressante d’un point de vue théorique, mais peu
du point de vue numérique.
L’évaluation du polynôme exprimé dans cette base requiert trop
d’opérations élémentaires !
Remarques
L’écriture du polynôme d’interpolation dans la base de Lagrange est
facile à obtenir et intéressante d’un point de vue théorique, mais peu
du point de vue numérique.
L’évaluation du polynôme exprimé dans cette base requiert trop
d’opérations élémentaires !
Remarques
Tout polynôme de degré inférieur ou égal à n peut se mettre sous
cette forme dès que les xi sont tous distincts.
Le coefficient ann est aussi le coefficient de x n dans Pn écrit sous sa
forme usuelle.
Avantages
On peut utiliser l’algorithme d’Hörner pour évaluer ce polynôme
Pn (x) = a0n +(x−x0 ) a1n + (x − x1 ) a2n + ... + (x − xn−2 )(an−1
n
+ (x − xn−1 )an )
Avantages
On peut utiliser l’algorithme d’Hörner pour évaluer ce polynôme
Pn (x) = a0n +(x−x0 ) a1n + (x − x1 ) a2n + ... + (x − xn−2 )(an−1
n
+ (x − xn−1 )an )
La partie tronquée
Avantages
On peut utiliser l’algorithme d’Hörner pour évaluer ce polynôme
Pn (x) = a0n +(x−x0 ) a1n + (x − x1 ) a2n + ... + (x − xn−2 )(an−1
n
+ (x − xn−1 )an )
La partie tronquée
Théorème
Le polynôme d’interpolation de Lagrange de la fonction f aux points
distincts (xi , f (xi ))i∈J0,nK est donné par :
n
X i−1
Y
Pn (x) = f [x0 ] + f [x0 , x1 , ...xi ] (x − xk )
i=1 k=0
f (xn+1 ) = f [xn+1 ]
Remarques
Nous avons (n+1)(n+2)
2 coefficients à calculer pour obtenir les (n + 1)
coefficients de la formule.
Remarques
Nous avons (n+1)(n+2)
2 coefficients à calculer pour obtenir les (n + 1)
coefficients de la formule.
On peut songer à utiliser un tableau bi-dimensionel (n + 1) × (n + 2)
pour stocker ces coefficients.
Remarques
Nous avons (n+1)(n+2)
2 coefficients à calculer pour obtenir les (n + 1)
coefficients de la formule.
On peut songer à utiliser un tableau bi-dimensionel (n + 1) × (n + 2)
pour stocker ces coefficients.
Toutefois un vecteur à (n + 1) composantes suffira !
f [x1 ]
f [x2 ]
.
.
.
f [xn ]
Algorithme d’Hörner
b := dn
pour tous les i de n − 1 à 0 faire
b := di + (x − xi )b
Remarque
Avec cet algorithme, il est toujours très facile d’ajouter un point
d’abscisse x−1 et d’obtenir les coefficients du polynôme Pn+1 sans être
obligé de refaire tous les calculs.
Remarque
Avec cet algorithme, il est toujours très facile d’ajouter un point
d’abscisse x−1 et d’obtenir les coefficients du polynôme Pn+1 sans être
obligé de refaire tous les calculs.
f (x0 ) = f [x0 ]
&
f (x1 ) = f [x1 ] → f [x0 , x1 ]
& &
f (x2 ) = f [x2 ] → f [x1 , x2 ] → f [x0 , x1 , x2 ]
& & &
. . . ..
. . . .
. . .
& & &
f (xn ) = f [xn ] → f [xn−1 , xn ] → f [xn−2 , xn−1 , xn ] → ··· → f [x0 x1 , . . . , xn ]
Remarque
Avec cet algorithme, il est toujours très facile d’ajouter un point
d’abscisse x−1 et d’obtenir les coefficients du polynôme Pn+1 sans être
obligé de refaire tous les calculs.
f (x−1 ) = f [x−1 ]
f (x0 ) = f [x0 ]
&
f (x1 ) = f [x1 ] → f [x0 , x1 ]
& &
f (x2 ) = f [x2 ] → f [x1 , x2 ] → f [x0 , x1 , x2 ]
& & &
. . . ..
. . . .
. . .
& & &
f (xn ) = f [xn ] → f [xn−1 , xn ] → f [xn−2 , xn−1 , xn ] → ··· → f [x0 x1 , . . . , xn ]
Remarque
Avec cet algorithme, il est toujours très facile d’ajouter un point
d’abscisse x−1 et d’obtenir les coefficients du polynôme Pn+1 sans être
obligé de refaire tous les calculs.
f (x−1 ) = f [x−1 ]
&
f (x0 ) = f [x0 ] → f [x−1 , x0 ]
&
f (x1 ) = f [x1 ] → f [x0 , x1 ]
& &
f (x2 ) = f [x2 ] → f [x1 , x2 ] → f [x0 , x1 , x2 ]
& & &
. . . ..
. . . .
. . .
& & &
f (xn ) = f [xn ] → f [xn−1 , xn ] → f [xn−2 , xn−1 , xn ] → ··· → f [x0 x1 , . . . , xn ]
Remarque
Avec cet algorithme, il est toujours très facile d’ajouter un point
d’abscisse x−1 et d’obtenir les coefficients du polynôme Pn+1 sans être
obligé de refaire tous les calculs.
f (x−1 ) = f [x−1 ]
&
f (x0 ) = f [x0 ] → f [x−1 , x0 ]
& &
f (x1 ) = f [x1 ] → f [x0 , x1 ] → f [x−1 , x0 , x1 ]
& &
f (x2 ) = f [x2 ] → f [x1 , x2 ] → f [x0 , x1 , x2 ]
& & &
. . . ..
. . . .
. . .
& & &
f (xn ) = f [xn ] → f [xn−1 , xn ] → f [xn−2 , xn−1 , xn ] → ··· → f [x0 x1 , . . . , xn ]
Remarque
Avec cet algorithme, il est toujours très facile d’ajouter un point
d’abscisse x−1 et d’obtenir les coefficients du polynôme Pn+1 sans être
obligé de refaire tous les calculs.
f (x−1 ) = f [x−1 ]
&
f (x0 ) = f [x0 ] → f [x−1 , x0 ]
& &
f (x1 ) = f [x1 ] → f [x0 , x1 ] → f [x−1 , x0 , x1 ]
& &
f (x2 ) = f [x2 ] → f [x1 , x2 ] → f [x0 , x1 , x2 ]
& & &
. . . ..
. . . .
. . .
& & &
f (xn ) = f [xn ] → f [xn−1 , xn ] → f [xn−2 , xn−1 , xn ] → ··· → f [x0 x1 , . . . , xn ]
et ainsi de suite...
Didier Schmitt IECL
Analyse Numérique
Interpolation et approximation
Interpolation polynomiale
-0.5
-1
-1.5
-4 -3 -2 -1 0 1 2 3 4
Erreur d'interpolation
0.01
0.005
-0.005
-0.01
-4 -3 -2 -1 0 1 2 3 4
-0.5
-1
-4 -3 -2 -1 0 1 2 3 4
0.5
-0.5
-1
-1.5
-4 -3 -2 -1 0 1 2 3 4
-0.5
-1
-4 -3 -2 -1 0 1 2 3 4
Erreur d'interpolation
1
0.5
-0.5
-1
-4 -3 -2 -1 0 1 2 3 4
-0.5
-1
-4 -3 -2 -1 0 1 2 3 4
-1
-2
-3
-4 -3 -2 -1 0 1 2 3 4
avec
n
Y
∀ i ∈ J0, nK, ωi = (xi − xk ).
k=0
k6=i
n
P f (xi )
(x−xi )ωi
i=0
Pn (x) = n
1
P
(x−xi )ωi
i=0
Remarques
Cette formule n’est valable que pour x 6= xi ∀ i ∈ J0, nK.
Toutefois, pour x = xi , Pn (xi ) = f (xi ) qui est connu !
Il est nécessaire de calculer les (n + 1) coefficients (ωi ). Toutefois, ce
calcul ne sera fait qu’une seule fois !
-0.5
-1
-4 -3 -2 -1 0 1 2 3 4
0.5
-0.5
-1
-1.5
-4 -3 -2 -1 0 1 2 3 4
Interpolation d’Hermite
Objectif
Soit f définie sur un intervalle [a, b] et soient x0 , . . . , xn n + 1 points de
[a, b]. l’objectif est de construire un polynôme d’interpolation P de f
vérifiant :
non seulement P(xi ) = f (xi ) pour tout 0 ≤ i ≤ n
Interpolation d’Hermite
Objectif
Soit f définie sur un intervalle [a, b] et soient x0 , . . . , xn n + 1 points de
[a, b]. l’objectif est de construire un polynôme d’interpolation P de f
vérifiant :
non seulement P(xi ) = f (xi ) pour tout 0 ≤ i ≤ n
mais aussi P 0 (xi ) = f 0 (xi ) pour tout 0 ≤ i ≤ n
Interpolation d’Hermite
Objectif
Soit f définie sur un intervalle [a, b] et soient x0 , . . . , xn n + 1 points de
[a, b]. l’objectif est de construire un polynôme d’interpolation P de f
vérifiant :
non seulement P(xi ) = f (xi ) pour tout 0 ≤ i ≤ n
mais aussi P 0 (xi ) = f 0 (xi ) pour tout 0 ≤ i ≤ n
Interpolation d’Hermite
Théorème
Il existe un unique polynôme Pn de degré (2n + 1) vérifiant
Pn (xi ) = f (xi ), Pn0 (xi ) = f 0 (xi ) ∀i = 0, 1, . . . , n.
Le polynôme s’écrit
n
X n
X
Pn (x) = f (xi )Hi (x) + f 0 (xi )H̃i (x)
i=0 i=0
avec
Hi (x) = 1 − 2L0i (xi )(x − xi ) L2i (x) H̃i (x) = (x − xi )L2i (x).
et
Théorème
Soit f : [a, b] −→ R, (2n + 2) fois continument différentiable et Pn le
polynôme d’interpolation d’Hermite aux points (xi , f (xi ))i∈J0,nK . Nous
avons alors
M2n+2 2
|En (x)| ≤ π (x)
(2n + 2)! n
où
M2n+2 = max f (2n+2) (x)
x∈[a,b]
et
n
Y
∀ x ∈ [a, b], πn (x) = (x − xi ).
i=0
Introduction
Pour éviter les instabilités du type phénomènes de Runge, on peut faire
de l’interpolation polynomiale de degré peu élevé sur des intervalles de
petites tailles :
étant donnée f : [a, b] → R connue en (n + 1) abscisses
a = x0 < x1 < ... < xn = b, on l’interpole par des fonctions continues
dont la restriction à chaque intervalle [xi−1 , xi ] est polynomiale.
f (xi ) − f (xi−1 )
Pi (x) = f (xi−1 ) + (x − xi−1 )
(xi − xi−1 )
= f [xi−1 ] + f [xi−1 , xi ] (x − xi−1 )
f (xi ) − f (xi−1 )
Pi (x) = f (xi−1 ) + (x − xi−1 )
(xi − xi−1 )
= f [xi−1 ] + f [xi−1 , xi ] (x − xi−1 )
1,2
0,8
0,4
-0,4
-0,8
-1,2
f (xi ) − f (xi−1 )
Pi (x) = f (xi−1 ) + (x − xi−1 )
(xi − xi−1 )
= f [xi−1 ] + f [xi−1 , xi ] (x − xi−1 )
1,2
0,8
0,4
-0,4
-0,8
-1,2
Généralisation
sur chaque intervalle [xi , xi+1 ], on construit un polynôme
d’interpolation de Lagrange Pi,m de la fonction f à l’aide de (m + 1)
point de [xi , xi+1 ], y0i < y1i < · · · < ymi
Généralisation
sur chaque intervalle [xi , xi+1 ], on construit un polynôme
d’interpolation de Lagrange Pi,m de la fonction f à l’aide de (m + 1)
point de [xi , xi+1 ], y0i < y1i < · · · < ymi
pour assurer la continuité, on impose
Théorème
Soit f : [a, b] −→ R et soient x0 < x1 < · · · < xn n + 1 points de [a, b].
Choisissons sur chaque intervalle [xi , xi+1 ] m+1 points
xi = y0i < y1i < · · · < ymi = xi+1 .
Alors, il existe une unique fonction fm,n continue sur [a, b] telle que
la fonction fm,n|[xi ,xi+1 ] est un polynôme de degré m
fm,n (yji ) = f (yji ) pour tout 0 ≤ j ≤ m et pour tout 0 ≤ i ≤ n
De plus, si f ∈ C([a, b], R), alors
hm+1
kf − fm,n k∞ ≤ kf (m+1) k∞
(m + 1)!
Principe
Le mot ”spline” en anglais signifie ”languette élastique”.
Si f : [a, b] → R est une fonction connue en (n + 1) points
a = x0 < x1 < ... < xn = b, on s’intéresse à la courbe décrite par une
languette forcée de passer par les points (xi , f (xi )) pour tout i ∈ J0, nK.
Principe
Le mot ”spline” en anglais signifie ”languette élastique”.
Si f : [a, b] → R est une fonction connue en (n + 1) points
a = x0 < x1 < ... < xn = b, on s’intéresse à la courbe décrite par une
languette forcée de passer par les points (xi , f (xi )) pour tout i ∈ J0, nK.
Principe
Le mot ”spline” en anglais signifie ”languette élastique”.
Si f : [a, b] → R est une fonction connue en (n + 1) points
a = x0 < x1 < ... < xn = b, on s’intéresse à la courbe décrite par une
languette forcée de passer par les points (xi , f (xi )) pour tout i ∈ J0, nK.
Principe
Le mot ”spline” en anglais signifie ”languette élastique”.
Si f : [a, b] → R est une fonction connue en (n + 1) points
a = x0 < x1 < ... < xn = b, on s’intéresse à la courbe décrite par une
languette forcée de passer par les points (xi , f (xi )) pour tout i ∈ J0, nK.
si (x) = f (xi )Φ1,i (x) + f (xi+1 )Φ2,i (x) + di Φ̃1,i (x) + di+1 Φ̃2,i (x)
Ad = b
Ad = b
Remarque
Dans le cas d’abscisses (xi ) équidistantes, on a hi = h pour tout
i ∈ J0, n − 1K et le système linéaire se simplifie considérablement.
5 4
|f (x) − s(x)| ≤ h max |f (4) (ξ)|.
384 ξ∈[a,b]
Exemple
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Exemple
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Exemple
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Exemple
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Introduction
Introduction
Introduction
Introduction
1,5
0,5
-2,4 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 2,4
-0,5
-1
-1,5
Introduction
1,5
0,5
-2,4 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 2,4
-0,5
-1
-1,5
Introduction
1,5
0,5
-2,4 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 2,4
-0,5
-1
-1,5
Introduction
1,5
0,5
-2,4 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 2,4
-0,5
-1
-1,5
Introduction
Introduction
Introduction
où les θi sont des fonctions connues (par exemple des polynômes) et les
ci des coefficients à déterminer.
Introduction
où les θi sont des fonctions connues (par exemple des polynômes) et les
ci des coefficients à déterminer.
Introduction
Remarques
Contrairement à l’interpolation, on ne cherche pas nécessairement à
annuler ces déviations
Introduction
Remarques
Contrairement à l’interpolation, on ne cherche pas nécessairement à
annuler ces déviations
Il existe plusieurs notions de ”le plus petit possible”
Celle utilisée dans le paragraphe précédent consiste à minimiser :
C’est une troisième voie qui est le plus souvent choisie dans la pratique,
car elle conduit à un problème de minimisation quadratique en les
inconnues (ci ), à savoir : minimiser
X 2
|f (xk ) − (c1 + c2 xk )|
0≤k≤p
Posons
X 2
E (c1 , c2 , ..., cn ) = (f (xk ) − (c1 θ1 (xk ) + ... + cn θn (xk ))) .
0≤k≤p
Posons
X 2
E (c1 , c2 , ..., cn ) = (f (xk ) − (c1 θ1 (xk ) + ... + cn θn (xk ))) .
0≤k≤p
∂E
(c) = 0, ∀ı ∈ J1, nK
∂ci
Posons
X 2
E (c1 , c2 , ..., cn ) = (f (xk ) − (c1 θ1 (xk ) + ... + cn θn (xk ))) .
0≤k≤p
∂E
(c) = 0, ∀ı ∈ J1, nK
∂ci
soit encore
X
2 θi (xk ) (f (xk ) − (c1 θ1 (xk ) + ... + cn θn (xk ))) = 0, ∀ i ∈ J1, nK
0≤k≤p
Interprétation géométrique
Notons
e = (e0 , e1 , ..., ep ) le vecteur erreur de composantes
Interprétation géométrique
Notons
e = (e0 , e1 , ..., ep ) le vecteur erreur de composantes
Interprétation géométrique
Le vecteur erreur e doit donc être orthogonal à tous les vecteurs θi
Interprétation géométrique
Le vecteur erreur e doit donc être orthogonal à tous les vecteurs θi
Géométriquement, cela revient à dire que le vecteur
c1 θ1 + c2 θ2 + ... + cn θn solution est la projection orthogonale du
vecteur P = (f (x0 ), ..., f (xp )) sur le sous espace engendré par les
(θi ).
p p
1 X 1 X
f := f (xk ), f = xk f (xk ),
p+1 p+1
k=0 k=0
(
c1 + mc2 = f
mc1 + m2 c2 = f .
p p
1 X 1 X
f := f (xk ), f = xk f (xk ),
p+1 p+1
k=0 k=0
(
c1 + mc2 = f
mc1 + m2 c2 = f .
m2 f − mf f − mf
c1 = , c2 = .
m2 − m 2 m2 − m2
Didier Schmitt IECL
Analyse Numérique
Interpolation et approximation
Approximation au sens des moindres carrés
Remarque
On vérifie que m2 6= m2 si les (xk ) sont distincts.
Remarque
On vérifie que m2 6= m2 si les (xk ) sont distincts.
Retour à l’exemple
k 0 1 2 3 4 5 6 7
xk -2 -1.5 -1 -0.5 0 0.5 1 1.5
f (xk ) -0.6 -0.22 0.2 0.05 0.8 0.72 1.15 1.235
Remarque
On vérifie que m2 6= m2 si les (xk ) sont distincts.
Retour à l’exemple
k 0 1 2 3 4 5 6 7
xk -2 -1.5 -1 -0.5 0 0.5 1 1.5
f (xk ) -0.6 -0.22 0.2 0.05 0.8 0.72 1.15 1.235
Remarque
On vérifie que m2 6= m2 si les (xk ) sont distincts.
Retour à l’exemple
k 0 1 2 3 4 5 6 7
xk -2 -1.5 -1 -0.5 0 0.5 1 1.5
f (xk ) -0.6 -0.22 0.2 0.05 0.8 0.72 1.15 1.235
c1 = 0.54785714, c2 = 0.52392857
y = 0.54785714 + 0.52392857x
Didier Schmitt IECL
Analyse Numérique
Interpolation et approximation
Approximation au sens des moindres carrés
Remarque
On vérifie que m2 6= m2 si les (xk ) sont distincts.
Retour à l’exemple
k 0 1 2 3 4 5 6 7
xk -2 -1.5 -1 -0.5 0 0.5 1 1.5
f (xk ) -0.6 -0.22 0.2 0.05 0.8 0.72 1.15 1.235
1,5
0,5
-2,4 -2 -1,6 -1,2 -0,8 -0,4 0 0,4 0,8 1,2 1,6 2 2,4
-0,5
Cas général
Dans le cas général, on montre que le système des équations normales a
toujours une solution. Il s’écrit
Ac = b
où
c = (c1 , ..., cn )
A est la matrice dont les coefficients sont {hθj , θi i}1≤i≤n ,1≤j≤n
b = (b1 , ..., bn ) avec bi = hf , θi i .
Remarque
La matrice A est toujours une matrice symétrique
Remarque
La matrice A est toujours une matrice symétrique
Si on choisit les facteurs θi (x) de telle façon que les produits
scalaires hθj , θi i soient nuls pour i 6= j, c’est-à-dire
p
X
θj (xk )θi (xk ) = 0, ∀i 6= j,
k=0
Remarque
La matrice A est toujours une matrice symétrique
Si on choisit les facteurs θi (x) de telle façon que les produits
scalaires hθj , θi i soient nuls pour i 6= j, c’est-à-dire
p
X
θj (xk )θi (xk ) = 0, ∀i 6= j,
k=0
Remarque
si les points xk sont équidistants dans l’intervalle [a, b], on a :
p p
X X b−a b−a
0= θj (xk )θi (xk ) = θj a + k θi a + k
p p
k=0 k=0
or
p Z b
X b−a b−a p
θj a + k θi a + k ∼ θj (x)θi (x)dx
p p b−a a
k=0
Polynômes orthogonaux
Définition
Par suite de polynômes orthogonaux, on entend une suite (finie ou infinie)
P0 (x), P1 (x), . . . telle que
Pi est de degré i
hPi , Pj i = 0, si i 6= j.
Proposition
Soit (Pn ) une suite de polynômes orthogonaux ; alors
Tout polynôme Q de degré inférieur ou égal à k s’écrit de façon
unique
hPi , Qi
Q(x) = d0 P0 (x) + d1 P1 (x) + ... + dk Pk (x) avec di =
hPi , Pi i
Polynômes de Jacobi
Polynômes de Laguerre
Polynômes d’Hermite
2
]a, b[ = ]−∞, +∞[ et w (x) = e −x
La relation de récurrence s’écrit :
Polynômes orthogonaux
Théorème
Soit f : [a, b] → R telle que
Z b
hf , f i = f 2 (x)w (x)dx < ∞.
a
hPi , f i
ci = , i = 0, ..., k.
hPi , Pi i
Polynômes orthogonaux
Exemple
Trouver le polynôme P de degré inférieur ou égal à 3 qui minimise
Z 1
2
(e x − P(x)) dx.
−1
Polynômes orthogonaux
Exemple
On calcule alors
Z 1 1
Z 1 2
hf , L0 i = e x dx = e − hf , L1 i = xe x dx =
−1 e −1 e
3
Z 1
1
7 5
Z 1
3
37
hf , L2 i = ex x2 − dx = e− hf , L3 i = ex x3 − dx = −5e+ .
2 −1 3 e 2 −1 5 e
2
D’autre part, on montre que hLi , Li i = 2i+1 .
On en déduit le polynôme solution :
P(x) = 1, 175201194L0 (x)+1, 10363824L1 (x)+0, 3578143506L2 (x)+0, 07045563367L3 (x).
Polynômes trigonométriques
Remarque
les fonctions (cos(kx))k≥0 et (sin(kx))k≥0 sont orthogonales pour le
produit scalaire Z π
hf , g i = f (x)g (x)dx
−π
et pour tout k ≥ 0, p ≥ 0
Z π Z π
1
cos(kx) sin(px)dx = [sin((k + p)x) + sin((p − k)x)] dx = 0.
−π 2 −π
Polynômes trigonométriques
Théorème
Soit f : [−π, π] → R continue. Alors il existe une unique meilleure
approximation au sens des moindres carrés dans l’espace des polynômes
trigonométriques de la forme
n
X n
X
S(x) = a0 + ak cos(kx) + bk sin(kx).
k=1 k=1