Résolution de grands systèmes d’équations : du linéaire au non linéaire via des dérivées successives Sandrine BARGIACCHI Laboratoire MIP - Université Paul Sabatier - 118, route de Narbonne 31062 Toulouse Cedex 4 Mohamed MASMOUDI Laboratoire MIP - Université Paul Sabatier - 118, route de Narbonne 31062 Toulouse Cedex 4 Mots-clefs : systèmes linéaires, espaces de Krylov, GMRES, systèmes non linéaires, méthode de Newton, différentiation algorithmique. Résumé : Les méthodes classiques de résolution de grands systèmes linéaires sont présentées en mettant en évidence l’utilisation sous-jacente de dérivées successives par rapport à un paramètre réel. En généralisant les méthodes de type relaxation (dont les itérés sont des polynômes de Taylor), nous proposons un algorithme de résolution de systèmes non linéaires ayant pour cas particulier la méthode de Newton. Que le système que l’on souhaite résoudre soit linéaire ou non, minimiser son résidu sur l’espace engendré par les coefficients de Taylor (comme le fait GMRES) entraı̂ne une convergence plus rapide que la simple utilisation du polynôme de Taylor. Certains systèmes non linéaires peuvent ainsi être résolus pour un coût similaire à une résolution d’un système linéaire par GMRES. 1 Introduction La méthode GMRES (souvent préconditionnée ; cf. [8]) est performante pour résoudre de grands systèmes linéaires. Nous proposons une extension de ce type d’algorithmes au cas non linéaire. Pour cela nous mettons en évidence, à la section 2, l’utilisation sous-jacente de dérivées successives dans les méthodes itératives de résolution de systèmes linéaires. A la section 3, les systèmes non linéaires sont paramétrés afin de pouvoir calculer les dérivées qui nous intéressent, puis les exploiter. Un algorithme utilisant les polynômes de Taylor (généralisation des méthodes de type relaxation) est présenté à la section 4. Enfin, la généralisation de GMRES fait l’objet de la section 5. Des tests numériques sont réalisés à partir de différentes versions de ces méthodes. 2 Méthodes classiques de résolution de systèmes linéaires et dérivées Soient A une matrice réelle inversible, de dimension n×n (avec n > 1 mais nous nous intéressons en particulier au cas où n est grand) et b un vecteur de Rn . Nous cherchons le vecteur x ∈ Rn tel que A x = b. (1) Différents types de méthodes permettent de résoudre un tel système. Dans le cas de systèmes de grande taille, les méthodes itératives sont préférées aux méthodes directes. 2.1 Les méthodes itératives de type relaxation Les premières méthodes itératives utilisées sont les méthodes de Jacobi, de Gauss-Seidel et plus généralement les méthodes de relaxation. Afin de donner leur écriture vectorielle, nous introduisons la décomposition de la matrice A en A = D −E −F où D est la diagonale de A, −E sa partie triangulaire strictement inférieure et −F sa partie triangulaire strictement supérieure. Canum 2003 1 Les itérés de Jacobi, de Gauss-Seidel et plus généralement d’une méthode de relaxation sont définis, à partir de x0 donné, par la relation de récurrence P xk+1 = (P − A) xk + b pour k > 0 (2) où P = D dans le cas de Jacobi, P = D − E dans le cas de Gauss-Seidel et P = ω1 D − E avec ω un réel positif pour un méthode de relaxation générale. D’autres choix pour la matrice P intervenant dans l’équation (2) sont envisageables : voir, par exemple, [8]. Quel que soit ce choix, une condition nécessaire et suffisante pour que la méthode converge est donnée par la proposition suivante (pour la preuve, se référer, par exemple, à [2]). Proposition 1 ( Convergence des méthodes de type relaxation) La méthode itérative, définie à partir de x0 donné, par la récurrence (2) converge si et seulement si ρ P −1 (P − A) < 1 où ρ(M ) représente le rayon spectral de la matrice M . 2.2 Les espaces de Krylov Considérons les itérés définis, à partir de x0 donné, par la récurrence de Richardson (cas particulier de l’équation (2) où P = I la matrice identité) : xk+1 = (I − A) xk + b. L’espace qu’ils engendrent est tel que Vect {x0 , x1 , ..., xm−1 } = x0 + Vect r0 , A r0 , ..., Am−1 r0 où r0 = b − A x0 est le résidu initial. L’espace Vect r0 , A r0 , ..., Am−1 r0 est un espace de Krylov, espace dont la définition suit. Définition 1 (Espace de Krylov) Soient m ∈ N∗ , une matrice A ∈ Mn et un vecteur v ∈ Rn , l’espace Km (A, v) = Vect v, A v, A2 v, ..., Am−1 v est appelé espace de Krylov (d’ordre m, engendré par la matrice A et le vecteur v). Pour les propriétes des espaces de Krylov, voir [8, chap 6]. D’une manière générale, les itérés provenant de l’équation (2) sont tels que Vect {x0 , x1 , ..., xm−1 } = x0 + Km P −1 A, P −1 r0 . Des méthodes de projection consistent également à chercher une approximation de la solution dans x0 + Km (A, r0 ) ou x0 + Km P −1 A, P −1 r0 pour une certaine matrice P . 2.3 Les méthodes de projection Le principe des méthodes de projection est de chercher la solution du système linéaire (1) non pas directement dans Rn mais dans un sous-espace de celui-ci, de dimension m petite devant n, judicieusement choisi et appelé espace de recherche. Pour extraire une approximation Canum 2003 2 (3) de ce sous-espace, celle-ci est choisie de façon à ce que le nouveau résidu soit orthogonal à m vecteurs indépendants (ce sont les conditions de Petrov-Galerkin). Si ces vecteurs sont ceux qui engendrent l’espace de recherche, il s’agit d’une projection orthogonale, s’ils sont différents, il s’agit d’une projection oblique. Pour le cadre général des méthodes de projection, voir [8, chap 5]. Les méthodes de projection les plus utilisées consistent à projeter sur un espace de Krylov : l’espace de recherche de dimension m est pris égal à Km (A, r0 ) où r0 = b − A x0 . Nous allons en particulier nous intéresser à la méthode GMRES avec redémarrage (Generalized Minimum Residual, cf. [9] et [8]) qui est parmi les méthodes les plus robustes pour la résolution de systèmes linéaires de matrice quelconque. L’algorithme “mathématique” est le suivant : Algorithme 1 (GMRES(m)) x0 point initial ε tolérance r0 = b − A x 0 m dimension des espaces de recherche i=0 tant que kA xi − bk > ε faire construire une base de Km (A, ri ) xi+1 est la solution de min x∈xi +Km (A,ri ) kA x − bk2 i←i+1 ri = b − A x i fin du tant que Pour tenter d’améliorer la convergence d’une telle méthode (i.e. réduire le nombre d’itérations nécessaires pour atteindre un résidu donné), il est utile de préconditionner le système. La méthode GMRES(m) préconditionnée à gauche consiste simplement en l’application de l’algorithme 1 au problème P −1 A x = P −1 b. (4) Cela devient une méthode de projection sur des espaces de Krylov engendrés par la matrice P −1 A et le vecteur résidu préconditionné. Ces espaces sont construits par résolutions de systèmes de matrice P : ces résolutions doivent être faciles. Un système peut également être préconditionné à droite ou à la fois à gauche et à droite. De même, en réécrivant la récurrence (2) concernant les méthodes de type relaxation sous la forme xk+1 = (I − P −1 A) xk + P −1 b, il apparaı̂t que ces méthodes peuvent être vues comme l’application d’une méthode de point fixe au système préconditionné (4). Dans ce cas, P est égal à D, à D − E ou à ω1 D − E suivant la méthode choisie. 2.4 Où apparaissent des dérivées Supposons que nous souhaitions résoudre le système linéaire (1) par un procédé itératif et que nous disposions pour cela, d’une part d’un vecteur initial x0 ∈ Rn et, d’autre part, d’un préconditionneur P adapté à la matrice A. Considérons l’application [0, 1] → Rn y: α 7→ y(α) Canum 2003 3 définie par ((1 − α) P + α A) y(α) = b − A x0 (5) où b − A x0 , qui représente le résidu initial, sera aussi dénoté r0 . Intéressons-nous tout d’abord aux formes prises par ce système paramétré (5) pour les valeurs extrèmes de α : 0 et 1. En α = 0, (5) se simplifie en P y(0) = r0 , système qui, P étant un préconditionneur, est relativement “simple” à résoudre. Et, pour α = 1, (5) devient A y(1) = b − A x0 ce qui signifie que x0 + y(1) est la solution du système initial (1). Autrement dit, nous disposons d’une application dépendant d’un paramètre α ∈ [0, 1], telle que sa valeur en 0 est facile à calculer et que sa valeur en 1 est la quantité cherchée. Une idée classique pour résoudre un problème formulé de cette manière consiste Pd à approcher [k] y(1) par son polynôme de Taylor de degré d formé en 0 (et évalué en 1) : k=0 y (0) où, [k] comme dans toute la suite, y (0) dénote le k-ième coefficient de Taylor de l’application y en 0, y (k) (0) c’est-à-dire y [k] (0) = . k! De fait, les dérivées de y par rapport à α en α = 0 sont faciles à calculer. Théorème 1 (Expression des dérivées) Les dérivées, par rapport à α, de l’application y définie en (5) sont telles que : P y(0) = r0 , (6) [k] P y (0) = (P − A) y [k−1] (0) pour k > 1. (7) Il est important de noter que toutes les dérivées sont calculées par résolution de systèmes linéaire de même matrice P . Théorème 2 (Espaces de Krylov et dérivées) Pour tout m ∈ N∗ , les dérivées de y en 0 vérifient : n o Vect y(0), y 0 (0), ...y [m−1] (0) = Km P −1 A, P −1 r0 où Km (A, v) est défini par l’équation (3). Avant d’énoncer la conséquence immédiate de ce théorème pour les méthodes de projection sur des espaces de Krylov, revenons au commentaire que nous formulions avant de donner l’expression des dérivées : nous suggérions P d’approcher y(1) (toujours pour y définie par (5)) par son polynôme de Taylor de degré d, dk=0 y [k] (0). Le théorème suivant établi que, pour des préconditionneurs particuliers, c’est ce que font les méthodes de type relaxation. Canum 2003 4 (8) Théorème 3 (Méthodes de relaxation et dérivées) Soit x0 donné, alors pour tout k > 0 xk+1 = x0 + k X y [j] (0) j=0 où xk+1 est un itéré d’une méthode de relaxation vérifiant la récurrence (2) et l’application y est définie par (5) avec P correspondant à la méthode de relaxation considérée. Preuve La démonstration se fait par récurrence. Pour k = 0, x1 = P −1 (P − A) x0 + P −1 b = x0 + P −1 r0 = x0 + y(0). Soit k tel que xk+1 = x0 + k X y [j] (0) alors j=0 xk+2 = P −1 (P − A) xk+1 + P −1 b k X = P −1 (P − A) x0 + y [j] (0) + P −1 b j=0 = x0 + P −1 r0 + k X y [j+1] (0) j=0 d’après le théorème 1. Ce qui entraı̂ne xk+2 = x0 + k+1 X y [j] (0). j=0 D’où le résultat. La proposition 1 donne une condition nécessaire et suffisante de convergence des méthodes définies par une récurrence de la forme (2). Par ailleurs, la suite des polynômes de Taylor P k [j] converge vers y(1) si et seulement si l’application α 7→ y(α) n’a pas de pôles dans j=0 y (0) k le disque unité fermé. Le théorème suivant montre que ces deux conditions sont équivalentes. Théorème 4 (Convergence des méthodes de relaxation et polynômes de Taylor) −1 La condition ρ P (P − A) < 1 est vérifiée si et seulement si l’application α 7→ y(α) définie par (5) n’admet pas de pôles dans le disque unité fermé. Preuve La condition ρ P −1 (P − A) < 1 signifie que P −1 (P − A) − λ I n’est jamais singulière pour |λ| > 1. Il en est de même pour (P − A) − λ P . Avec α = λ1 , il vient que (1 − α) P + α A n’est jamais singulière pour |α| 6 1. Canum 2003 5 Enonçons maintenant la conséquence du théorème 2 quant aux méthodes de projection sur un espace de Krylov. Théorème 5 (Méthodes de projection et dérivées) Les méthodes de projection sur l’espace de Krylov Km (P −1 A, P −1 r0 ) sont des méthodes de projection sur l’espace engendré par les dérivées successives de l’application y définie par (5). Notons que dans le cas d’une projection, les pôles de l’application α 7→ y(α) n’entrave pas la convergence de la méthode. Le point de vue sur les méthodes classiques de résolution des systèmes linéaires que nous venons de présenter va nous permettre de les généraliser aux cas non linéaires. 3 Cas d’un système non linéaire : obtention de dérivées Nous considérons maintenant une application non linéaire n R → Rn F : x 7→ F (x) (où n > 1) pour laquelle il existe x∗ ∈ Rn tel que F (x∗ ) = 0. Nous cherchons à localiser la racine x∗ dans le cas où F est plusieurs fois différentiable. Pour cela, nous allons proposer un système dépendant d’un paramètre réel α par rapport auquel nous pourrons dériver, pour ensuite exploiter les dérivées à la manière des méthodes de résolution des systèmes linéaires. Par abus de notation, nous utiliserons l’écriture F 0 (x) pour la jacobienne de F et F (i) (x) pour Di F (x) où i > 2. Pour toute fonction u, nous noterons, comme dans le cas linéaire, u [k] (t) le k-ième coefficient de Taylor de u en t. 3.1 Paramétrisation d’un sytème non linéaire Nous avons mis en évidence précédemment que les méthodes classiques de résolution d’un système linéaire de la forme A x = b reposent sur l’utilisation des dérivées de l’application y : [0, 1] → Rn définie par ((1 − α) P + α A) y(α) = b − A x0 (9) où P est une matrice “proche” de A. Il est possible de réécrire (9) sous la forme (1 − α) (A x0 − b + P y(α)) + α (A (x0 + y(α)) − b) = 0. (10) En remplaçant dans (10) la fonction “linéaire” A x − b par la fonction non linéaire F (x), nous obtenons : (1 − α)(F (x0 ) + P y(α)) + α F (x0 + y(α)) = 0 (11) où P est une matrice de dimension n × n, à préciser. Nous pouvons déjà noter que cette paramétrisation implique que y(0) est la solution d’un système linéaire et que y(1) est tel que F (x0 + y(1)) = 0. Définition 2 (Application-chemin) Soient P une matrice n × n et x0 ∈ Rn , nous appelons “application-chemin” de F pour P et x0 [0, 1] → Rn l’application (lorsqu’elle existe) y : avec y(α) définie par l’équation (11) i.e. α 7→ y(α) (1 − α)(F (x0 ) + P y(α)) + α F (x0 + y(α)) = 0. Canum 2003 6 Une linéarisation de F (x0 + y(α)) est F (x0 ) + F 0 (x0 ) y(α). Comme il semble naturel d’aller de la linéarisation de la fonction (en α = 0) à la fonction elle-même (en α = 1), le choix le plus naturel pour P semble être P = F 0 (x0 ). C’est le meilleur choix possible pour P dans le sens où, dans le cas où F est linéaire, le problème est résolu dès que l’équation (11) est résolue en α = 0. Nous allons donc nous intéresser prioritairement à la paramétrisation (1 − α)(F (x0 ) + F 0 (x0 ) y(α)) + α F (x0 + y(α)) = 0 (12) et à l’application-chemin correspondante. En α = 0, nous devons donc résoudre F 0 (x0 ) y(0) = −F (x0 ), (13) ce qui signifie que y(0) est la direction de Newton pour F en x0 . Nous pouvons donc d’ores et déjà dire qu’en exploitant la valeur de y et de ses dérivées en α = 0, nous généralisons la méthode de Newton. Cependant, il peut être coûteux d’évaluer la jacobienne de F et, même si nous allons voir que nous rentabilisons cette évaluation par le calcul d’un certain nombre de dérivées, nous pourrons aussi envisager d’utiliser une matrice P moins coûteuse, du type de celles intervenant dans les méthodes de quasi-Newton. 3.2 Calcul des dérivées Nous employerons parfois abusivement le terme de “dérivée” à la place de ”coefficient de Taylor”. Nous allons voir que, bien que y ne soit définie qu’implicitement, nous pouvons obtenir une expression de ses dérivées successives par rapport à α en α = 0. Théorème 6 (Expression des dérivées) Soient F : Rn → Rn de classe C d avec d > 2, x0 ∈ Rn donné et P une matrice de dimension n × n inversible. L’application y vérifiant, pour α ∈ [0, 1], l’équation : (1 − α) (F (x0 ) + P y(α)) + α F (x0 + y(α)) = 0 (14) est bien définie et de classe C d au voisinage de 0. De plus, sa valeur et celle de ses dérivées successives par rapport à α en α = 0 sont données par : P y(0) = −F (x0 ) (15) 0 P y (0) = −F (x0 + y(0)) (16) [j−1] P y [j] (0) = P y [j−1] (0) − (F (x0 + y(α)))|α=0 [j] soit P y (0) = − j−1 X [l] (F (x0 + y(α)))|α=0 pour 26j6d pour 1 6 j 6 d. (17) (18) l=0 Preuve Considérons l’application R × R n → Rn . H: (α, y) 7→ H(α, y) = (1 − α) (F (x0 ) + P y) + α F (x0 + y) Canum 2003 7 Cette application est également de classe C d . Pour α = 0, H(0, −P −1 F (x0 )) = 0. Par ailleurs, D2 H(α, y) = (1 − α) P + α F 0 (x0 + y) d’où D2 H(0, −P −1 F (x0 )) = P est inversible. Donc, d’après le théorème des fonctions implicites, il existe une unique fonction y telle que y(0) = −P −1 F (x0 ) et H(α, y(α)) = (1 − α) (F (x0 ) + P y(α)) + α F (x0 + y(α)) = 0 pour tout α dans un voisinage de 0. De plus, H étant de classe C d , y est également de classe C d au voisinage de α = 0. Nous avons déjà la valeur de y en α = 0. Nous dérivons ensuite l’équation (14) à l’ordre 1 6 j 6 d en utilisant la formule de Leibniz pour dériver les produits : j j X X j j (j−i) (i) α(i) (F (x0 + y(α)))(j−i) = 0. (1 − α) (F (x0 ) + P y(α)) + i i (19) i=0 i=0 Dans chacune des deux sommes ci-dessus, les termes relatifs à i > 2 sont nuls. L’équation (19) se simplifie donc en : (1 − α) (F (x0 + P y(α)))(j) − j (F (x0 + P y(α)))(j−1) +α (F (x0 + y(α)))(j) + j (F (x0 + y(α)))(j−1) = 0. (20) Nous allons maintenant distinguer le cas j = 1 qui donne : (1 − α) P y 0 (α) − (F (x0 + P y(α))) + α (F (x0 + y(α)))0 + F (x0 + y(α)) = 0, du cas j > 2 pour lequel : (1 − α) P y (j) (α) − j P y (j−1) (α) + α (F (x0 + y(α)))(j) + j (F (x0 + y(α)))(j−1) = 0. Pour α = 0, nous obtenons les équations (16) et (17). Le passage à (18) se fait par récurrence. Nous allons maintenant étudier différentes manières d’exploiter ces dérivées. 4 Exploitation des dérivées par polynômes de Taylor : la méthode de Newton d’ordre élevé Nous nous plaçons pour l’instant dans le cas où P = F 0 (x). Nous avons déjà noté qu’alors y(0) est la direction de Newton : approcher y(1) par le “polynôme” de Taylor de degré 0 est en fait suivre l’algorithme de Newton. Nous allons étudier ici l’apport des dérivées successives. Canum 2003 8 4.1 Algorithme Nous proposons donc d’approcher itérativement la racine d’une fonction non linéaire F grâce à l’algorithme suivant auquel nous donnerons le nom de “méthode de Newton d’ordre élevé” et que nous noterons NOEd+1 lorsque la valeur de y et de ses dérivées de l’ordre 1 à d seront utilisées. Algorithme 2 (Méthode de Newton d’Ordre Elevé) x0 point initial d ordre jusqu’auquel les coefficients de Taylor sont calculés ε tolérance i=0 tant que kF (xi )k > ε faire définition de yi par (1 − α) (F (xi ) + F 0 (xi ) yi (α)) + α F (xi + yi (α)) = 0 xi,0 := xi pour k = 0 à d faire [k] calcul de yi (0) [k] xi,k+1 = xi,k + yi (0) fin du pour xi+1 := xi,d+1 i←i+1 fin du tant que L’utilisation de cet algorithme nécessite donc le choix d’un point initial et d’une tolérance, comme c’est le cas pour l’algorithme de Newton. A cela s’ajoute le choix du nombre de dérivées à utiliser. En effet, dans le cas linéaire où P ne change pas, le calcul d’une dérivée supplémentaire ou le redémarrage de l’algorithme avec le point courant comme point initial se ramènent à la même chose ; ce n’est évidemment plus le cas ici. Nous reviendrons sur ce choix lorsque nous présenterons nos résultats numériques. La méthode NOE1 coı̈ncide avec la méthode de Newton. Finalement, NOEd+1 est une généralisation de la méthode de Newton et, pour F (x) = A x − b et P non pas égal à A mais à sa diagonale, sa partie triangulaire inférieure ou un autre choix correspondant à une méthode de type relaxation, une itération de NOEd+1 correspond à d + 1 itérations, respectivement, de la méhode de Jacobi, de Gauss-Seidel ou plus généralement d’une méthode de relaxation. ordre de dérivation ordre d Jacobi Gauss−Seidel relaxation ordre 0 NOEd+1 Newton non linéaire linéaire Figure 1: NOEd+1 généralise des méthodes existantes Le coût du passage de xi à xi+1 par NOEd+1 est dominé par la factorisation de F 0 (xi ) et la résolution de 2 (d + 1) systèmes triangulaires. Ce coût est similaire à celui de la méthode de Canum 2003 9 quasi-Newton stationnaire utilisant un calcul de F 0 (xi ) pour l’obtention de (d + 1) directions consécutives suivant l’algorithme ci-dessous : Algorithme 3 (Méthode de quasi-Newton stationnaire) x0 point initial k le nombre de directions à calculer avant de mettre à jour Pi ε tolérance i=0 tant que kF (xi )k > ε faire calculer et factoriser Pi = F 0 (xi ) xi,0 := xi pour j = 1 à k faire résoudre Pi c = −F (xi,j−1 ) xi,j = xi,j−1 + c fin du pour xi+1 := xi,k i←i+1 fin du tant que Dans toute la suite, nous noterons Sk la méthode de quasi-Newton stationnaire utilisant une matrice Pi pour l’obtention de k directions. Shamanskii ([10] en Russe, cité dans [1]) a déterminé, en fonction de la dimension n de l’espace considéré, le nombre k de directions à engendrer entre deux calculs de F 0 (x) — dans le cas où ceux-ci sont réalisés par différences divisées — de façon à minimiser le nombre d’évaluations de la fonction. Il apparaı̂t que plus n est grand, moins la méthode de Newton est efficace comparée à la méthode de quasi-Newton stationnaire utilisant chaque Pi un nombre de fois adapté à n. La méthode Sd+1 converge à l’odre d + 2. Nous allons voir que NOEd+1 a le même ordre de convergence. 4.2 Convergence Afin d’étudier la convergence de la méthode de Newton d’ordre élevé, nous allons, dans un premier temps, nous resteindre aux fonctions de R dans R. Théorème 7 (Convergence de NOEd dans le cas d’une fonction réelle) Soient F : R → R, de classe C d si d > 2 et de classe C 2 sinon, et x∗ ∈ R tel que F (x∗ ) = 0. Supposons qu’il existe r, β, γ ∈ R∗+ tels que ∀x ∈ B(x∗ , r), |F 0 (x)| > β et |F [j] (x)| 6 γ pour 2 6 j 6 d. Alors, il existe ε > 0 et M > 0 tels que, pour tout x0 ∈ B(x∗ , ε), la suite x1 , x2 , ... générée par NOEd+1 est bien définie, converge vers x∗ et vérifie |xi+1 − x∗ | 6 M |xi − x∗ |d+2 pour tout i > 0. Remarque 1 Pour d = 0 (NOE1 ), nous retrouvons la convergence quadratique de la méthode de Newton. Avant de démontrer ce théorème, nous allons démontrer le lemme suivant. Canum 2003 10 Lemme 1 Soient d > 2, F : R → R de classe C d et y : [0, 1] → R de classe C d au voisinage de 0. Alors, pour 2 6 k 6 d, il existe θ ∈ ]0, 1[ tel que 0 F x0 + y(0) + y (0) + ... + y = k−1 X (0) − (k−1)j F [j] (x0 + y(0)) j=2 + F [k−1] [k] X k−1 X [l] (F (x0 + y(α)))|α=0 l=0 X l=k j1 + ... + jk−1 = j j1 + ... + (k − 1) jk−1 = l 0 (x0 + y(0) + θ(y (0) + ... + y [k−1] 0 jk−1 j2 j j! y 0 (0) 1 y [2] (0) ... y [k−1] (0) j1 !...jk−1 ! [2] (0))) y (0) + y (0) + ... + y [k−1] (0) k Remarque 2 Nous avons déjà noté que NOE1 ≡ S1 . De plus, NOE2 ≡ S2 et ce lemme met en évidence des similitudes entre les méthodes NOEd+1 et Sd+1 pour d > 2. En effet, le passage de x0,k−1 à x0,k pour Sd+1 , s’écrit x0,k = x0,k−1 + c avec F 0 (x0 ) c = −F (x0,k−1 ) et, le passage de x0,k à x0,k+1 pour NOEd+1 s’écrit [k] x0,k+1 = x0,k + y (0) avec 0 [k] F (x0 ) y (0) = − k−1 X [l] (F (x0 + y(α)))|α=0 . l=0 Or le lemme ci-dessus montre la proximité entre Pk−1 l=0 [l] (F (x0 + y(α)))|α=0 et F (x0,k−1 ) dans la situation où x0,k−1 = x0 + y(0) + y 0 (0) + ... + y [k−1] (0), ce qui est le cas pour NOEd+1 . Preuve du lemme D’une part, F étant de classe C d , d’après la formule de Taylor-Lagrange, il existe pour k 6 d, θ ∈ ]0, 1[ tel que F x0 + y(0) + y 0 (0) + ... + y [k−1] (0) = k−1 (j) X F (x0 + y(0)) j=0 j! (y 0 (0) + ... + y [k−1] (0))j F (k) (x0 + y(0) + θ(y 0 (0) + ... + y [k−1] (0))) 0 (y (0) + ... + y [k−1] (0))k . k! Et, pour 1 6 j < ∞, j2 jk−1 X j j! (y 0 (0) + ... + y [k−1] (0))j = y 0 (0) 1 y [2] (0) ... y [k−1] (0) . j1 !...jk−1 ! + j1 +...+jk−1 =j D’où F x0 + y(0) + y 0 (0) + ... + y [k−1] (0) = k−1 X j=0 F [j] (x0 + y(0)) X j1 +...+jk−1 =j jk−1 j2 j j! y 0 (0) 1 y [2] (0) ... y [k−1] (0) j1 !...jk−1 ! + F [k] (x0 + y(0) + θ(y 0 (0) + ... + y [k−1] (0)))(y 0 (0) + ... + y [k−1] (0))k . Canum 2003 11 D’autre part, d’après la formule de Faà Di Bruno pour 1 6 l < ∞ (cf [7]) [l] (F (x0 + y(α)))|α=0 = l X p=1 pl p2 p p! F [p] (x0 + y(0)) y 0 (0) 1 y [2] (0) ... y [l] (0) . p1 !...pl ! X p1 + ... + pl = p p1 + ... + l pl = l Alors k−1 X = [l] (F (x0 + y(α)))|α=0 l=1 l k−1 XX X l=1 p=1 = k−1 X F [p] p1 + ... + pl = p p1 + ... + l pl = l (x0 + y(0)) p=1 k−1 X l=p p2 pl p p! F [p] (x0 + y(0)) y 0 (0) 1 y [2] (0) ... y [l] (0) p1 !...pl ! X p1 + ... + pl = p p1 + ... + l pl = l p2 pl p p! y 0 (0) 1 y [2] (0) ... y [l] (0) . p1 !...pl ! Les termes en F (x0 +y(0)) et F 0 (x0 +y(0)) de la différence F x0 + y(0) + y 0 (0) + ... + y [k−1] (0) − Pk−1 [l] l=0 (F (x0 + y(α)))|α=0 s’annulent et cette dernière se ramène à 0 F x0 + y(0) + y (0) + ... + y = k−1 X X F [j] (x0 + y(0)) [k−1] j1 +...+jk−1 =j j=2 (0) − k−1 X [l] (F (x0 + y(α)))|α=0 l=0 j2 jk−1 j j! y 0 (0) 1 y [2] (0) ... y [k−1] (0) j1 !...jk−1 ! k + F [k] (x0 + y(0) + θ(y 0 (0) + ... + y [k−1] (0)))(y 0 (0) + ... + y [k−1] (0)) k−1 k−1 pl p2 X X X p p! y 0 (0) 1 y [2] (0) ... y [l] (0) . − F [p] (x0 + y(0)) p1 !...pl ! p=2 l=p p1 + ... + pl = p p1 + ... + l pl = l On obtient le résultat en remarquant, tout d’abord, que les équations simultanées p1 + p2 + ... + pl = p p1 + 2 p2 + ... + l pl = l équivalent à p1 + p2 + ... + pl + pl+1 + ... + pk−1 = p p1 + 2 p2 + ... + l pl + (l + 1) pl+1 + ... + (k − 1) pk−1 = l (puisque cette dernière équation implique la nullité des coefficients pl+1 , ..., pk−1 ) et, de plus, que p1 + p2 + ... + pk−1 = p entraı̂ne p 6 p1 + 2 p2 + ... + (k − 1) pk−1 6 (k − 1) p. Preuve du théorème La démonstration se fait par récurrence sur i. Soit d’abord i = 0. Supposons pour l’instant que le point initial x0 se situe dans la boule B(x∗ , r). D’après le théorème 6, y0 est bien définie et de même classe que F au voisinage de 0. Par conséquent, les itérés x 0,1 , x0,2 , ..., x0,d+1 sont bien définis et en particulier x1 := x0,d+1 . Pour montrer qu’il existe une constante M , indépendante de x0 et telle que |x1 − x∗ | 6 M |x0 − Canum 2003 12 x∗ |d+2 , nous allons montrer que, pour 1 6 k 6 d + 1, il existe des constantes ck indépendantes de x0 et telles que |x0,k − x∗ | 6 ck |x0 − x∗ |k+1 . Traitons séparément les cas k = 1 et k = 2. x0,1 − x∗ = x0 − x∗ + y0 (0) F (x0 ) = x0 − x∗ − 0 F (x0 ) 1 ∗ 0 ∗ F (x ) − F (x ) − F (x )(x − x ) . = 0 0 0 F 0 (x0 ) D’où la majoration γ |x0 − x∗ |2 β provenant de l’inegalité de Taylor-Lagrange et des hypothèses considérées. Cela équivaut à γ |x0,1 − x∗ | 6 c1 |x0 − x∗ |2 avec c1 = . β 1 En posant ε = min r, , l’hypothèse x0 ∈ B(x∗ , ε) implique 2 c1 |x0,1 − x∗ | 6 |x0,1 − x∗ | 6 1 |x0 − x∗ |. 2 De même, x0,2 − x∗ = x0,1 − x∗ + y00 (0) F (x0 + y0 (0)) = x0,1 − x∗ − F 0 (x0 ) F 0 (x0,1 ) − F 0 (x0 ) ∗ 1 ∗ 0 ∗ F (x ) − F (x ) − F (x )(x − x ) + (x − x0,1 ). = 0,1 0,1 0,1 F 0 (x0 ) F 0 (x0 ) Comme x0 et x0,1 appartiennent à B(x∗ , r), |x0,2 − x∗ | 6 γ 2γ |x0,1 − x∗ |2 + |x0,1 − x0 ||x0,1 − x∗ |. β β Puisque |x0 − x∗ | 6 r, il existe c2 indépendante de x0 telle que |x0,2 − x∗ | 6 c2 |x0 − x∗ |3 . ( 1 ) 1 1 2 Et en posant ε = min r, , , l’hypothèse x0 ∈ B(x∗ , ε) implique 2 c1 2 c2 |x0,2 − x∗ | 6 1 |x0 − x∗ |. 2 Nous allons montrer par récurrence sur k 6 d+1 que pour pour 1 6 l 6 k, il existe une constante cl et une façon de choisir ε telles que |x0,l − x∗ | 6 cl |x0 − x∗ |l+1 6 1 |x0 − x∗ |. 2 Cela est vrai pour k = 1 et k = 2. A un rang quelconque cela a pour conséquence que, comme [l−1] |y0 Canum 2003 (0)| = |x0,l − x0,l−1 | 6 |x0,l − x∗ | + |x0,l−1 − x∗ |, 13 il existe une constante κl (également indépendante de x0 ) telle que [l−1] |y0 (0)| 6 κl |x0 − x∗ |l . Soit 2 6 k 6 d, [k] x0,k+1 − x∗ = x0,k − x∗ + y0 (0) k−1 = x0,k − x∗ − 1 X [l] (F (x0 + y0 (α)))|α=0 F 0 (x0 ) d’après (18). l=0 D’après le lemme, il existe θ ∈]0, 1[ tel que x0,k+1 − x∗ = x0,k − x∗ − − k−1 X 1 F 0 (x 0) (F (x0,k ) (k−1)j X [j] F (x0 + y0 (0)) j=2 X l=k − F [k] j1 + ... + jk−1 = j j1 + ... + (k − 1)jk−1 = l (x0 + y0 (0) + θ(y00 (0) + ... + j [k−1] jk−1 j! (0) y00 (0) 1 ... y0 j1 !...jk−1 ! [k−1] (0))) y0 Alors x0,k+1 − x∗ = + 1 F (x∗ ) − F (x0,k ) − F 0 (x0,k )(x∗ − x0,k ) F 0 (x 0) F 0 (x 0,k ) − F F 0 (x0 ) 0 (x 0) (x∗ − x0,k ) [j] F (x0 + y0 (0)) j=2 X l=k + X y00 (0) + ... + k [k−1] (0) y0 j1 + ... + jk−1 = j j1 + ... + (k − 1) jk−1 = l j [k−1] jk−1 j! y00 (0) 1 ... y0 (0) j1 !...jk−1 ! k 1 [k−1] [k−1] [k] 0 0 F (x + y (0) + θ(y (0) + ... + y (0))) y (0) + ... + y (0) . 0 0 0 0 0 0 F 0 (x0 ) [k−1] Comme x0 + y0 (0) = x0,1 et x0 + y0 (0) + y00 (0) + ... + y0 (0) = x0,k appartiennent à B(x∗ , r), [k−1] x0 + y0 (0) + θ(y00 (0) + ... + y0 (0)) également, d’où la majoration |x0,k+1 − x∗ | 6 + γ 2γ |x0,k − x∗ |2 + |x0 − x0,k ||x0,k − x∗ | β β k−1 (k−1)j γ X X β j=2 + l=k X j1 + ... + jk−1 = j j1 + ... + (k − 1) jk−1 = l k γ 0 [k−1] (0) . y0 (0) + ... + y0 β j! jk−1 κj1 ...κk−1 |x0 − x∗ |j+l j1 !...jk−1 ! 1 Il est alors possible de mettre en facteur |x0 − x∗ |k+2 et de majorer la quantité restante de façon X j! indépendante de x0 . En effet, est borné pour tout k 6 d, j1 !...jk−1 ! j1 + ... + jk−1 = j j1 + ... + (k − 1) jk−1 = l Canum 2003 14 . (k−1)j k−1 1 X + 0 F (x0 ) 2 6 j 6 k − 1 et k 6 l 6 (k − 1)j, et les termes en |x0 − x∗ | excédentaires sont majorés par r. Finalement, il existe une constante ck+1 indépendante de x0 telle que |x0,k+1 − x∗ | 6 ck+1 |x0 − x∗ |k+2 . ( 1 ) 1 l r, En posant ε = min , l’hypothèse x0 ∈ B(x∗ , ε) entraı̂ne 16l6k+1 2 cl |x0,k+1 − x∗ | 6 1 |x0 − x∗ |. 2 Nous avons donc établi que pour tout 1 6 k 6 d + 1, il existe une constante indépendante de x 0 telle que 1 |x0,k − x∗ | 6 ck |x0 − x∗ |k+1 6 |x0 − x∗ |. 2 En particulier, en posant M = cd+1 , nous avons |x1 − x∗ | 6 M |x0 − x∗ |d+2 ( 1 ) 1 l et ε = min r, entraı̂ne 16l6d+1 2 cl 1 |x1 − x∗ | 6 |x0 − x∗ |. 2 Il en découle l’appartenance de x1 à B(x∗ , ε). La récurrence sur i est donc immédiate et amène le résultat. Nous pouvons maintenant énoncer le résultat en dimension quelconque. Théorème 8 Soient F : Rn → Rn , de classe C d si d > 2 et de classe C 2 sinon, et x∗ ∈ Rn tel que F (x∗ ) = 0. Supposons qu’il existe r, β, γ tels que, pour tout x0 ∈ B(x∗ , r), kF 0 (x0 )k > β et kF [j] (x)k 6 γ pour 2 6 j 6 d. Alors, il existe ε > 0 et M > 0 telles que, pour tout x0 ∈ B(x∗ , ε), la suite x1 , x2 , ... générée par NOEd+1 est bien définie, converge vers x∗ et vérifie kxi+1 − x∗ k 6 M kxi − x∗ kd+2 pour tout i > 0. Preuve du théorème La preuve est identique à celle de la dimension 1 du point de vue des arguments utilisés, seule la manipulation de dérivées d’ordre élevé en dimension supérieure à 1 alourdie l’écriture. Les méthodes NOEd+1 et Sd+1 convergent donc toutes les deux à l’ordre d + 2, pour un coût par itération similaire. Nous allons maintenant étudier les performances numériques de NOEd+1 et les comparer à celles de Sd+1 . Canum 2003 15 4.3 Résultats numériques Nous avons d’abord réalisé des “expérimentations” en dimension 1 que nous ne rapporterons pas ici. Nous avons souhaité tester notre algorithme à l’aide de CUTE (Constrained and Unconstrained Testing Environment) ayant pour auteurs I. Bongartz, A. Conn, N. Gould et Ph. Toint. C’est maintenant CUTEr (Constrained and Unconstrained Testing Environment, revisited) qui succède à CUTE. La page internet de CUTEr est à l’adresse : http://cuter.rl.ac.uk/ cuter-www/ et ses auteurs sont N. Gould, D. Orban et Ph. Toint. En plus de la collection de problèmes tests au format SIF (standard input format), sont disponibles des routines Fortran77 (permettant d’accéder à la valeur des fonctions, gradients, etc) et des outils d’interfaçage. Nous allons présenter des résultats relatifs aux problèmes ARGTRIG et BROYDN3D : ce sont des systèmes non linéaires de taille variable, dont toutes les variables sont libres et pour lesquels la jacobienne au point initial fourni est inversible. Pour n = 500 et le point initial fourni, l’application de la méthode de Newton au problème BROYDN3D se déroule comme le montre la figure 2. Notons qu’une itération d’une méthode de NOEd+1 dans les cas étudiés ici prend un certain temps (nombre de secondes) et retourne un nouveau point courant pour lequel on peut évaluer le résidu (et dans le cas où l’on connaı̂t la solution exacte, l’erreur entre ce point courant et la solution). Toutes les figures qui suivent et qui représentent — par abus de langage — la décroissance du résidu (ou de l’erreur) en fonction du temps font correspondre à chaque méthode un symbole qui apparaı̂t au temps 0 puis à tous les temps où une itération de la méthode considérée se termine; l’ordonnée du symbole indique alors la norme du résidu courant (ou de l’erreur courante). 2 10 0 10 −2 norme du résidu 10 −4 10 −6 10 −8 10 −10 10 0 5 10 15 20 25 30 35 temps (en secondes) Figure 2: Décroissance du résidu en fonction du temps avec NOE1 Nous allons voir s’il est possible d’aller plus vite en utilisant NOEd+1 pour d > 1. Canum 2003 16 2 10 NOE 1 NOE 2 NOE3 NOE 6 NOE 0 10 23 −2 10 norme du résidu −4 10 −6 10 −8 10 −10 10 −12 10 −14 10 0 5 10 15 20 25 30 35 temps (en secondes) Figure 3: Décroissance du résidu en fonction du temps avec NOEd+1 Lorsque le but est d’obtenir un point tel que le résidu soit inférieur à 10−6 , la meilleure stratégie consiste ici à choisir d = 22 : dans ce cas, la convergence est atteinte en une seule itération et 11 secondes. Avec nettement moins de dérivées (d=2), la convergence est déjà atteinte en 14 secondes au lieu des 31 que nécessite la méthode de Newton. Le résidu obtenu avec deux itérations de NOE3 est inférieur à celui obtenu avec trois itérations de Newton et le temps de calcul est également plus faible dans le premier cas. Il est très visible sur cette figure que le calcul des dérivées ne prend pas beaucoup de temps : la première itération dure 7 secondes que le polynôme de Taylor utilisé soit d’ordre zéro, un, deux ou cinq et 11 secondes pour l’ordre 22. Lorsque nous changeons le point initial et que nous démarrons l’algorithme avec celui fourni par CUTE multiplié par 1000, le nombre des itérations nécessaires pour atteindre la convergence et, par conséquent, le temps de calcul croissent ; la figure 4 montre qu’il devient encore plus intéressant de préférer, par exemple, NOE7 à NOE1 . 10 10 NOE1 NOE2 NOE3 NOE5 NOE7 NOE13 5 norme du résidu 10 0 10 −5 10 −10 10 −15 10 0 50 100 150 200 250 temps (en secondes) Figure 4: Décroissance du résidu en fonction du temps En effet, NOE7 et NOE13 permettent d’atteindre la convergence en 1 minute environ au lieu de Canum 2003 17 presque 4 pour Newton. Il est donc avantageux de rentabiliser la factorisation de la jacobienne en calculant des dérivées. Nous avons déjà dit, que NOEd+1 devait surtout être comparée à la méthode de quasi-Newton stationnaire Sd+1 . Replaçons-nous dans les conditions des figures 2 et 3 où le point initial est celui fourni par CUTE. Pour d petit, les méthodes NOEd+1 et Sd+1 se comportent de manière similaire. Lorsque d croı̂t, Sd+1 prend l’avantage : S23 donne en 8 secondes (et une itération) un résidu de 3.3 10−10 , S15 ne nécessite déjà, pour satisfaire le critère d’arrêt, qu’une itération soit 7 secondes. Augmenter d a encore moins d’effet sur le temps par itération lorsqu’il s’agit de la méthode de quasi-Newton stationnaire que lorsqu’il s’agit de la méthode de Newton d’ordre élevé. En effet, une itération de S100 ne dure que 10 secondes (et réduit le résidu à 2.4 10−15 ). Dans le cas où le point initial est pris égal à 1000 fois le point fourni (cas de la figure 4), nous avons vu que NOE13 fournissait de bons résultats. La figure 5 montre que S13 réussit mieux encore. 10 10 NOE13 S13 5 norme du résidu 10 0 10 −5 10 −10 10 −15 10 0 10 20 30 40 50 60 temps (en secondes) Figure 5: Décroissance du résidu en fonction du temps En effet, S13 atteint la précision demandée en 9 secondes de moins que NOE13 et fournit un point où le résidu est encore plus faible. Nous allons maintenant réaliser des tests sur le problème ARGTRIG avec n = 100. Lorsque le point initial utilisé est celui fourni par CUTE, NOEd+1 , pour les d testés, converge dans un temps de l’ordre de la seconde. Par contre, lorsque nous nous éloignons de ce point initial (en le multipliant par un coefficient), NOEd+1 et/ou Sd+1 ne réussissent pas forcément à faire diminuer le résidu. La variante de NOEd+1 consistant à sommer au plus petit terme peut parfois, dans ce cas, être plus performante, comme le met en évidence la figure 6. Canum 2003 18 4 10 2 10 0 norme du résidu 10 −2 10 NOE 5 S5 NOE avec sommation 5 −4 au plus petit terme 10 −6 10 −8 10 0 2 4 6 8 10 12 14 16 18 20 itération Figure 6: Résidu en fonction des itérations En prenant pour point initial 7.1 fois le point fourni par CUTE, ni NOE5 ni S5 ne convergent, par contre si NOE5 est modifiée de manière à ne pas utiliser les coefficients de Taylor au-delà du plus petit terme, la précision voulue est atteinte en 3 itérations. La méthode NOEd+1 a une convergence intéressante mais il semble qu’elle n’apporte pas d’améliorations lorsqu’elle est comparée à Sd+1 ; seule sa variante consistant à stopper prématurément la sommation au plus petit terme peut présenter des avantages. Nous allons maintenant proposer une autre méthode utilisant les coefficients de Taylor de l’application-chemin, qui est susceptible d’accélérer encore la convergence tout en étant globale. 5 Minimisation sur l’espace engendré par les dérivées Dans le cas linéaire, la convergence des méthodes de type GMRES — qui consistent à minimiser le résidu du système sur l’espace engendré par les dérivées de l’application-chemin — est bien plus rapide que celle des méthodes de type relaxation formant un polynôme de Taylor. Nous allons maintenant étendre au cas non linéaire les méthodes de type GMRES. 5.1 Espace engendré par les dérivées d’une application-chemin Nous avons vu que les espaces de Krylov, très présents dans les méthodes de résolution de systèmes linéaires, sont des espaces engendrés par les dérivées de l’application-chemin correspondant à une fonction du type F (x) = A x − b. Dans le cas général, non-linéaire, nous allons noter D l’espace engendré par les dérivées d’une application-chemin. Définition 3 (Espace D) Soient une fonction F : Rn → Rn , une matrice P d’ordre n, un vecteur x0 ∈ Rn , et l’applicationchemin y : [0, 1] 7→ Rn correspondante. Soit d ∈ N∗ , l’espace engendré par les dérivées de y de l’ordre 0 à d sera noté Dd+1 (F, P, x0 ) : n o Dd+1 (F, P, x0 ) = Vect y(0), y 0 (0), ..., y [d] (0) . (21) Ces espaces constituent une généralisation des espaces de Krylov et pourraient également prendre le nom d’ ”espaces de Krylov non-linéaires”. Canum 2003 19 Proposition 2 (Espaces D et espaces de Krylov) Dans le cas linéaire où F (x) = A x − b, la définition précédente correspond à la définition d’un espace de Krylov : Dd+1 (F, P, x0 ) = Kd+1 (P −1 A, P −1 r0 ). Preuve Cela découle directement de la définition ci-dessus et du théorème 2. Cette généralisation des espaces de Krylov va nous permettre d’étendre les méthodes de projection sur ces espaces. 5.2 5.2.1 Méthode itérative du résidu minimal sur D Algorithme L’algorithme que nous proposons vise à approcher itérativement la racine d’une fonction non linéaire F en résolvant à chaque étape un problème de moindre carré non linéaire sur l’espace D “courant”. Cet espace étant engendré par les coefficient de Taylor de l’application-chemin de F pour le préconditionneur et le point courants (coefficients qui servaient précédemment à former un polynôme de Taylor). Nous appelerons cette méthode : résidu minimal sur D et nous la noterons RMDd+1 lorsqu’elle utilise, à chaque étape, les coefficients de Taylor jusqu’à l’ordre d (ce qui correspond à l’espace Dd+1 ). Nous nous plaçons immédiatement dans le cas général où le préconditionneur peut être une “approximation” de la jacobienne de F au point courant variant de l’identité à la jacobienne elle-même. Algorithme 4 (RMDd+1 ) x0 point initial d ordre jusqu’auquel les coefficients de Taylor sont calculés ε tolérance i=0 P0 préconditionneur initial tant que kF (xi )k > ε faire définition de yi par (1 − α) (F (xi ) + Pi yi (α)) + α F (xi + yi (α)) = 0 [k] pour k = 0 à d faire : calcul de yi (0) 2 xi+1 est la solution de n min o kF (x)k [d] x∈xi +Vect yi (0),yi0 (0),...,yi (0) i←i+1 mise à jour éventuelle de Pi fin du tant que Pour d = 0 et Pi = F 0 (xi ), cet algorithme est celui de la méthode de Newton avec recherche linéaire puisque xi+1 est la solution de min kF (xi + λ p)k2 où p = −F 0 (xi )−1 F (xi ). Pour F (x) = A x − b et P un préconditionneur adapté à la matrice A ou P = I, l’algorithme se ramène exactement à celui de GMRES(d + 1) préconditionné ou non. Canum 2003 20 ordre de dérivation ordre d GMRES(d+1) RMDd+1 Newton avec recherche linéaire ordre 0 linéaire non linéaire Figure 7: RMDd généralise des méthodes existantes Les coefficients de Taylor intervenant dans RMDd+1 sont obtenus, comme dans le cas de NOEd+1 , par différentiation automatique. Il faut choisir un point initial et une tolérance servant au critère d’arrêt. Il faut également choisir l’ordre maximal d des coefficients de Taylor calculés, comme pour la méthode GMRES avec redémarrage. Le problème de moindres carrés non linéaire qui doit être résolu est de petite taille. De nombreux algorithmes peuvent donc être utilisés afin d’obtenir rapidement et avec une bonne précision une solution globale. Les tests numériques présentés ci-après font appel à l’algorithme de LevenbergMarquardt (cf. [3]) qui peut être vu comme une modification de la méthode de Gauss-Newton utilisant une région de confiance et étant donc susceptible de converger même en ayant pour point initial un point assez éloigné de la solution. Ici, à l’étape i, ce sont les coefficients (γ 0 , γ1 , ..., γd ) qui sont cherchés de manière à minimiser 2 [d] F xi + γ0 yi (0) + γ1 yi0 (0) + ... + γd yi (0) . Le vecteur nul est choisi comme vecteur initial, ce qui implique que kF (xi+1 )k2 6 kF (xi )k2 . Une autre possibilité pour le vecteur initial consiste à prendre le vecteur ayant toutes ses composantes égales à 1, ainsi la première valeur testée pour xi+1 est la valeur que NOEd+1 lui aurait attribuée. Ces choix permettent d’assurer, dans le cas Pi = F 0 (xi ) et sous certaines conditons, la convergence de l’algorithme (ce que nous ne détaillerons pas ici). Le coût d’une itération de RMDd+1 est dominé par : • éventuellement, une factorisation de matrice, • 2(d + 1) résolutions de systèmes triangulaires, • la résolution d’un problème de moindres carrés non linéaire de taille d + 1, • éventuellement mise à jour du préconditionneur (ou de sa factorisation). Dans les cas où P est un préconditionneur du type de ceux utilisés avec GMRES (ou P = I), le coût par itération de RMDd+1 est similaire à celui de GMRES(d + 1). 5.2.2 Résultats numériques Nous présentons uniquement des problèmes de “grande” dimension puisque le principe de notre algorithme est de résoudre des sous-problèmes de petite taille. Considérons le problème BROYDN3D avec n = 500 et le point initial fourni par CUTE. Le graphique 8 représente la décroissance du résidu en fonction du temps lors de l’application de RMDd+1 pour différentes valeurs de d dans le cas où Pi = F 0 (xi ). Canum 2003 21 2 10 RMD1 RMD 2 RMD 3 RMD 0 10 7 −2 10 norme du résidu −4 10 −6 10 −8 10 −10 10 −12 10 −14 10 0 5 10 15 20 25 temps (en secondes) Figure 8: Décroissance du résidu en fonction du temps avec RMDd+1 La convergence est atteinte en une seule itération pour d = 6 (au lieu de d = 22 dans le cas de la méthode de Newton d’ordre élevé). Dans ce cas, le temps de calcul est de 9 secondes donc plus court que pour NOE23 , mais reste supérieur à celui nécessaire à S15 , bien adaptée à ce problème. Nous reprenons le même test en utilisant RMDd+1 avec P = I, la matrice identité, durant toutes les itérations. Cette version nécessite forcément plus d’itérations pour atteindre la convergence. Cependant le temps de calcul total a de grandes chances de diminuer puisque il n’y a plus à calculer et surtout factoriser la jacobienne à chaque itération ni à résoudre de systèmes. Dans le cas considéré ci-dessus, RMD10 converge en 2 itérations et 4 secondes et se révèle donc être la méthode testée la plus performante sur ce problème. Comme nous l’avions fait dans le cas des méthodes de Newton d’ordre élevé, nous allons maintenant démarrer l’algorithme avec le point initial fourni par CUTE multiplié par 1000. La figure 9 met en évidence que dans ce cas, RMD2 et RMD3 avec Pi = F 0 (xi ) sont plus rapides que S13 qui nous servait de référence. 10 10 RMD1 RMD2 RMD3 S13 5 norme du résidu 10 0 10 −5 10 −10 10 −15 10 0 5 10 15 20 25 30 35 40 45 temps (en secondes) Figure 9: Décroissance du résidu en fonction du temps Canum 2003 22 Le temps mis par RMD3 pour satisfaire le critère d’arrêt est environ celui mis par Newton divisé par 8. D’après la figure 10 suivante, RMD2 et RMD6 utilisant P = I sont encore plus rapides que RMD3 utilisant à chaque itération la jacobienne courante. Le temps de calcul peut ainsi passer en-dessous des 25 secondes. 10 10 RMD1 avec P=I RMD avec P=I 2 RMD6 avec P=I S13 5 norme du résidu 10 0 10 −5 10 −10 10 −15 10 0 5 10 15 20 25 30 35 40 45 temps (en secondes) Figure 10: Décroissance du résidu en fonction du temps Nous allons maintenant nous intéresser au problème ARGTRIG avec n=100. Lorsque l’algorithme est démarré au point initial fourni par CUTE, les méthodes du résidu minimal sur D, prenant à chaque itération la matrice P égale à la jacobienne courante aussi bien qu’à l’identité, convergent dans un temps de l’ordre de la seconde, comme les méthodes de Newton d’ordre élevé. Lorsque le point initial est pris égal à celui fourni par CUTE multiplié par 7.1, RMD 2 et RMD3 convergent également dans la seconde alors que NOE5 et S5 ne réussissaient pas à faire diminuer le résidu. En utilisant la variante de NOE5 consistant à sommer au plus petit terme, la convergence nécessitait 3 secondes. Le temps de calcul remonte à 4 secondes avec RMD 2 utilisant P = I. La méthode RMDd+1 avec P égale à la jacobienne de F converge en peu d’itérations. Cependant, elle nécessite le calcul et la factorisation de jacobiennes. En utilisant P = I, le coût d’une itération est beaucoup plus faible (similaire à une itération de GMRES) et même si le nombre d’itérations croı̂t, le temps de calcul peut diminuer. Une matrice P peu coûteuse à évaluer et à factoriser peut suffire à faire baisser (par comparaison avec P = I) le nombre d’itérations nécessaires pour atteindre la précision voulue. 5.3 Résoudre le problème non-linéaire coûte-t-il toujours plus cher que résoudre le problème linéarisé ? La méthode RMDd+1 avec P = I ne nécessite aucune résolution de grands systèmes linéaires. Son coût par itération est celui de l’évaluation des “seconds membres” donnant la valeur des dérivées de l’application-chemin et de la résolution du problème de moindres carrés non linéaire. Cela est similaire au coût d’une itération de GMRES(d + 1) qui nécessite le calcul de la base de l’espace de Krylov et la résolution d’un problème de moindres carrés linéaires. Canum 2003 23 Considérons le cas-test présenté dans [6] : ∆u = u2 avec les conditions aux limites u(x, 0) u(1, y) u(x, 1) u(0, y) = = = = 2x2 − x + 1 2 2 2y 2 − y + 1 (22) pour pour pour pour 0 6 x 6 1, 0 6 y 6 1, 0 6 x 6 1, 0 6 y 6 1. Ce problème est discrétisé par différences finies. Dans le cas où l’on a 900 inconnues, la résolution par RMD11 nécessite 22 itérations. La résolution du problème linéarisé par GMRES(11) nécessite 24 itérations. Les nombres d’itérations pour les problèmes linéaire et non linéaire sont donc comparables. De même, par conséquent, que le coût total. 6 Conclusion Nous avons tout d’abord mis en évidence que la résolution itérative de systèmes linéaires exploite des dérivées successives, et ce de deux manières différentes. D’une part, les itérés des méthodes de type relaxation sont des polynômes de Taylor. D’autre part, GMRES consiste à minimiser le résidu du système sur l’espace engendré par les dérivées. En généralisant les méthodes de type relaxation, nous avons proposé un algorithme de résolution de systèmes non linéaires ayant pour cas particulier la méthode de Newton. Que le système que l’on souhaite résoudre soit linéaire ou non, minimiser son résidu sur l’espace engendré par les coefficients de Taylor entraı̂ne une convergence plus rapide que la simple utilisation du polynôme de Taylor. Certains systèmes non linéaires peuvent ainsi être résolus pour un coût similaire à une résolution d’un système linéaire par GMRES. Ce type de méthode peut également être utilisé pour résoudre des problèmes d’optimisation sans contraintes. Références [1] R.P. Brent, Some efficient algorithms for solving systems of nonlinear equations, SIAM J. Numer. Anal., 10(2):327-344, 1973. [2] Ph.G. Ciarlet, Introduction à l’analyse numérique matricielle et à l’optimisation, Dunod, 1998. [3] J.E. Dennis and R.B. Schnabel, Numerical Methods for Unconstrained Optimization and Nonlinear Equations, SIAM, CLASSICS in Applied Mathematics, second edition, 1996. [4] A. Griewank, Principles and Techniques of Algorithmic Differentiation, SIAM, 2000. [5] Ph. Guillaume, Paramétrisation d’équation aux dérivées partielles et calcul de pôles, Habilitaion à diriger des recherches, Laboratoire MIP, INSA, Toulouse, 1997. [6] M.A. Hernández and M.A. Salanova, How to solve non-linear equations when a third order method is not applicable, BIT, 39(2):255-269, 1999. [7] W.P. Johnson, The curious history of Faà di Bruno’s formula, Amer. Math. Monthly, 109(3):217-234, 2002. [8] Y. Saad, Iterative Methods for Sparse Linear Systmes, PWS Publishing Compagny, 1996. Canum 2003 24 [9] Y. Saad and M.H. Schultz, GMRES: A generalized minimal residual algorithm for solving nonsymetric linear systems, SIAM J. Sci. Stat. Comput., 7 (3):856-869, 1986. [10] V.E. Shamanskii, A modifiction of Newton’s method, Ukrain. Math. Zh., 19:133-138, 1967. Canum 2003 25