du linéaire au non linéaire via des dérivées successives

publicité
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
Téléchargement