Professional Documents
Culture Documents
2
3
0.1 Objectifs
→ Approximation de fonctions, courbes surfaces, intégrales.
→ Définir en quel sens on considère l’approximation.
→ Donner les algorithmes pour construire les approximations.
→ Estimation d’erreurs.
→ Définir les espaces où on cherche l’approximation.
0.2 Plan
1) Approximation de fonctions et de courbes par des fonctions splines (polynomial par mor-
ceaux). Algorithmes de calcul, estimations d’erreurs.
2) Meilleure approximation dans l’espace normé, les espaces d’Hilbert, au sens des moindres
carrés.
3) Polynômes orthogonaux. Application au calcul d’intégrales.
4) Meilleure approximation uniforme (L∞ ), existence, unicité, caractérisation de la meilleure
approximation. Algorithme de calcul.
0.3 Bibliographie
1) Philip J. Davis : Interpolation and Approximation, Dover Publications, 1976
2) M.J.D Powell : Approximation Theory and Methods, Cambridge University Press, 1981
3) Jean-Pierre Demailly : Analyse numérique et équations différentielles, Grenoble Sciences,
2006
4) Carl de Boor : A Practical Guide to Splines
4
Chapitre 1
Soit : Y
∆ = det A = (xj − xi ) 6= 0
0≤j<i≤n
5
6 Chapitre 1. Approximation par des fonctions splines
Par réccurence :
n k
!
X Y
pn (x) = f (x0 ) + [x0 , x1 , ..., xk ]f (x − xi )
k=1 i=0
La formule précédente est appelée la formule de Newton. La base de Newton est la suivante :
(x − x0 ), (x − x0 )(x − x1 ), ..., (x − x0 )(x − x1 )...(x − xn )
1
Tn (cos(x)) = cos(nx)
8 Chapitre 1. Approximation par des fonctions splines
La courbe en rouge représente la fonction f (x), la courbe bleue est le polynôme interpolateur
de degré 5 et la courbe verte est le polynôme interpolateur de degré 9. L’approximation est de
plus en plus mauvaise.
Donc : pour une fonction regulière et des points équidistants, |f (x) − pn (x)| ne converge pas
vers 0 et n’est pas bornée pour certains x.
Pour remédier à ce type de problème, on va chercher l’approximation dans une autre classe
de fonctions : fonctions splines.
On considère une partition de l’intervalle [a, b] :
{pj }j=0,...,k ∪ {ϕj }j=1,...,n forment une base Sk (t0 , ..., tn ) et donc dim(Sk ) = n + k.
k
X n−1
X
∀s ∈ Sk , s(x) = aj pj (x) + bj ϕj (x)
j=0 j=1
avec :
(k) −
s(j) (t+
0) s(k) (t+
j ) − s (tj )
aj = et bj =
j! k!
Chapitre 1. Approximation par des fonctions splines 9
On procède par réccurence sur n. Pour n = 1, Sk (t0 , t1 ) = {p|[t0 ,t1 ] , p ∈ Pk }. {p0 , ..., pk } est la
base de Taylor. Supposons vrai pour n − 1. Soit s ∈ Sk (t0 , ..., tn ), s|[t0 ,tn−1 ] ∈ Sk (t0 , ..., tn−1 ) et
par réccurence :
k
X n−2
X
∃!a0 , ..., ak , b1 , ...bn−2 , s|[t0 ,tn−1 ] = s̃(x) = aj pj (x) + bj ϕj (x)
j=0 j=1
l=k:
Le passage de (1.1) à (1.2) s’explique par s̃ ∈ C k et (1.2) → (1.3) par s = s̃|[t0 ,tn−1 ] .
Sur [tn−1 , tn ], p = s − s̃ − bϕn−1 est un polynôme de degré k tel que :
p(l) (t+ = 0, l = 0, ..., k − 1
n−1 )
p(k) (t+
n−1 ) = 0 pour b = bn−1
avec :
s(k) (t− (k) −
n−1 s (tn−1 )
bn−1 =
k!
bn−1 est choisi tel que (1.3) = 0. Donc :
ou
(b) les valeurs s0 (t0 ) et s0 (tn ).
Si de plus, f ∈ C 2 ([a, b]) et si :
(a∗) s00 (t0 ) − s00 (tn ) = 0, splines naturelles.
ou
(b∗) s0 (t0 ) = f 0 (t0 ) et s0 (tn ) = f 0 (tn ),
Alors :
ks00 kL∞ ([a,b]) = max |s00 (x)| ≤ 3kf 00 kL∞ ([a,b])
[a,b]
Remarque. dim S3 (t0 , ..., tn ) = n+3. On a n+1 conditions d’interpolation et 2 autres conditions
((a) et (b)).
Démonstration pour le cas (a). On note sj = s(tj ) = f (tj ) = fj (pour j = 0, ..., n). On note
aussi s00j = s00 (tj ) et ∆tj = tj+1 − tj . comme s ∈ S3 alors s ∈ C 2 et donc s00 est linéaire par
morceaux. Donc pour x ∈ [tj , tj+1 ],
tj+1 − x x − tj
s00 (x) = s00j + s00j+1
tj+1 − tj tj+1 − tj
(tj+1 − x)2 (x − tj )2
s0 (x) = −s00j + s00j+1 + αj (1.4)
2∆tj 2∆tj
(tj+1 − x)3 (x − tj )3
s(x) = s00j + s00j+1 + αj (x − tj ) + βj
6∆tj 6∆tj
Ici, on a utilisé que s est un polynôme de degré 3 par morceaux et que s ∈ C 2 . On utilise ensuite
les conditions d’interpolation : sj = fj et la continuité :
2
00 ∆tj
fj = sj + βj (1.5)
6
∆t2j
fj+1 = s00j+1 + αj ∆tj + βj (1.6)
6
De (1.5), on détermine les βj et de (1.6), les αj . Reste à imposer que :
s0 (t+ 0 −
j ) = s (tj ), j = 1, ..., n − 1 (1.7)
1 1
(1 − γj )s00j−1 + s00j + γj s00j+1 = 3[tj−1 , tj , tj+1 ], j = 1, ..., n − 1
2 2
00 00
On a fixé s0 et sn . On a alors à résoudre AX = Y :
3[t0 , t1 , t2 ]f − 21 (1 − γ1 )s000
1
s001
1 γ
2 1 3[t1 , t2 , t3 ]f
1
2 (1 − γ2 )
1
s002
1 γ
2 2
..
. =
.. .. .. . .
. . . .
3[t , t , t ]
1 00 n−3 n−2 n−1 f
(1 − γn ) 1 s n−1
1 00
2 3[tn−2 , tn−1 , tn ]f − 2 γn sn
3
kyk∞ = 3 max |[tj−1 , tj , tj+1 ]f ≤ kf 00 kL∞ [t0 ,tn ]
1≤j≤n−1 | {z } 2
f 00 (ξj )
2
car f ∈C 2
12 Chapitre 1. Approximation par des fonctions splines
1
kf − sn (f )kL∞ [tj ,tj+1 ] ≤ (∆tj ) inf kf 00 − σkL∞ [t0 ,tn ]
2 σ∈S1 (t0 ,...,tn )
et si f ∈ C 4 ([t0 , tn ]) :
1
kf − sn (f )kL∞ ≤ max s(tj )4 kf (4) kL∞ ([t0 ,tn ]) ≤ ε
16 j
sn (σ̃ + f ) = σ̃ + sn (f )
Soit g ∈ C 2 ([tj , tj+1 ]) et on considère le polynôme de degré 1, qui interpole g aux points tj , tj+1
et l’erreur d’interpoltaion vérifie :
x − tj x − tj+1 1 00 (∆tj )2
max g(x) − g(tj+1 ) − g(tj ) ≤ max |g (ξ)| max |(x−tj )(x−tj+1 )| ≤ k
x∈[tj ,tj+1 ] tj+1 − tj tj − tj+1 2 ξ∈[tj ,tj+1 ] [tj ,tj+1 ] 8
(1.9)
On applique ce résultat à :
(∆tj )2
kgkL∞ ([tj ,tj+1 ] = kf − sn (f )kL∞ ([tj ,tj+1 ] ≤ inf kf 00 + σ̃ 00 − sn (f + σ̃)00 kL∞
8 σ̃∈S 3
Donc :
1
kgkL∞ ([t0 ,tn ]) ≤ [∆tj )2 inf kf 00 + σ̃ 00 k
2 σ̃∈S3
Définition 1.4.1. s ∈ S2k−1 (t0 , t1 , ..., tn ) est dite spline naturelle si ∀l = k, k + 1, ..., 2k − 2 :
Theorème 1.4.1 (Théorème de minimisation). Il existe une unique spline naturelle interpo-
lante s ∈ S2k−1 . De plus, pour toute fonction g ∈ C k ([a, b]) interpolante, on a :
avec égalité g = 0.
Remarque. • Pour k = 2, on obtient avec une autre caractérisation des splines naturelles
interpolnates.
– dim S2k−1 (t0 , ..., tn ) = n + 2k − 1, le sous-espace des splines naturelles reste de dimension
m ≥ n + 1.
Lemme 1.4.2. Soient s spline naturelle d’interpolation et g ∈ C k ([a, b]) une fonction d’inter-
polation. Alors : Z b
I= s(k) (x)(g (k) (x) − s(k) (x))dx = 0
a
n−1 tj+1
= (−1)k−1
X
ej g(x) − f (x)
j=0 tj
| {z }
=0
Démonstration du Théorème 1.4.1. Soit {b1 , b2 , ..., bn+2k−1 } base S2k−1 . Donc :
n+2k−1
X
s(x) = αi bi (x)
i=1
n+2k−1
(l)
X (l)
s (b) = αi bi (b) = 0, l = k, ..., 2k − 2 (1.11)
i=1
Z b !1/2 Z b !1/2
(k) 2 (k)
⇒ kg kL2 [a,b] = g(x) dx ≥ s (x)dx
a a
| {z }
ks(k) kL2
On a égalité si et seulement si :
Z b
(g (k) − s(k) )2 (x)dx = 0
a
Définition 1.5.1. Etant donnés ... < t0 < t1 < ... < tn < .... On définit réccursivement :
1 sur [tj , tj+1 ]
0
Nj (x) =
0 sinon
k x − tj tj+k+1 − x
Nj (x) = Njk−1 (x) + N k−1 (x)
tj+k+1 − tj+1 j+1
tj+k − tj
∀j, tj = t0 + jh
x − tj
Njk (x) = Ñ k
h
Exemple 1.5.1.
x si x ∈ [0, 1]
N01 (x) = xN00 (x) − (1 − x)N10 (x) =
2 − x si x ∈ [1, 2]
et ;
x 1 3−x 1
N02 (x) = N0 (x) + N1 (x)
2 2
avec :
x − 1 si x ∈ [1, 2]
N11 =
3 − x si x ∈ [2, 3]
Donc :
2
x
2
si x ∈ [0, 1]
N02 (x) = −x2 + 3x − 3/2 si x ∈ [1, 2]
(3−x)2
2
si x ∈ [2, 3]
16 Chapitre 1. Approximation par des fonctions splines
Theorème 1.5.1 (Propriété des B-Splines). a) ∀x ∈ [tj , tj+k+1 [, Njk (x) > 0 et ∀x 6∈ [tj , tj+k+1 [,
Njk (x) = 0, c’est-à-dire supp(Njk ) = [tj , tj+k+1 ].
k
Njk (x) Njk (x) = 1 (k + 1 splines naturelles).
X X
b) = 1 et pour x ∈ [tr , tr+1 ],
j∈Z j=r−k
0
c) On note Df = f . Pour k ≥ 1, x 6∈ {ti } :
j∈Z j=r−k
x − tj X tj+k+1 − x
Njk−1 (x) + k−1
X
= Nj+1 (x)
j tj+k − tj j tj+k+1 − tj+1
X x − tj X tj+k − x
= Njk−1 (x) + Njk−1
j tj+k − t j j tj+k − tj
Njk−1 (x) = 1
X
=
j
Chapitre 1. Approximation par des fonctions splines 17
x − tj Nj0 (x)
c) k = 1, x ∈ [tj , tj+1 [, Nj1 (x) = ⇒ DNj1 = et x ∈]tj+1 , tj+2 [, Nj1 (x) =
tj+1 − tj tj+1 − tj
tj+2 − x N0j+1 (x)
⇒ DNj1 = .
tj+2 − tj+1 tj+2 − tj−1
On va proposer une nouvelle base pour Sk (t0 , t1 , ..., tn ). Pour j = −k, −k + 1, ..., 0, ..., n, les
B-Splines Njk sont non nulles dans [a, b] et Njk ∈ Sk (t0 , ..., tn ).
t−k < t−k+1 < ... < t−1 < t0 < t1 < ... < tn < tn+1 < ... < tn+k
| {z } | {z }
quelconque quelconque
Suppsons pour k − 1 :
k−1
n−1 n−1
Nlk−1 (x)
n
!
Nl+1 (x)
al Nlk = 0 ⇒ al DNlk (x) = 0 ⇒
X X X
al k − =0
l=−k l=−k l=−k tl+k − tl tl+k+1 − tl+1
k−1
N−k |[tO ,tn ] ≡ 0, Nnk−1 |[t0 ,tn ] ≡ 0
18 Chapitre 1. Approximation par des fonctions splines
k−1
n−1
X Nlk−1 (x) n−2
X Nl+1 (x) n+1
X Nlk−1 (x)
al k − al k =0⇒k (al − al−1 ) =0
l=−k+1 tl+k − tl l=−k tl+k+1 − tl+1 j=−k+1 tl+k − tl
Par hypothèse de reccurence, al = al−1 pour l = −k+1, ..., n+1 ⇔ an−1 = an−2 = ... = a−k = a.
n−1 n−1
aNlk (x) Nlk (x) = 0 ⇔ a = 0
X X
=0⇔a
l=−k l=−k
| {z }
=1
t−k < t−k+1 < ... < t−1 < t0 < t1 < ... < tn < tn+1 < ... < tn+k
tj +tj+k+1
Démonstration. Soit xj l’élément le plus proche de 2
dans [a, b].
t +t t +t
– Si j j+k+1
2
∈ [a, b] alors xj = j j+k+1
2
,
tj +tj+k+1
– Si 2
> b alors xj = b,
tj +tj+k+1
– Si 2
< a alors xj = a.
k
tj+k+1 − tj 1X h
|x − xj | ≤ = (tj+l+1 − tj+l ) ≤ (k + 1)
2 2 l=0 | {z } | {z 2}
≤h ε
où
– x ∈ [tk , tk+1 ] ∩ [a, b]
n−1
– {Njk }j=−k base de Sk .
alors :
n−1 n−1
k k
X X
|f (x) − S(f )(x)| = f (x) Nj (x) − f (xj )Nj (x)
j=−k j=−k
| {z }
=1
n−1
k
X
=
(f (x) − f (xj )) Nj (x)
j=−k | {z }
≤ω(f,ε)
n−1 k
≤ ω(f, ε) j = −k Nj (x) = ω(f, ε)
| {z }
=1
∀x ∈ [a, b], |f (x) − S(f )(x)| ≤ ω(f, ε) → d(f, Sk ) ≤ kf − S(f )k ≤ ω(f, ε).
b) D’après l’inégalité des accroissements finis, ∃ξj ∈] min(x, xj ), max(x, xj )[ tel que :
On pose : Z x
f˜(x) = f 0 (s)ds = f (x) − f (a) (f = f˜ − f (a))
a
Z x
σ̃(x) = σ(s)ds ⇒ σ̃ 0 = σ ∈ Sk−1 ⇒ σ̃ ∈ Sk
a
Donc :
où : n
aj (f )Njk (x)
X
S(f )(x) = (1.14)
j=−k
avec :
aj : C 0 ([a, b]) → R
f 7→ aj (f )
Chapitre 1. Approximation par des fonctions splines 21
tel que aj linéaire (∀λ, µ ∈ R, ∀f, g ∈ C 0 ([a, b]), aj (λf + µg) = λaj (f ) + µaj (g)) et :
X
aj = f (xj ) = (xi ) (coefficient d’une spline d’interpolation)
i∈I
On définit la norme de l’opérateur S, kSk, comme la plus petite constante L tel que :
kS(f )k ≤ Lkf k, ∀f ∈ C 0 ([a, b])
Lemme 1.6.3 (Lemme de Céa). Soit S définit par (1.14) et E un sous-espace vectoriel invariant
de C 0 ([a, b]), c’est-à-dire ∀g ∈ E, S(g) = g. Alors :
kf − S(f )k ≤ (1 − kSk)d(f, E)
Démonstration. ∀g ∈ E, kf − S(f )k = kf − g + g − S(f )k. On utilise le fait que S est linéaire
et S(g) = g.
kf − g + g − S(f )k = kf − g − S(f − g)k
≤ kf − gk + kS(f − g)k
= (1 + kSk)kf − gk
⇒ kf − S(f )k ≤ (1 + kSk)d(f, E).
Exemple 1.6.1. Considérons le cas d’une spline interpolante. On se donne n + k points d’in-
terpolation distincts :
a ≤ x−k ≤ x−k+1 ≤ ... ≤ xn−1 ≤ b
(pas nécessairement les noeuds de la spline). Si on veut déterminer Ski (f ) ∈ Sk tel que :
Ski (f )(xj ) = f (xj ), j = −k, ..., n − 1
On a :
n−1
Ski (f ) = aj (f )Njk
X
j=−k
n−1
Ski (f )(x) = aj (f )Njk (xl ) = f (xl ), l = −k, ..., n − 1
X
j=−k
On définit :
f (x−k )
b= ..
, A = Njk (xl )
.
j,l
f (xn−1 )
On rappelle que A est une matrice creuse (propriété des B-splines). On a donc à résoudre le
système linéaire suivant :
a−k (l)
..
A
. =b
an−1 (l)
Si A est inversible (bon choix des abscisses) alors on a :
a−k (l)
.. −1
. = A b ⇒ linéarité des aj
an−1 (l)
Or : ∀g ∈ S k , Ski (g) = g donc E = Sk . On utilise le lemme de Céa :
kf − Ski (f )k ≤ (1 + kSki k)d(f, Sk ) (théorème de meilleure approximation)
22 Chapitre 1. Approximation par des fonctions splines
alors :
n−1
S1i (f )(x) f (tl+1 )Nj1 (x) ⇒ |S1i (x)| ≤ max |f (tl+1 )| Nj1 (x) = 1 ≤ kf k
X X
l
j=1 j
| {z }
Donc :
kS1i (f )k ≤ kf k ⇒ kS1i (f )k = 1
Donc :
kf − S1i (f )k ≤ (1 + kS1i (f )k)d(f, Sk ) = 2 d(f, Sk )
| {z } | {z }
=1 ≤kf −S1j (f )k
Sk (t) est dans l’enveloppe connexe des points pi , i = r − k, ..., r pour t ∈ [tr , tr+1 ] :
r
pi Nik (t)
X
Sk (t) =
i=r−k
Chapitre 1. Approximation par des fonctions splines 23
t1 = ... = tk = tk+1 = a < tk+2 < ... < tn+k < b = tn+k+1 = tn+k+2 = ... = tn+2k+1 (1.15)
| {z } | {z }
k+1 noeuds k+1 noeuds
On rappelle :
x − ti ti+k+1 − x k−1
Nik (x) = Nik−1 (x) + N (x)
ti+k − ti ti+k+1 − ti+1 i+1
x−ti
Mais si ti+k = ti , la formule précédente n’est plus valable. On va ainsi mettre ti+k −ti
"en
contribution 0".
Si on confond l points, on perd l − 1 degrés de régularité dans la B-spline.
24 Chapitre 1. Approximation par des fonctions splines
Proposition 1.7.1. Avec les notations (1.15), on peut construire les B-splines {Nik }n+k
i=1
m+k
pi Nik
X
Sk (t) =
i=1
Démonstration. En a = tk+1 , les seuls splines non nulles sont N1k , ..., Nkk . Si i noeuds coincident
en un point, on a une continuité k − i. Donc pour j = 2, ..., k + 1, k + 2 − j noeuds coincident.
On a donc une continuité de j − 2 mais au moins une continuité C 0 . Donc : Njk (tk+1 ) = 0 et
N1k (tk+1 ) 6= 0. Or :
n+k
Nik (t) = 1
X
i=1
Même raisonnement avec tn+k+1 = b : les seules B-splines non nulles Nnk (t), ..., Nn+k
k
(t). Pour
k
j = n, ..., n + k − 1, la continuité entraine que Nj (tn+k+1 ) = 0 :
n+k
pi Nik (tn+k+1 ) = pn+k
X
Sk (tn+k+1 ) =
i=n
Dnas le cas où les noeuds intérieurs sont simples, la courbe est formée de n arcs polynomiaux
de degré k et elle est de classe C k−1 .
6
pi Ni2 (|{z}
X
S2 (1) = t3 ) = p1 , S2 (5) = p6
i=1 =t1
1
S2 (2) = S2 (t4 ) = p2 N22 (t4 ) + p3 N32 (t4 ) = (p2 + p3 )
2
1
S2 (3) = S2 (t5 ) = p3 N32 (t5 ) + p4 N42 (t5 ) = (p3 + p4 )
2
1
S2 (4) = S2 (t6 ) = (p4 + p5 )
2
Pour les dérivées :
6 1 6
!
Ni1 (t) Ni+1 (t)
S20 (t) Ni1 (pi − pi−1 )
X X
= pi − =
i=1 ti+2 − ti ti+3 − ti+1 i=2
26 Chapitre 1. Approximation par des fonctions splines
pr+ns = pr , r = 1, ..., n, s ∈ Z
t1 < ... < tk a = tk+1 < tk+2 < ... < tn+k < b = tn+k+1 < tn+k+2 < ... < tn+2k+1
| {z }
(∗)
k
pi Nik (a)
X
Sk (a) =
i=1
k+n k
pi Nik (b) = k
X X
Sk (b) = pi+n Ni+n (b)
i=n+1 i=1
k
k
X
= pi Ni+n (a + nk)
i=1
k
k
X
= pi Ni+2n (a) (si les points sont équidistribués)
i=1
k
pi Nik (a) = Sk (a)
X
=
i=1
n+k
pi Nik (t)
X
Sk (t) =
i=1
P = {p1 , p2 , p3 , ..., p6 }
C = {|{z}
−1 , 0, |{z}
1 , 2, ..., |{z}
7 , 8, 9}
t1 t3 =t9
Chapitre 1. Approximation par des fonctions splines 27
8
pi Ni2 (t), p7 = p1 , p8 = p2 , ...
X
S2 (t) =
i=1
1
S2 (1) = S2 (t3 ) = S2 (7) = S2 (t9 ) = (p1 + p2 )
2
1
S2 (ti ) = (pi + pi+1 )
2
N12 (0) = N22 (0) = 1/2
28 Chapitre 1. Approximation par des fonctions splines
8 1
!
Ni1 (t) Ni+1 (t)
S20 (t)
X
= 2 pi −
i=1 ti+2 − ti ti+3 − ti−1
8
p1 N11 (t) (pi − pi−1 )Ni1 + p8 N91
X
= +
i=2
r r
t − ti
dm k−m
dm N k−m−1 (t)
X X
i Ni (t) = i
i=r−k+m i=r−k+m ti+k−m − ti i
r
dm+1 Nik−m−1 (t)
X
= i
i=r−k+m
pour m = 0 :
r
d0i Nik (t) = pi Nik (t) = Sk (t)
X X
S(t) =
i=r−k
Chapitre 2
kf − u∗ k = inf kf − uk
u∈U
kf − ũk ≤ d∗ (2.3)
kf − ũk ≥ d∗ (2.4)
(2.3) + (2.4) ⇒ kf − ũk = d∗ . Cela implique donc que ũ meilleur approximant d f dans U 0 .
Prenons u ∈ U \U 0 :
29
30 Chapitre 2. Approximation au sens des moindres carrés
et
kf k∞ = max |f (x)|
[a,b]
Remarque. Si on trouve une meilleure approximant en norme ∞ avec une erreur petite, les deux
normes (norme 1 et norme 2) le seront aussi.
kf k1 ≤ (b − a)1/2 kf k2 ≤ (b − a)kf k∞
≤ kek2 (b − a)1/2
Z b !1/2
2
kek2 = |e(x)| dx
a
Z b !1/2
≤ kek2∞ dx
a
= kek∞ (b − a)1/2
Définition 2.1.1. La norme 2 s’appelle la norme au sens des moindres carrés (ou norme
euclidienne).
La norme ∞ s’appelle la norme uniforme (ou min-max).
ks0 − f k = ks1 − f k = d∗
k1/2(s0 + s1 ) − f k < d∗
P∞
3) Espaces des suites : l2 = {(li )i∈N , i=1 |li |2 < ∞}
∞
X
< x, y >= |xi yi |
i=1
∀f ∈ V, ∃u∗ ∈ U, kf − u∗ k = inf kf − uk
u∈U
L’avantage est que l’on peut considérer l’approximation discrète en moindres carrés si l’on
dispose des valeurs de f : si yi = f (xi ), i = 1, ..., N avec une variance w1i . On considère :
N
X
< f, g >N = wi f (xi )g(xi )
i=1
< f, f >N = 0 ⇒ f = 0
Ce n’est pas une norme sur PN mais sur PN −1
Démonstration. (⇒) Supposons par l’absurde qu’il existe p ∈ U tel que < e∗ , p >= 0. On
considère l’approximant p∗ + λp, λ ∈ R∗ .
kf − qk = kf − p∗ k ⇔ q = p∗
2) q = 0 :
kf k2 = kp∗ k2 + kf − pk2 (2.6)
Corollaire (méthode de calcul du meilleur approximant). Pour calculer la meilleure approxi-
mation, étant donné une base {ui }ni=1 de U , soit :
n
p∗ = αi∗ ui
X
i=1
On résoud le système :
n
αi∗ ui , uj >= 0, j = 1, ..., n
X
<f− (2.7)
i=1
On a ainsi :
et = 0 ⇔ ai = 0, ∀i.
Rapport avec les moindres carrés discrets A ∈ Rn×m avec m > n, A = [A1 , A2 , ..., An ].
On cherche min kb − Axk2 (c’est-à-dire kb − xi Ai k2 , x ∈ Rn ). Soit V = Rn et U = Im A =<
P
A1 , A2 , ..., An >. Résoudre au sens des moindres carrés le système Ax = b équivaut à chercher
la meilleure approximation de b dans U . Si A est de rang maximal, < A1 , A2 , ...An > est une
base de U .
Gn =< Ai , Aj >= AT A (matrice des équations normales)
< b, A1 >
< b, A2 >
= AT b
c= ..
.
< b, A”n >
34 Chapitre 2. Approximation au sens des moindres carrés
Démonstration. Par réccurence, p∗ est la meilleure approximation de vi dans < v0 , ..., vn−1 >=<
u0 , ..., un−1 >. Par la caractérisation de la meilleure approximation :
vi ⊥ v0 , ..., vi−1 , < vi , vj >= 0, j = 0, ..., i − 1
Lemme 2.2.3. Soit U ⊂ V espace préhilbertien avec une base orthogonale (u0 , u1 , ..., un ).
n
X
∀f ∈ V, Πn (f ) = < f, ui > ui
i=0
b)
∀q ∈ U, kf − qk2 = kf − p∗ k2 + kp∗ − qk2 ⇔ kf k2 = kf − p∗ k − kp∗ k
c) kΠn (f )k2 = kf k2 , f ∈ U . Donc Πn (f ) = f .
Chapitre 2. Approximation au sens des moindres carrés 35
()
1 while kpn k2 < kf k2 − δ 2
2 do n=n+1
3 Calculer vn par Gram − Schmidt
4 Calculerp∗n = p∗n−1 + <f,v n>
v
kvn k2 n
<f,vn >2
5 Calculerkp∗n k = kp∗n−1 k + kvn k2
2
n n
X < f, vi >
< f, vi >2
kp∗n k2 =
X
vi =
kvi k2 kvi k2
i=0 i=0
Lemme 2.2.4 (Inégalité de Bessel). Soit (u0 , ..., un−1 ) ∈ V orthonormée. Alors ∀f ∈ V :
∞
< f, ui >2 = kf k2
X
j=0
avec égalité ∀f ∈ V (égalité de Parseval) si et seulement si < u0 , ..., un > est dense dans V .
Exemple 2.2.3 (Approximation polynomial en moindres carrés).
Problème. Déterminer un polynôme p ∈ Pn qui approche au mieux au sens des moindres
carrés un nuage de points (xj , f (xj ))N
j=0 avec N > n, xj distincts.
j=0
f (x0 )
a0
f (x1 )
.
b = .. , A = (ui (xj ))i,j , a = ..
.
an
f (xn )
p(x0 )
u0 (x0 ) u0 (xN )
p(x1 )
. = a0 .. ..
. + ... + an . = Aa
.
.
uN (x0 ) uN (xN )
p(xN )
Minimiser kb − Aak22 , c’est résoudre le système d’équations normales.
AT Aa = AT b
{1, sin x, cos x, sin 2x, cos 2x, ..., sin nx, cos nx} base orthogonale de Dn . Les polynômes p ∈ Dn
qui minimise kf − pk2 est donné par :
1Zπ
aj = − f (θ) cos(jθ)dθ
π −π
1Zπ
bj = − f (θ) sin(jθ)dθ
π −π
Chapitre 3
Une base orthonormale est obtenue par Gram-Schmidt appliqué à la base canonique.
37
38 Chapitre 3. Polynômes orthogonaux et formules de quadrature
λj < pj , pj >= 0 ⇒ λj = 0
2) Si φn+1 est un polynôme orthogonal de degré n+1 alors φn+1 = cpn+1 (la suite des polynômes
est définie à une constante multiplicative près).
n+1
X
φn+1 = λi pi
i=1
a < x1,n+1 < x1,n < x2,n+1 < x2,n < ... < xj,n < xj,n+1 < xj+1,n < ... < xn,n < xn+1,n < b
Démonstration. 1) Soient {y1 , ..., yn } les points dans ]a, b[ où pn change de signe. On construit
le polynôme :
n
Y
p(x) = ± (y − yi )
i=1
qui a les mêmes changements de signe que pn dans [a, b] et donc pn (x)p(x) ≥ 0 et s’annule
en n points. Soit ω > 0 :
Z b
< p, pn >= p(x)pn (x)ω(x) dx > 0
a | {z }
≥0
deg(p) ≥ n (3.1)
deg(p) ≤ n (3.2)
(3.1) + (3.2) ⇒ deg(p) = n ⇒ y1 , ..., yn sont les racines distincts de pn dans ]a, b[.
Chapitre 3. Polynômes orthogonaux et formules de quadrature 39
= βk pk−1 (xj,k )
|{z}
≥0
avec1
sgn(pk+1 (xj,k ) = − sgn(pk−1 (xj,k ) = (−1)k−j+1
pk+1 (xk,k ) < 0, lim pk+1 (x) = +∞
x→∞
Donc il existe un xk+1,k+1 > xk,k .
(−1)k pk+1 (x1,k ) > 0, lim (−1)k−1 pk+1 (x) = −∞
x→−∞
– On définit u par ω(x)φk+1 (x) = u(k+1) (x) avec constante d’intégration u(i) (a) = 0 pour
i = 0, ..., k.
Z b
u(k+1) (x)p(x)dx = 0, ∀p ∈ Pk
a
On va maintenant proposer des choix de fonctions tels que φk+1 est un polynôme de degré
k + 1.
−α −β dk h α β+k
i
pk ((x) = (1 − x) (1 + x) (1 − x) (1 + x) (3.6)
dxk
(4.6) est la formule de Rodrigue. Elle peremt d’obtenir des expressions algébriques pour αk et
βk .
Exemple 3.2.3 (Polynômes de Laguerre). Soient l’intervalle d’orthogonalité [a, b] = [0, +∞],
une fonction poids ω(x) = e−x . On définit les polynômes de Laguerre :
dk −x k
Lk (x) = ex (e x )
dxk
Chapitre 3. Polynômes orthogonaux et formules de quadrature 41
2 dk −x2 k
Hk (x) = e−x (e x )
dxk
Exemple 3.2.5 (Un peu plus sur les polynômes de Tchebychev). Tn (θ) = cos(nθ) (changement
de varibles cos θ = x). Tn est un polynôme de degré n en cos θ.
Z 1
(1 − x2 )1/2 Tj (x)Tk (x) = 0, ∀j 6= 0
−1
Z π
1Z π
cos(jθ) cos(kθ)dθ = cos((k + j)θ) − cos((k − j)θ)dθ
0 2 0
= 0
Donc :
Tk+1 (x) + Tk−1 (x) = 2Tk (x)x ⇒ Tk+1 (x) = 2xTk (x) − Tk−1 (x)
De même pour les polynômes de Tchebychev de second degré.
sin((n + 1) arccos(x))
Un (x) =
sin(arccos(x))
C’est le degré du polynôme du plus haut degré pour lequel la formule est exacte.
42 Chapitre 3. Polynômes orthogonaux et formules de quadrature
Pn−1
Démonstration. (i) ⇒ (iii) lj = k=0 ak x k
m
ak I(xk )
X
I(lj ) =
k=0
m
ak Im (xk )
X
=
k=0
m−1
!
k
X
= In ak x = Im (lj )
k=0
m
X
= ωi lj (xi ) = ωj
i=1
Pn
(iii) ⇒ (ii) pn = i=1 li (x)f (x), polynôme d’interpolation :
n
X
I(pn ) = f (xi )I(li )
i=1
Xn
= ωi f (xi ) = In (f )
i=1
b−a
I2Tr (f ) = (f (a) + f (b))
2
Chapitre 3. Polynômes orthogonaux et formules de quadrature 43
b+a
I1M (x) = (b − a)
2
Z b
b 2 − a2
I(x) = xdx =
a 2
Theorème 3.3.2. Pour toute formule de quadrature, In interpolante :
kf (n) k[a,b] Z b
∀f ∈ C n ([a, b]), |I(f ) − In (f )| ≤ |Πn (x)|ω(x)dx
n! a
avec :
n
Y
Πn (x) = (x − xi )
i=1
f (n) (ξ)
f (x) − pn (x) = Πn (x), ξ ∈ [a, b], kf k[a,b] = max |f (x)|
n! [a,b]
kf 00 k Z b
|I(f ) − IrTr (f )| ≤ (x − a)(b − x)dx
2 a
kf 00 k
= (b − a)3
12
On peut pousser l’analyse d’erreur un peu plus loin. L’erreur d’interpolation peut s’écrire :
f (x) − pn (x) = [x1 , ..., xn , x]f Πn (x)
L’erreur dans le calcul d’interpolation :
Z b
I(f ) − In (f ) = [x1 , ..., xn , x]f Πn (x)dx
a
!2
f 00 (ξ) Z b a+b
I(f ) − I1M (f ) = x− dx
2 a 2
!#b
f 00 (ξ) 1 x − a+b
"
2
=
2 3 2 a
00 3
f (ξ) 2(b − a)
=
2 24
f 00 (ξ)
= (b − a)3
24
Pour la construction des formules de type interpolante :
Chapitre 3. Polynômes orthogonaux et formules de quadrature 45
et on calcule les coefficients Ai de la combinaison linéaire de sorte que la formule soit exacte
pour les monomes 1, x, ..., xn−1 .
n Z b
Ai xji = xj dx,
X
j = 0, ..., n − 1
i=1 a
Rb j
où a x dx constitue un système linéaire de n équations à n inconnues (Ai ).
Z d
d−cZ b
g(t)dt = g(ϕ(x))dx (3.7)
c b−a a
avec
ϕ : [a, b] → [c, d]
d−c
x 7→ t = c + b−a (x − a)
d − c [a,b]
(3.7) ⇔ I (g ◦ ϕ)
b−a
n
!
[c,d] d−cX d−c
I (g) = ωi g c + (xi − a)
b − a i=1 b−a
Z b N
X −1 Z tk+1
f (x)dx = f (x)dx
a k=0 tk
[a,b] b−a
I2 = (f (a) + f (b))
2
[t ,t ] ti+1 − ti
I2 i i+1 = (f (ti+1 ) − f (ti ))
2
N −1 N −1
Tr
X [ti ,ti+1 ] X ti+1 − ti
I(N ) ([a, b])(f ) = I2 = (f (ti−1 ) − f (ti ))
i=0 i=0 2
Dans le cas des points équidistribuées :
h = ti+1 − ti , i = 0, ..., N − 1
N −1
" #
Tr h X
I(N ) ([a, b])(f ) = f (b) + f (a) + 2 f (ti )
2 i=1
L’erreur commise est :
Z b
Tr Tr
E(N ) (f ) = f (x)dx − I(N ) ([a, b])(f )
a
N −1 Z ti+1
X [t ,ti+1 ]
= f (x)dx − I2 i (f ) (3.8)
i=0 ti
Lemme 3.3.3. Soit In (f ) = ni=1 Ai f (xi ) une fomrule de quadrature avec un degré de précision
P
Or : Z b
I(p) = p(x)ω(x)dx > 0
a
Ce qui est contradictoire. Donc m < 2n. Maintenant, supposons m ≥ 2n − 2, on choisit :
2
n 2
Y (x − xi )
p(x) = lj (x) =
i=j (xj − xi )
i6=j
Theorème 3.3.4. Soit pn le nième polynôme orthogonal par rapport au produit scalaire :
Z b
< f, g >= f (x)g(x)ω(x)dx
a
et : Z b
I(qpn ) = q(x)pn (x)ω(x)dx = 0 car q ∈ Pn−1
a
Donc :
(3.11) = I(qpn ) + I(r) = I(p)
48 Chapitre 3. Polynômes orthogonaux et formules de quadrature
la formule de quadrature de Gauss avec Ãi = I(˜lj ), ˜lj est le polynôme de Lagrange associé
aux abscisses x̃i .
Z b
I˜n (pn ˜li ) = I(pn ˜li ) = pn (x)˜li (x)ω(x) = 0 par othogonalité
| {z } a
∈P2n−1
n
Ãj pn (x̃j )˜li (x̃j ) = Ãi pn (x̃i )
X
=
j=1
Pour i = 1, ..., n, Ãi pn (x̃i ) = 0. En utilisant le lemme 3.3.3 et en sachant que Ãi > 0, on
a ainsi que pn (x̃i ) = 0 avec i = 1, ..., n et donc :
Theorème 3.3.5. Soit pn le polynôme de degré n orthonormal par rapport au produit scalaire
Z b
< f, g >= f (x)g(x)ω(x)dx
a
On pose :
f (2n−1) (x) f (2n−1) (x)
m = min , M = max
[a,b] (2n − 1)! [a,b] (2n − 1)!
(f (x) − p(x))χ2n
m ≤ Qn ≤ M ⇔ mpn (x)2 ≤ χ2n (f (x) − p(x)) ≤ M pn (x)2
j=1 (x − xj )
2 2
χn
Z b
pn (x)2 ω(x)dx = 1
a
m ≤ χ2n I(f − p) ≤ M
m M
2
≤ I(f ) − In (f ) ≤ 2
χn χn
Par le théorème des valeurs intermédiaires :
1 f (2n−1)
∃ξ ∈ [a, b], I(f ) − In (f ) =
χ2n (2n − 1)!
Problème. Calculer la meilleure approximation (si existence) d’une fonction continue sur un
compact en norme uniforme dans un espace de dimension finie. Plus précisement, V = C([a, b]),
k · k = k · k∞ , kf k∞ = max[a,b] |f (x)|, U est un espace vectoriel de dimension finie. On veut
déterminer p∗ ∈ U tel que :
kf − p∗ k∞ = min kf − pk∞
p∈U
∗
Si p existe, on l’appelle meilleur approximant en norme uniforme ou en norme min-max.
On veut ainsi chercher :
– les problèmes d’existence et d’unicité,
– la caractérisation,
– des algorithmes de calcul.
50
Chapitre 4. Approximation en norme uniforme 51
On définit l’ensemble
Z0 = {x ∈ Z, p(x).e∗ (x) ≤ 0},
on a ainsi Z0 ∩ ZM = ∅. Soit
d = max |e∗ (x)|,
x∈Z0
Si Z0 = ∅ alors d = 0. Choissions
1
θ= max |e∗ (x)| − d > 0.
2 x∈Z
Ainsi,
Z est fermé ⇒ ∃ξ ∈ Z, |e∗ (ξ) − θp(ξ)| = max |e∗ (x) − θp(x)|
x∈Z
(i) Supposons ξ ∈ Z0
|e∗ (ξ) − θp(ξ)| < max (|e∗ (ξ), θ|p(ξ)|) ≤ max |e∗ (x)|
x∈Z
Remarque. Une définition de la condition de Haar est la suivante : « Si {φi }ni=0 base de U, ∀ξi
pour i =0, ..., n où les ξi forment une subdivision de [a, b] (a ≤ ξ0 < ξ1 < ... < ξn ≤ b) alors la
n
matrice φi (ξj ) est inversible. »
i,j=0
Pour U = Pn ,
1 ξ0 · · · ξ0n
1 ξ1 · · · ξ1n
[φi (ξj )] =
.. .. .
..
. . .
1 ξn · · · ξnn
Theorème 4.2.1 (Théorème de caractérisation). Soit U un espace de dimension n + 1 de
C([a, b]) vérifiant la condition de Haar. Alors p∗ est la meilleure approximation minimax de
f ∈ C([a, b]) si et seulement il existe n + 2 points {ξi∗ , i = 0, ..., n + 1} tel que a ≤ ξ0∗ < ξ1∗ <
∗
... < ξn+1 < b,
T0 (x) = 1, T1 (x) = x.
Donc
Tn (x) = 2n−1 xn + · · · .
et
∀x ∈ [−1, 1], Tn (x) = arccos θ où x = cos θ
Corollaire.
1
arg min max |p(x)| = Tn ,
p∈Pn −1≤x≤1 2n−1
où p est de degré n et unitaire. On a ainsi ∀x ∈ [−1, 1], |Tn (x)| ≤ 1,
n−1
min n max xn i
X
+ ci x
c0 ,...,cn−1 ∈R −1≤x≤1
i=0
⇔ chercher le meilleur approximant dans Pn−1 en norme uniforme pour la fonction f (x) = xn
dans [−1, 1].
n−1
1
e(x) = xn + ci xi = n−1 Tn (x).
X
i=0 2
On choisit ξ = cos(θn−i ),
pour p ∈ U si et seulement si
h = f (ξ0 ) − p∗ (ξ0 )
Ce système a toujours une solution (qui est le meilleur approximant) pour tout f ⇒ la matrice
du système à résoudre doit être inversible ⇒ la solution est unique.
3) On caclule δ := |f (η) − p(η)| − |h|. Si η est suffisament petit alors on arrête l’algorithme car
kf − pk∞ ≤ kf − p∗ k∞ + δ,
Si on considère la fonction h(ξ0 , ..., ξn ) = |h|, le but de l’itération est d’augmenter la veleur
de h le plus possible.