s1(x) = s(0) + s s(x) = sj(xj) + s (xj)(x − xj) + (xj)(x − xj)2 +

Transcription

s1(x) = s(0) + s s(x) = sj(xj) + s (xj)(x − xj) + (xj)(x − xj)2 +
Approximation de fonctions continues par des splines cubiques
Le mot spline vient de l’anglais et désigne une tige élastique utilisée pour représenter des formes courbes assez régulières (sans aspérités). Les splines ont été
utilisées comme règles souples pour le dessin ou comme formats dans l’industrie ou l’artisanat. En mathématique il désigne des fonctions particulières, voir
ci-dessous. Elles sont utilisées pour l’approximation. Leur calcul est simple et
elles n’ont pas la rigidité des fonctions polynomiales ou des fonctions analytiques.
Soit σ = ( x j )0≤ j≤n une subdivision de l’intervalle [ a, b]. Une spline cubique
s sur [ a, b] est une fonction de classe C2 telle que, sur tout intervalle [ x j , x j+1 [, s
soit égale à une fonction polynomiale s j de degré inférieur ou égal à 3.
Dans ce qui suit, nous supposerons que a = 0 et b = 1. Sur [0, x1 [, s est
déterminée par s(0), s0 (0), s00 (0), s(3) (0) car s( x ) = s1 ( x ) et :
1
1
s1 ( x ) = s(0) + s0 (0) x + s00 (0) x2 + s(3) (0) x3
2
6
Nous définissons ensuite s par récurrence. Sur [ x j , x j+1 [, s est définie par
1 (3)
1
s( x ) = s j ( x j ) + s0j ( x j )( x − x j ) + s00j ( x j )( x − x j )2 + s j ( x j )( x − x j )3
2
6
Comme s est de classe C2 , sur [0, 1] :
s ( x j +1 ) = s j ( x j +1 )
s0 ( x j+1 ) = s0j ( x j+1 )
1 (3)
= s0j ( x j ) + s00j ( x j )( x j+1 − x j ) + s j ( x j )( x j+1 − x j )2
2
s00 ( x j+1 ) = s00j ( x j+1 )
(3)
= s00j ( x j ) + s j ( x j )( x j+1 − x j )
donc, sur [ x j+1 , x j+2 ], s est déterminée par les valeurs s( x j+1 ), s0 ( x j+1 ), s00 ( x j+1 )
qui sont imposées et s(3) ( x j+1 ), qui ne l’est pas.
1. Démontrer que l’ensemble S des splines cubiques, à valeurs réelles, sur
[0, 1] est un sous-espace vectoriel de l’espace C 2 ([0, 1], R).
2. Soit ϕ, de S dans Rn+3 définie par
ϕ(s) = (s(0), s0 (0), s00 (0), s(3) ( x0 ), . . . , s(3) ( xn−1 ))
est un isomorphisme d’espaces vectoriels.
3. Soient α = (α0 , . . . , αn ) et β = ( β 0 , . . . , β n ) dans Rn+1 . Pour tout k dans
J0, nK, démonter qu’il existe un unique polynôme Pk de degré 3 tel que
Pk ( xk ) = αk ,
Pk0 ( xk ) = β k ,
1
Pk ( xk+1 ) = αk+1
Pk0 ( xk+1 ) = β k+1
4. Calculer Pk00 ( xk ) et Pk00 ( xk+1 ). On pourra remarquer que Pk00 est de degré 1
donc que
Pk00 ( x ) =
x − xk
x − xk+1 00
Pk00 ( xk+1 ) +
P (x )
x k +1 − x k
x k − x k +1 k k
puis intégrer.
Nous supposons désormais que σ est une subdivision à pas constant : pour tout
k, xk+1 − xk = h.
5. Trouver une matrice M et un vecteur v ne dépendant que de α tels que :
β1 !
..
= v.
M
.
β n −1
6. La matrice A = ( a j,k ) 1≤ j≤n est dite à diagonale strictement dominante si
1≤ k ≤ n
pour tout j :
| a j,j | >
∑
| a j,k |
1≤ k ≤ n
k6= j
Montrer qu’une matrice à diagonale strictement dominante est inversible.
7. Vérifier que M est à diagonale strictement dominante.
8. Démontrer que ψ définie sur S et à valeurs dans Rn+3 par
ψ(s) = (s( x0 ), . . . , s( xn ), s0 ( x0 ), s0 ( xn ))
est un isomorphisme d’espaces vectoriels.
9. Résolution du problème d’interpolation. Soit f une fonction de classe C1
sur [0, 1]. Démontrer qu’il existe une unique spline cubique s telle que :
s 0 0)
=
=
s( xk ) =
s 0 (1)
∀k,
0 ≤ k ≤ n:
2
f 0 (0)
f 0 (1)
f ( xk )