−→ lorsque nprend les valeurs 10, 20, 30, 50, 100 :
•de tester chacune des trois méthodes
•Enfin, de comparer à l’aide d’un graphique ou d’un tableau, la rapidité de convergence
de chacune de ces méthodes, ainsi que le temps de calcul par Matlab, suivant les
différentes valeurs prises par n.
(a) La méthode du gradient à pas fixe.
Écrire une fonction Matlab prenant en argument ρ > 0, un pas fixe et x0∈Rn, un
vecteur d’initialisation, afin de mettre en œuvre l’algorithme du gradient à pas fixe,
puis la tester sur Jndans chacun des cas ci-dessus. Répondre aux questions initiales.
Expliquer brièvement pourquoi il est important de choisir le pas fixe, ni trop grand,
ni trop petit.
(b) La méthode du gradient à pas optimal.
i. Soient x∈Rn, un point, et d∈Rn, un vecteur.
Écrire une fonction Matlab permettant de minimiser, à l’aide de la méthode de la
section dorée, la fonction t7−→ Jn(x+td).
ii. Voici l’algrithme du gradient à pas optimal pour la minimisation d’une fonction f
donnée :
x0est donné.
xn+1 =xn+ρndn
dn=−∇f(xn)
ρn= min
α∈RJn(xn+α.dn).
Programmer cet algorithme et répondre aux questions initiales. On pourra utiliser
la méthode de la section dorée pour calculer ρn.
(c) La méthode du gradient conjugué dans le cas d’une fonctionnelle quadra-
tique elliptique.
Soit f:Rn−→ R
x7−→ 1
2(Ax, x)−(b, x)
, où A∈ Mn(R)est une matrice symétrique
définie positive et best un vecteur de Rn. Alors, dans ce cas, l’algorithme du gradient
conjugué s’écrit :
x0est donné, r0=Ax0−bet d0=−r0.
xn+1 =xn+ρndn, ρn=−(rn,dn)
(Adn,dn)
rn+1 =Axn+1 −b
dn+1 =−rn+1 +βndn, βn:= krn+1k2
krnk2.
Programmer cet algorithme et répondre aux questions initiales.
2