1 / 10

Méthodes itératives

Méthodes itératives. Point fixe d’une fonction.

jaguar
Download Presentation

Méthodes itératives

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Méthodes itératives Point fixe d’une fonction En débutant par le choix d’une valeur initiale considérée comme une première ébauche de solution à un problème donné, la méthode du point fixe procède par itérations au cours desquelles elle détermine une succession de solutions approximatives qui convergent vers la solution cherchée après un nombre infini d’étapes. Les méthodes itératives diffèrent des méthodes directes qui résolvent le problème en un nombre fini d’étapes (par exemple la solution d'un système linéaire A*x = b obtenue en calculant la matrice inverse de A). Un exemple simple est de calculer la solution de l’équation cos(x) – x =0 que l’on réécrit sous la forme : x = cos(x). Partant d’une valeur initiale, par exemple x0 = -1, on applique la récurrence xn+1 = cos(xn) et constatons que la suite converge vers la valeur β = 0.739085... : x0=-1 x1=cos(x0)=0.54030 x2=cos(x1)=0.85755 ... x20=cos(x19)=0.73918 ... On dit que β est un point fixe de la fonction cosinus et on a : β = cos(β). Il correspond à l’intersection des courbes y = cos(x) et y = x.

  2. Méthodes itératives Point fixe: exemples La récurrence ne converge pas forcément vers un point fixe La fonction exponentielle ne possède pas de point fixe

  3. Méthodes itératives Point fixe: fonction contractante • Soient f: E  ℝ une application et k un réel positif < 1. • On dit que f est contractante si : Rq: Si on prend x et y suffisamment proches, f contractante  |f’(x)| < 1. • Considérons la récurrence xn+1 = f(xn), si f est contractante : • Alors elle possède un point fixe β = f(β) qui est la limite vers laquelle la suite converge (la distance diminue à chaque itération). • D’un point de vue pratique si |f’(x)| > 1 dans le voisinage d’un point fixe β, alors la suite ne convergera pas sur celui-ci. • Il existe de nombreux théorèmes du point fixe: http://fr.wikipedia.org/wiki/Théorèmes_de_point_fixe.

  4. Méthodes itératives Point fixe: recherche de zéro • On peut utiliser l’algorithme pour chercher les zéros d’une fonction g(x). En effet, on peut écrire: • Par la suite et si il y a convergence, on aura: • ( est le point fixe de la fonction g(x)+x) • Exemple: • On cherche le zéro de g(x) = sin(cos(x)+sin(x)+1)2 - ½ • (x) = g(x) + x sur laquelle on tente d’appliquer la méthode du point fixe: • g = @(x) sin(cos(x)+sin(x)+1).^2- ½; • continuer=true; • niter = 1; • x(1) = -0.5; • while continuer • niter = niter + 1; • x(niter) = g(x(niter-1)) + x(niter-1); % g(x) + x • if abs(x(niter) - x(niter-1)) < 1e-6, continuer = false; end • if niter > 50, continuer = false; end • end • converge en 25 itérations, alors que fzero trouve la solution en 10 itérations.

  5. Méthodes itératives Point fixe: recherche de zéro Exemple: On a vu que si |’(x)| > 1, alors la fonction n’est pas contractante et l’algorithme ne convergera pas. Supposons qu’on ait à résoudre x2 – 5 = 0 par une méthode de point fixe. Comme précédemment on peut proposer la récurrence: xn+1 = xn2 - 5 + xn = (xn). Le calcul de ’(x) autour de x = 51/2montre alors qu’elle ne peut pas converger. .. Une méthode simple pour définir une fonction  contractante est de procéder à un « spliting »: x2 – 5 = 0 2x2 – x2 – 5 = 0 2x2 = x2 + 5 x.2x = x2 + 5 x = (x2 + 5) / 2x  xn+1 = (xn2 + 5) / 2xn qui converge (avec une valeur initiale x0 = 2). D’autres façons de « spliter » sont possibles...

  6. Méthodes itératives Systèmes d’équations: méthodes directes, généralités Un système de n équations linéaires de n inconnues x tel que A*x = b, peut être résolue par la méthode de Cramer qui est une méthode directe (environ 2(n+1)! opérations nécessaires). Cependant, un ordinateur capable d’effectuer 109 opérations par seconde (1 giga flops) mettrait 3240 ans pour résoudre un système avec n=20... Parmi les autres méthodes directes (et plus efficaces), citons la factorisation LU (Low-Up) qui consiste à transformer la matrice A en un produit de 2 matrices triangulaires : A = L*U telle que: A*x = b  L*U*x = b, ce qui réduit le système en 2 systèmes triangulaires L*y=b, U*x=y, faciles (rapides) à résoudre. La commande « \ » de Matlab utilise de telles méthodes en s’adaptant au type de matrice A: creuse, symétrique, à bandes, … Les valeurs propres v d’une matrice A sont telles que A*v = v. On appelle conditionnement d’une matrice A, le rapport K(A) = max / min. K(A) est une mesure de la façon dont les erreurs d’arrondi se propagent dans les calculs. max est appelé rayon spectral de la matrice A.

  7. Méthodes itératives Systèmes d’équations linéaires: un exemple de méthode itérative Soit le système A*x=b:  Soit encore: D’où l’on tire une méthode itérative démarrant avec une valeur initiale (x0; y0; z0): Remarquez que: Et que: Les itérations seront arrêtées lorsque : sqrt{|xn+1 - xn|2 + |yn+1 - yn|2 +|zn+1 - zn|2 } < tolx une tolérance donnée Commande Matlab : norm.

  8. Méthodes itératives Systèmes d’équations linéaires: Jacobi Soit le problème linéaire A*x = b. On peut appliquer une méthode itérative similaire à celle du point fixe pour le résoudre. La méthode de Jacobi* peut s’appliquer si les éléments diagonaux de la matrice A sont non nuls. On isole l’inconnue xi dans la iième ligne. D’où l’on tire la méthode itérative: Sous forme matricielle**, avec x(n) le vecteur x calculé à l’itération n et D la matrice des éléments diagonaux de A: *Les méthodes de sur-relaxation, Gauss-Siebel, … sont des variantes de Jacobi. Voir le livre de Quarteroni. ** La méthode converge si le rayon spectral de la matrice d’itération D\(D-A) est < 1

  9. Méthodes itératives Systèmes d’équations non-linéaires, Méthodes directes ou itératives ? Comme on l’a déjà vu, les systèmes non-linéaires ne peuvent pas se mettre sous la forme A*x = b. Chacune des n équations peut cependant être spécifiquement « splitée » de façon à générer une méthode itérative Les méthodes directes nécessitent une mémoire importante de l’ordinateur. Le choix direct ou itératif dépendra de l’efficacité théorique des algorithmes utilisés, du type de matrice, de l’architecture de l’ordinateur, … Il n’y a donc pas réponse définitive.

  10. Méthodes itératives Exercices et questions de cours 1/ Programmer une méthode itérative ( Newton) pour résoudre : log(abs(x)) + 11sin(x)=7. 2/ Programmer une méthode itérative ( Newton) pour résoudre : 3/ Programmer la méthode de Jacobi pour résoudre : 4/ Qu’est-ce qu’un point fixe d’une fonction f(x) ? 5/ Quelle est la différence entre une méthode directe et une méthode itérative ? 6/ Qu’est-ce qu’une fonction contractante ?

More Related