Vitesse de convergence des suites

En analyse numérique — une branche des mathématiques — on peut classer les suites convergentes en fonction de leur vitesse de convergence vers leur point limite. C'est une manière d'apprécier l'efficacité des algorithmes qui les génèrent.

Les suites considérées ici sont convergentes sans être stationnaires (tous leurs termes sont même supposés différents du point limite). Si une suite est stationnaire, tous ses éléments sont égaux à partir d'un certain rang et il est alors normal de s'intéresser au nombre d'éléments différents du point limite. C'est ce que l'on fait lorsqu'on étudie la complexité des algorithmes trouvant ce qu'ils cherchent en un nombre fini d'étapes.

Vue d'ensemble

Définitions

Cette section décrit quelques notions de vitesse de convergence d'une suite ( x k ) {\displaystyle \left(x_{k}\right)} d'un espace vectoriel normé ( E , ) {\displaystyle \left(E,\|\cdot \|\right)} , vers sa limite x {\displaystyle x_{*}} , fondées sur la comparaison de la norme de l'erreur x k x {\displaystyle x_{k}-x_{*}} de deux éléments successifs. L'erreur est toujours supposée non nulle : x k x {\displaystyle x_{k}\neq x_{*}} , pour tout indice k {\displaystyle k} . Cette hypothèse est raisonnable lorsque la suite est générée par un algorithme « bien conçu », c'est-à-dire pour lequel dès que x k = x {\displaystyle x_{k}=x_{*}} , la suite devient stationnaire après x k {\displaystyle x_{k}} (tous les itérés suivants sont égaux à x {\displaystyle x_{*}} et il n'y a plus de sens à parler de vitesse de convergence). On s'intéresse donc au quotient

x k + 1 x x k x α {\displaystyle {\frac {\|x_{k+1}-x_{*}\|}{\|x_{k}-x_{*}\|^{\alpha }}}} ,

α {\displaystyle \alpha } est un nombre réel strictement positif. L'intérêt pour ce quotient provient du fait qu'on peut souvent l'estimer en faisant un développement de Taylor autour de x {\displaystyle x_{*}} des fonctions définissant le problème que l'on cherche à résoudre et dont x {\displaystyle x_{*}} est solution. Évidemment, plus α {\displaystyle \alpha } est grand, plus la vitesse de convergence est rapide (car asymptotiquement x k x < 1 {\displaystyle \|x_{k}-x_{*}\|<1} ).

Brièvement, on dit que le q-ordre de convergence est α > 1 {\displaystyle \alpha >1} si le quotient ci-dessus est borné. Le préfixe q-, qui rappelle le mot quotient, est souvent omis. On dit aussi que la convergence est :

  • linéaire s'il existe une norme {\displaystyle \|\cdot \|} , un réel τ [ 0 , 1 [ {\displaystyle \tau \in {[0,1[}} et un indice k 1 {\displaystyle k_{1}} tels que pour tout k k 1 {\displaystyle k\geqslant k_{1}} , x k + 1 x τ x k x {\displaystyle \|x_{k+1}-x_{*}\|\leqslant \tau \|x_{k}-x_{*}\|}  ;
  • superlinéaire si x k + 1 x / x k x 0 {\displaystyle \|x_{k+1}-x_{*}\|/\|x_{k}-x_{*}\|\to 0}  ;
  • quadratique (ordre 2) s'il existe une constante C {\displaystyle C} telle que pour tout indice k {\displaystyle k} , x k + 1 x C x k x 2 {\displaystyle \|x_{k+1}-x_{*}\|\leqslant C\|x_{k}-x_{*}\|^{2}}  ;
  • cubique (ordre 3) s'il existe une constante C {\displaystyle C} telle que pour tout indice k {\displaystyle k} , x k + 1 x C x k x 3 {\displaystyle \|x_{k+1}-x_{*}\|\leqslant C\|x_{k}-x_{*}\|^{3}}  ;
  • quartique (ordre 4) s'il existe une constante C {\displaystyle C} telle que pour tout indice k {\displaystyle k} , x k + 1 x C x k x 4 {\displaystyle \|x_{k+1}-x_{*}\|\leqslant C\|x_{k}-x_{*}\|^{4}} etc.

Les trois principales vitesses de convergence en quotient sont les vitesses de convergence linéaire, superlinéaire et quadratique. Elles sont davantage discutées ci-dessous.

Incidence sur le nombre de chiffres significatifs corrects

Numériquement, plus la convergence est rapide, plus le nombre de chiffres significatifs corrects de x k {\displaystyle x_{k}} (ceux identiques à ceux de x {\displaystyle x_{*}} ) augmente vite. Donnons une définition plus précise de cette notion. Si x k {\displaystyle x_{k}} est un vecteur, on ne peut pas définir par un scalaire la correction des chiffres significatifs de toutes ses composantes, mais on peut le faire en moyenne au sens de la norme sur E {\displaystyle E} . On suppose que x 0 {\displaystyle x_{*}\neq 0} car on ne peut définir ce que sont les chiffres significatifs de zéro. Si x k x / x {\displaystyle \|x_{k}-x_{*}\|/\|x_{*}\|} vaut 10 4 {\displaystyle 10^{-4}} , on dira que x k {\displaystyle x_{k}} a 4 chiffres significatifs corrects (ce serait effectivement le cas si x k {\displaystyle x_{k}} et x {\displaystyle x_{*}} étaient des scalaires). Ceci conduit à la définition suivante.

Nombre de chiffres significatifs corrects — Le nombre de chiffres significatifs corrects de x k {\displaystyle x_{k}} par rapport à x 0 {\displaystyle x_{*}\neq 0} est le nombre réel défini par

σ k := log 10 x k x x {\displaystyle \sigma _{k}:=-\log _{10}\,{\frac {\|x_{k}-x_{*}\|}{\|x_{*}\|}}} .

Lorsque x 0 {\displaystyle x_{*}\neq 0} , on peut exprimer les vitesses de convergence en quotient en utilisant σ k {\displaystyle \sigma _{k}} plutôt que le quotient ci-dessus, ce que nous ferons.

Estimation sans connaissance de la limite

Il est parfois intéressant de vérifier numériquement que les suites générées par un algorithme ont bien la vitesse de convergence attendue. Bien sûr, c'est une manière de vérifier que l'algorithme est bien implémenté, mais il y a une autre motivation. Par exemple, sous certaines hypothèses de régularité, on sait que l'algorithme de Newton converge quadratiquement ; cet algorithme procède par linéarisation de la fonction qu'il cherche à annuler ; vérifier que la convergence des suites générées est bien quadratique est alors une indication sur la correction du calcul des dérivées.

En général on ne connaît pas la solution, si bien que la vérification de la vitesse de convergence en quotient attendue par l'examen du quotient de la norme des erreurs successives requiert une double résolution du problème. La première résolution sert à calculer une approximation précise de la solution x {\displaystyle x_{*}}  ; la seconde résolution examine les quotients sus-mentionnés. On peut éviter cette double résolution si l'on arrive à exprimer la vitesse de convergence en termes d'une quantité dont la limite est connue, typiquement nulle.

Il en est ainsi si l'on cherche à annuler une fonction f : E F {\displaystyle f:E\to F} , c'est-à-dire à trouver un point x {\displaystyle x_{*}} tel que

f ( x ) = 0 {\displaystyle f(x_{*})=0} ,

pourvu que

f ( x ) ( x x ) {\displaystyle f(x)\sim (x-x_{*})} .

Cette écriture signifie qu'il existe des constantes C 1 > 0 {\displaystyle C_{1}>0} et C 2 > 0 {\displaystyle C_{2}>0} telles que pour tout x {\displaystyle x} voisin de x {\displaystyle x_{*}} , on a C 1 f ( x ) x x C 2 f ( x ) {\displaystyle C_{1}\|f(x)\|\leqslant \|x-x_{*}\|\leqslant C_{2}\|f(x)\|} . Une telle équivalence de comportement asymptotique est vérifiée si f {\displaystyle f} est différentiable en x {\displaystyle x_{*}} et si f ( x ) {\displaystyle f'(x_{*})} est inversible. Les vitesses de convergence d'une suite ( x k ) {\displaystyle \left(x_{k}\right)} présentées ci-dessous seront également exprimées en termes du logarithme de la norme de f ( x k ) {\displaystyle f(x_{k})} , de manière à permettre une vérification numérique de cette convergence.

Convergence linéaire

Cette vitesse de convergence est parfois appelée convergence géométrique, car la norme de l'erreur x k x {\displaystyle \|x_{k}-x_{*}\|} est majorée asymptotiquement par une suite géométrique de raison τ {\displaystyle \tau } .

Convergence linéaire — On dit qu'une suite ( x k ) {\displaystyle \left(x_{k}\right)} converge linéairement vers x {\displaystyle x_{*}} s'il existe une norme {\displaystyle \|\cdot \|} , un scalaire τ [ 0 , 1 [ {\displaystyle \tau \in \left[0,1\right[} et un indice k 1 {\displaystyle k_{1}} tels que

k k 1 x k + 1 x τ x k x {\displaystyle \forall k\geqslant k_{1}\quad \|x_{k+1}-x_{*}\|\leqslant \tau \|x_{k}-x_{*}\|} .

Il faut donc que la norme de l'erreur décroisse strictement à chaque itération à partir d'une certaine itération, avec un taux de décroissance τ {\displaystyle \tau } strictement plus petit que 1. Le scalaire τ {\displaystyle \tau } est appelé le taux de convergence de la suite. Cette propriété dépend du choix de la norme que l'on utilise pour mesurer l'erreur, car l'estimation ci-dessus peut être vraie pour une norme et (malgré l'équivalence des normes en dimension finie) peut ne plus être vérifiée avec une constante τ < 1 {\displaystyle \tau <1} pour une autre norme.

Le résultat suivant fait le lien entre la convergence linéaire et le nombre σ k {\displaystyle \sigma _{k}} de chiffres significatifs corrects des itérés.

Convergence linéaire en termes de σ k {\displaystyle \sigma _{k}}  — La suite ( x k ) {\displaystyle \left(x_{k}\right)} converge linéairement vers x 0 {\displaystyle x_{*}\neq 0} pour la norme {\displaystyle \|\cdot \|} si, et seulement si, il existe une constante σ > 0 {\displaystyle \sigma >0} et un indice k 1 {\displaystyle k_{1}} tels que

k k 1 σ k + 1 σ k + σ {\displaystyle \forall k\geqslant k_{1}\quad \sigma _{k+1}\geqslant \sigma _{k}+\sigma } ,

σ k {\displaystyle \sigma _{k}} est défini avec la norme {\displaystyle \|\cdot \|} .

Exemples d'algorithmes générant des suites linéairement convergentes
  • l'algorithme du gradient pour minimiser une fonction quadratique strictement convexe. Ceci n'est pas une bonne vitesse de convergence pour un algorithme d'optimisation différentiable ;
  • la méthode de dichotomie ou de la bissection pour rechercher un zéro d'une fonction réelle d'une variable réelle.

Convergence superlinéaire

Convergence superlinéaire — On dit qu'une suite ( x k ) {\displaystyle \left(x_{k}\right)} converge superlinéairement vers x {\displaystyle x_{*}} si

la suite ( x k + 1 x x k x ) {\displaystyle \left({\frac {\|x_{k+1}-x_{*}\|}{\|x_{k}-x_{*}\|}}\right)} tend vers 0 {\displaystyle 0} .

Cette propriété est indépendante du choix de la norme. Clairement, toute suite convergeant superlinéairement converge linéairement.

Le résultat suivant fait le lien entre la convergence superlinéaire et le nombre σ k {\displaystyle \sigma _{k}} de chiffres significatifs corrects des itérés.

Convergence superlinéaire en termes de σ k {\displaystyle \sigma _{k}}  — La suite ( x k ) {\displaystyle \left(x_{k}\right)} converge superlinéairement vers x 0 {\displaystyle x_{*}\neq 0} pour la norme {\displaystyle \|\cdot \|} si, et seulement si,

σ k + 1 σ k {\displaystyle \sigma _{k+1}-\sigma _{k}\to \infty } ,

σ k {\displaystyle \sigma _{k}} est défini avec la norme {\displaystyle \|\cdot \|} .

Voici une manière de vérifier numériquement la convergence superlinéaire d'une suite par l'intermédiaire d'une fonction s'annulant au point limite.

Convergence superlinéaire en termes d'une fonction s'annulant au point limite — Soient x E {\displaystyle x_{*}\in E} un point et f : E E {\displaystyle f:E\to E} une fonction telle que f ( x ) = 0 {\displaystyle f(x_{*})=0} et telle que f ( x ) ( x x ) {\displaystyle f(x)\,\sim \,(x-x_{*})} pour x {\displaystyle x} proche de x {\displaystyle x_{*}} . Alors la suite ( x k ) {\displaystyle \left(x_{k}\right)} converge superlinéairement vers x {\displaystyle x_{*}} pour la norme {\displaystyle \|\cdot \|} si, et seulement si,

log f ( x k + 1 ) log f ( x k ) {\displaystyle \log \|f(x_{k+1})\|-\log \|f(x_{k})\|\to -\infty } .

On peut le dire autrement : la suite ( x k ) {\displaystyle \left(x_{k}\right)} converge superlinéairement si, et seulement si, le tracé k log f ( x k ) {\displaystyle k\mapsto \log \|f(x_{k})\|} a une majorante affine de pente négative arbitraire.

Exemples d'algorithmes générant des suites superlinéairement convergentes
  • les algorithmes de quasi-Newton en optimisation ou pour résoudre un système d'équations non linéaires ;
  • la méthode de Müller pour rechercher un zéro d'une fonction réelle d'une variable réelle. Plus précisément, son ordre de convergence est de 1,84.

Convergence quadratique

Convergence quadratique — On dit qu'une suite ( x k ) {\displaystyle \left(x_{k}\right)} converge quadratiquement vers x {\displaystyle x_{*}} si

la suite ( x k + 1 x x k x 2 ) {\displaystyle \left({\frac {\|x_{k+1}-x_{*}\|}{\|x_{k}-x_{*}\|^{2}}}\right)} est majorée

Clairement, toute suite convergeant quadratiquement converge superlinéairement.

Le résultat suivant fait le lien entre la convergence quadratique et le nombre σ k {\displaystyle \sigma _{k}} de chiffres significatifs corrects des itérés.

Convergence quadratique en termes de σ k {\displaystyle \sigma _{k}}  — La suite ( x k ) {\displaystyle \left(x_{k}\right)} converge quadratiquement vers x 0 {\displaystyle x_{*}\neq 0} pour la norme {\displaystyle \|\cdot \|} si, et seulement si, il existe une constante C {\displaystyle C} telle que

σ k + 1 2 σ k + C {\displaystyle \sigma _{k+1}\geqslant 2\sigma _{k}+C} ,

σ k {\displaystyle \sigma _{k}} est défini avec la norme {\displaystyle \|\cdot \|} . Dans ce cas,

lim inf k σ k + 1 σ k 2 {\displaystyle \liminf _{k\to \infty }\;{\frac {\sigma _{k+1}}{\sigma _{k}}}\geqslant 2} .

De manière imagée, on peut exprimer verbalement la dernière inégalité en disant qu'une suite ( x k ) {\displaystyle \left(x_{k}\right)} convergeant quadratiquement a des éléments x k {\displaystyle x_{k}} dont le nombre de chiffres significatifs corrects double à chaque itération asymptotiquement. C'est une convergence très rapide puisque l'on atteint alors très vite le nombre maximal de chiffres significatifs qu'un ordinateur donné peut représenter (15..16 pour des nombres en double précision). Il est dès lors rarement utile d'avoir des suites convergeant plus rapidement.

Voici une manière de vérifier numériquement la convergence quadratique d'une suite par l'intermédiaire d'une fonction s'annulant au point limite.

Convergence quadratique en termes d'une fonction s'annulant au point limite — Soient x {\displaystyle x_{*}} un point de E {\displaystyle E} et f : E E {\displaystyle f:E\to E} une fonction telle que f ( x ) = 0 {\displaystyle f(x_{*})=0} et telle que f ( x ) ( x x ) {\displaystyle f(x)\,\sim \,(x-x_{*})} pour x {\displaystyle x} proche de x {\displaystyle x_{*}} . Alors la suite ( x k ) {\displaystyle \left(x_{k}\right)} converge quadratiquement vers x {\displaystyle x_{*}} si, et seulement si, il existe une constante C {\displaystyle C} telle que

log f ( x k + 1 ) 2 log f ( x k ) + C {\displaystyle \log \|f(x_{k+1})\|\leqslant 2\log \|f(x_{k})\|+C} .

Dans ce cas,

lim inf k log f ( x k + 1 ) log f ( x k ) 2 {\displaystyle \liminf _{k\to \infty }\,{\frac {\log \|f(x_{k+1})\|}{\log \|f(x_{k})\|}}\geqslant 2} .
Exemples d'algorithmes générant des suites quadratiquement convergentes
  • l'algorithme de Newton en optimisation ou pour résoudre un système d'équations non linéaires ;
  • l'algorithme de Josephy-Newton pour résoudre une inclusion fonctionnelle particulière ;
  • l'algorithme de Newton semi-lisse pour résoudre des systèmes d'équations semi-lisses.

Typiquement, ce sont donc les algorithmes qui procèdent par linéarisation totale ou partielle des équations/inclusions à résoudre qui génèrent des suites convergeant quadratiquement.

Bibliographie

(en) J. M. Ortega et W. C. Rheinboldt, Iterative Solution of Nonlinear Equations in Several Variables, New York, Academic Press, (lire en ligne)

  • icône décorative Portail de l'analyse