Ce document académique est le corrigé d'un contrôle de rattrapage du module d'Analyse Numérique, destiné aux étudiants universitaires de la filière SMP, niveau S3. Il propose une série d'exercices couvrant les concepts fondamentaux du calcul numérique.
Les principaux thèmes abordés incluent:
- La résolution de systèmes linéaires (décomposition de Cholesky, méthodes itératives Jacobi et Gauss-Seidel).
- La résolution d'équations non linéaires (méthodes du point fixe et de Newton).
- L'interpolation polynomiale (Lagrange, Newton) et l'intégration numérique (méthode de Simpson).
Module d'Analyse Numérique : Examen de Rattrapage
Contrôle de rattrapage du 16 Février 2015
Heure : 10h30 à 12h.
Exercice 1
On considère la matrice suivante A = (4 -2 0; -2 5 2; 0 2 10).
- Donner la décomposition de Cholesky R RT de la matrice A.
- En déduire la solution du système linéaire Ax=b avec b = (2; 3; 2).
- Rappeler les algorithmes de Jacobi et de Gauss-Seidel pour approcher la solution exacte du système Ax=b.
- Justifier la convergence de ces deux algorithmes pour la matrice A donnée.
- Donner les trois premières itérations pour chacune des méthodes en précisant l'erreur commise à chaque étape. On pose X0 = (x01, x02, x03) = (0,0,0).
Exercice 2
On considère la fonction g(x) = √(1 + x).
- Montrer que g admet un point fixe unique sur [1,2]. On le notera x̄.
- On donne x0 = 1. Calculer, par la méthode du point fixe, x1, x2 et x3 ainsi que l'erreur commise ei = |xi - x̄|, 1 ≤ i ≤ 3. x̄ ≈ 1.61803398.
- Maintenant, on veut approcher x̄ par la méthode de Newton. Pour cela, vérifier que x̄ est solution de f(x) = 0 où f(x) = x2 - x - 1.
- En partant de x0 = 1, donner sous forme rationnelle, par la méthode de Newton, x1, x2 et x3 ainsi que l'erreur commise ei = |xi - x̄|, 1 ≤ i ≤ 3. x̄ ≈ 1.61803398.
- Donner un rationnel approchant la valeur √(1 + √(1 + √(1 + √1 + ...))) à 10-5 près.
Exercice 3
Donner le polynôme interpolant la fonction f aux points (-1,0), (0,1), (1,0) et (2,3) en utilisant :
- la base de Lagrange.
- la méthode des différences divisées de Newton.
- Donner une approximation de ∫2-1 f(x)dx, en utilisant la méthode de Simpson aux points d'interpolations (-1, 0, 1 et 2).
Corrigé du module d'Analyse Numérique
Session de Février 2016.
Corrigé de l'exercice 1
Considérons la matrice suivante, A = (4 -2 0; -2 5 2; 0 2 10).
- Cherchons la matrice R telle que l'on a A = R RT où R est triangulaire inférieure.
- r211 = 4 ⇒ r11 = 2
- r21 r11 = -2 ⇒ r21 = -1
- r31 r11 = 0 ⇒ r31 = 0
- r221 + r222 = 5 ⇒ r222 = 5 - (-1)2 = 4 ⇒ r22 = 2
- r21 r31 + r22 r32 = 2 ⇒ (-1)(0) + (2)r32 = 2 ⇒ r32 = 1
- r231 + r232 + r233 = 10 ⇒ 02 + 12 + r233 = 10 ⇒ r233 = 9 ⇒ r33 = 3
- Pour résoudre le système Ax=b, on résout les systèmes échelonnés Ry=b et RTx=y successivement.
- L'algorithme de Jacobi est donné par : Étant donné un vecteur d'initialisation x0 = (x0i)1≤i≤n, les itérés sont donnés par xk+1i = (bi - ∑j=1, j≠in aijxkj) / aii.
- La matrice A est à diagonale strictement dominante, donc les algorithmes de Jacobi et celui de Gauss-Seidel sont tous deux convergents.
- En partant du vecteur x0 = (0,0,0)T :
- x11 = (1/4) * (2 - (-2)×0 - 0×0) = 1/2
- x12 = (1/5) * (3 - (-2)×0 - 2×0) = 3/5
- x13 = (1/10) * (2 - 0×0 - 2×0) = 1/5
- x21 = (1/4) * (2 - (-2)×(3/5) - 0×(1/5)) = 4/5
- x22 = (1/5) * (3 - (-2)×(1/2) - 2×(1/5)) = 18/25
- x23 = (1/10) * (2 - 0×(1/2) - 2×(3/5)) = 2/25
- x31 = (1/4) * (2 - (-2)×(18/25) - 0×(2/25)) = 43/50
- x32 = (1/5) * (3 - (-2)×(4/5) - 2×(2/25)) = 111/125
- x33 = (1/10) * (2 - 0×(4/5) - 2×(18/25)) = 7/125
- x11 = (1/4) * (2 - (-2)×0 - 0×0) = 1/2
- x12 = (1/5) * (3 - (-2)×(1/2) - 2×0) = 4/5
- x13 = (1/10) * (2 - 0×(1/2) - 2×(4/5)) = 1/25
- x21 = (1/4) * (2 - (-2)×(4/5) - 0×(1/25)) = 9/10
- x22 = (1/5) * (3 - (-2)×(9/10) - 2×(1/25)) = 118/125
- x23 = (1/10) * (2 - 0×(9/10) - 2×(118/125)) = 7/625
- x31 = (1/4) * (2 - (-2)×(118/125) - 0×(7/625)) = 243/250
- x32 = (1/5) * (3 - (-2)×(243/250) - 2×(7/625)) = 2986/3125
- x33 = (1/10) * (2 - 0×(243/250) - 2×(2986/3125)) = 139/15625
Posons, R = (r11 0 0; r21 r22 0; r31 r32 r33).
On doit avoir, A = R RT, c'est-à-dire,
(r11 0 0; r21 r22 0; r31 r32 r33) (r11 r21 r31; 0 r22 r32; 0 0 r33) = (4 -2 0; -2 5 2; 0 2 10).
Ce qui donne les relations suivantes :
Donc, R = (2 0 0; -1 2 0; 0 1 3).
Et on a bien R RT = (2 0 0; -1 2 0; 0 1 3) (2 -1 0; 0 2 1; 0 0 3) = (4 -2 0; -2 5 2; 0 2 10) = A.
Donc, (2 0 0; -1 2 0; 0 1 3) (y1; y2; y3) = (2; 3; 2) ⇒
2y1 = 2
-y1 + 2y2 = 3
y2 + 3y3 = 2
⇒ y1 = 1; y2 = 2; y3 = 0.
Puis, (2 -1 0; 0 2 1; 0 0 3) (x1; x2; x3) = (1; 2; 0) ⇒
2x1 - x2 = 1
2x2 + x3 = 2
3x3 = 0
⇒ x1 = 1; x2 = 1; x3 = 0.
Finalement on a bien (4 -2 0; -2 5 2; 0 2 10) (1; 1; 0) = (2; 3; 2).
L'algorithme de Gauss-Seidel est donné par : Étant donné un vecteur d'initialisation x0 = (x0i)1≤i≤n, les itérés sont donnés par xk+1i = (bi - ∑1≤j≤i-1 aijxk+1j - ∑i+1≤j≤n aijxkj) / aii.
Première itération pour la méthode de Jacobi :
Donc x1 = (1/2, 3/5, 1/5)T.
Et le vecteur erreur e1 = x1 - x̄ = (1/2, 3/5, 1/5)T - (1,1,0)T = (-1/2, -2/5, 1/5)T. Donc ||e1||∞ = 1/2.
Deuxième itération pour la méthode de Jacobi :
Donc x2 = (4/5, 18/25, 2/25)T.
Et le vecteur erreur e2 = x2 - x̄ = (4/5, 18/25, 2/25)T - (1,1,0)T = (-1/5, -7/25, 2/25)T. Donc ||e2||∞ = 7/25.
Troisième itération pour la méthode de Jacobi :
Donc x3 = (43/50, 111/125, 7/125)T.
Et le vecteur erreur e3 = x3 - x̄ = (43/50, 111/125, 7/125)T - (1,1,0)T = (-7/50, -14/125, 7/125)T. Donc ||e3||∞ = 7/50.
Pour la méthode de Gauss-Seidel, en partant du vecteur x0 = (0,0,0)T :
Première itération pour la méthode de Gauss-Seidel :
Donc x1 = (1/2, 4/5, 1/25)T.
Et le vecteur erreur e1 = x1 - x̄ = (1/2, 4/5, 1/25)T - (1,1,0)T = (-1/2, -1/5, 1/25)T. Donc ||e1||∞ = 1/2.
Deuxième itération pour la méthode de Gauss-Seidel :
Donc x2 = (9/10, 118/125, 7/625)T.
Et le vecteur erreur e2 = x2 - x̄ = (9/10, 118/125, 7/625)T - (1,1,0)T = (-1/10, -7/125, 7/625)T. Donc ||e2||∞ = 1/10.
Troisième itération pour la méthode de Gauss-Seidel :
Donc x3 = (243/250, 2986/3125, 139/15625)T.
Et le vecteur erreur e3 = x3 - x̄ = (243/250, 2986/3125, 139/15625)T - (1,1,0)T = (-7/250, -139/3125, 139/15625)T. Donc ||e3||∞ = 139/3125.
Corrigé de l'exercice 2
On considère la fonction g(x) = √(1 + x).
- g est continue sur [1,2]. On pose f(x) = g(x) - x. f est aussi continue et on a f(1) = g(1) - 1 = √2 - 1 > 0 et f(2) = g(2) - 2 = √3 - 2 < 0. Le Théorème des Valeurs Intermédiaires (T.V.I.) implique qu'il existe un point x̄ ∈ ]1,2[ tel que f(x̄) = 0, c'est-à-dire g(x̄) = x̄. Donc g admet un point fixe. Puisque g est strictement croissante (injective) sur cet intervalle, le point fixe est unique.
- On donne x0 = 1.
- x1 = √(1 + x0) = √2 ≈ 1.414213562. e1 = |x1 - x̄| ≈ 0.20382041.
- x2 = g(x1) = √(1 + x1) = √(1 + √2) ≈ 1.55377397. e2 = |x2 - x̄| ≈ 0.06426001.
- x3 = g(x2) = √(1 + x2) = √(1 + √(1 + √2)) ≈ 1.59805318. e3 = |x3 - x̄| ≈ 0.0199808.
- On a g(x̄) = x̄ donc √(1 + x̄) = x̄, ce qui donne 1 + x̄ = x̄2. D'où le résultat f(x) = x2 - x - 1 = 0.
- La méthode de Newton donne xn+1 = xn - f(xn) / f'(xn). Or f'(x) = 2x - 1, ce qui donne, avec x0 = 1 :
- x1 = 1 - f(1) / f'(1) = 1 - (-1) / 1 = 2. e1 = |x1 - x̄| ≈ 0.38196602.
- x2 = 2 - f(2) / f'(2) = 2 - 1 / 3 = 5/3. e2 = |x2 - x̄| ≈ 0.04863268.
- x3 = 5/3 - f(5/3) / f'(5/3) = 5/3 - (1/9) / (7/3) = 5/3 - 1/21 = 34/21. e3 = |x3 - x̄| ≈ 0.001.
- On remarque que √(1 + √(1 + √(1 + √1 + ...))) = limn→+∞ g(xn) = x̄. On a vu que la suite donnée par la méthode du point fixe approche x̄ à 10-3 dès la troisième itération. On continue à calculer les itérées par la méthode de Newton et on calcule l'erreur commise jusqu'à trouver une erreur plus petite que 10-5.
On a alors : x4 = 34/21 - f(34/21) / f'(34/21) = 34/21 - (1/441) / (47/21) = 34/21 - 1/987 = 1597/987 ≈ 1.61803444. e4 = |x4 - x̄| < 10-6. Donc x4 répond bien à l'estimation demandée.
Corrigé de l'exercice 3
- Le polynôme d'interpolation de Lagrange de degré n sur l'ensemble des n+1 points (xi, yi)i=0i=n s'écrit Pn(x) = ∑i=0n (yi ∏j=0, j≠in (x - xj) / (xi - xj)).
- L1(x) = (x(x-1)(x-2)) / ((-1-0)(-1-1)(-1-2)) = - (x3 - 3x2 + 2x) / 6.
- L2(x) = ((x+1)(x-1)(x-2)) / ((0+1)(0-1)(0-2)) = (x3 - 2x2 - x + 2) / 2.
- L3(x) = (x(x+1)(x-2)) / ((1+1)(1-0)(1-2)) = - (x3 - x2 - 2x) / 2.
- L4(x) = (x(x+1)(x-1)) / ((2+1)(2-0)(2-1)) = (x3 - x) / 6.
- Pour la méthode des différences divisées de Newton, on a P3(x) = a0 + a1(x+1) + a2(x+1)(x-0) + a3(x+1)(x-0)(x-1).
- a0 = f[-1] = 0
- a1 = f[-1,0] = 1
- a2 = f[-1,0,1] = -1
- a3 = f[-1,0,1,2] = 1
- Pour approcher ∫2-1 f(x)dx, en utilisant la méthode de Simpson aux points d'interpolations (-1, 0, 1 et 2).
Ici n = 3. On a alors :
Le polynôme d'interpolation est donné par P3(x) = 0×L1(x) + 1×L2(x) + 0×L3(x) + 3×L4(x) = x3 - x2 - x + 1.
En dressant le tableau des différences divisées pour les points f(-1)=0, f(0)=1, f(1)=0, f(2)=3, on obtient les coefficients :
C'est-à-dire que P3(x) = 0 + 1(x+1) - 1(x+1)x + 1(x+1)x(x-1) = x3 - x2 - x + 1.
On utilise la formule composite de Simpson avec un pas h = 1/2 pour l'intégration sur l'intervalle [-1, 2] :
Ic S(f) = (h/6) * (f(-1) + f(2) + 2(f(0) + f(1)) + 4(f(-1/2) + f(1/2) + f(3/2))) ≈ 1/12 * (0 + 3 + 2(1 + 0) + 4(9/8 + 3/8 + 5/8)) ≈ 17/24.
FAQ - Analyse Numérique
Qu'est-ce que la décomposition de Cholesky ?
La décomposition de Cholesky est une méthode de factorisation d'une matrice symétrique définie positive en le produit d'une matrice triangulaire inférieure et de sa transposée. Elle est utilisée pour résoudre des systèmes d'équations linéaires ou pour des simulations de Monte Carlo.
Pourquoi les méthodes de Jacobi et Gauss-Seidel sont-elles convergentes pour la matrice donnée ?
Les méthodes de Jacobi et Gauss-Seidel sont des méthodes itératives pour résoudre des systèmes linéaires. Pour la matrice donnée, elles sont convergentes car la matrice est à diagonale strictement dominante. Cela signifie que la valeur absolue de l'élément diagonal de chaque ligne est supérieure à la somme des valeurs absolues des autres éléments de la même ligne.
À quoi sert la méthode du point fixe et la méthode de Newton ?
La méthode du point fixe est une technique itérative utilisée pour trouver les points fixes d'une fonction, c'est-à-dire les valeurs x pour lesquelles f(x) = x. La méthode de Newton, quant à elle, est une méthode itérative très efficace pour trouver les racines d'une fonction (les valeurs x pour lesquelles f(x) = 0). Les deux sont des outils fondamentaux en analyse numérique pour la résolution d'équations non linéaires.