Vous êtes sur la page 1sur 6

Polytech Lyon, département MAM Année universitaire 2017-2018

Analyse numérique Philomène BOBICHON

Correction feuille d’exercices n°2

Exercice 1.

M = P −1 DP avec D diagonale
α −1 α
M =P D P
(Diiα ) = (dαii )

1. Par définition,
κ(A) = kAkkA−1 k
et si A est sdp
λmax
κ(A) =
λmin

On va montrer que det(M −1 A − λI) = det(AM −1 − λI).

det(A) × det(M −1 A − λI) = det(AM −1 A − λA)


= det((AM −1 − λI)A)
= det(AM −1 − λI) × det(A)

Comme on a det(M −1/2 ) × det(M 1/2 ) = 1 :

det(M −1 A − λI) = det(M 1/2 ) × det(M −1 A − λI) × det(M −1/2 )


= det(M 1/2 (M −1 A − λI)M −1/2 )
= det(M −1/2 AM −1/2 − λI)

Version plus simple du prof :

M −1 Av = λv
⇔ M M −1 Av = λM v
⇔ Av = λM v
⇔ AM −1 u = λM M −1 u
⇔ AM −1 u = λu

M −1 Av = λv
⇔ M 1/2 M −1 Av = λM 1/2 v
⇔ M −1/2 AM −1/2 w = λw

1
2. On rappelle :
Données : x0 ∈ Rn
r0 = b − Ax0 ;
d0 = r 0 ;
pour k = 0, . . . , n faire
k ,dk )
αk = (r(rk ,Ar k) ;
k+1
x = x + α k dk ;
k
k+1
r = rk − αk Ark ;
k+1 k+1
β k = (r (rk ,r
,rk )
)
;
k+1 k+1
d =r + β k dk ;
fin
Algorithme 1 : Algorithme du gradient conjugué
L’idée est de réécrire l’algorithme avec la matrice M −1/2 AM −1/2 . Concrètement, on
part du système Ax = b et on pose :

x = M −1/2 y


M −1/2 AM −1/2 y = M −1/2 b

On pose les changements de variable suivants dans l’algorithme (noter que l’erreur
vient de l’énoncé pour z k ) :

xk = M −1/2 y k
Rk = M 1/2 rk
Dk = M −1/2 dk
z k = M −1 Rk

Donc on a :

R0 = M 1/2 r0
= M 1/2 (M −1/2 b − M −1/2 AM −1/2 y 0 )
= b − Ax0

D0 = M −1/2 d0
= M −1/2 (M −1/2 b − M −1/2 AM −1/2 y 0 )
= M −1/2 M −1/2 R0
= z0

Calculs pour αk :

(dk , M −1/2 AM −1/2 dk ) = (M −1/2 dk , AM −1/2 dk )


= (Dk , ADk )

2
(rk , dk ) = (M −1/2 Rk , M 1/2 Dk )
= (Rk , Dk )

Calculs pour xk+1 :

M −1/2 y k+1 = M −1/2 y k + αk M −1/2 dk


xk+1 = xk + αk Dk

Calculs pour rk+1 :

M −1/2 rk+1 = M 1/2 rk − αk AM −1/2 dk


Rk+1 = Rk − αk ADk

Calculs pour β k :

(rk+1 , rk+1 ) = (M −1/2 Rk+1 , M −1/2 Rk+1 )


= (Rk+1 , M −1 Rk+1 )
= (Rk+1 , z k+1 )

Calculs pour dk+1 :

M 1/2 Dk+1 = M −1/2 Rk+1 + β k M 1/2 Dk


Dk+1 = M −1 Rk+1 + β k Dk
= z k+1 + β k Dk

Données : x0 ∈ Rn
R0 = b − Ax0 ;
z 0 = M −1 R0 ;
D0 = z 0 ;
pour k = 0, . . . , n faire
(Rk ,Dk )
αk = (D k ,AD k ) ;
k+1
x = xk + α k D k ;
k+1
R = Rk − αk ADk ;
z k+1 = M −1 Rk+1 ;
k+1 k+1
β k = (R(Rk ,z
,z k )
)
;
k+1 k+1
D =z + β k Dk ;
fin

3
Exercice 2.
Données : r 6= 0 ∈ Rn , A ∈ Rn×n et k ∈ J1, nK
r
v1 = krk ;
pour j = 0, . . . , k faire
hi,j = (Avj , vi );
ṽj+1 = Avj − ji=1 hi,j vi ;
P
hj+1,j = kṽj+1 k;
si hj+1,j 6= 0 alors
ṽj+1
vj+1 = hj+1,j ;
sinon
Fin du calcul
fin
fin
1. On fait une orthonormalisation naturelle ici. On construit chaque nouveau vi en
lui soustrayant les projetés des autres.
Montrons que ṽj+1 est orthogonal à {v1 , . . . , vj }. Procédons par récurrence. Soit
j=1:

ṽ2 = Av1 − H11 v1


= Av1 − (Av1 , v1 )v1

(ṽ2 , v1 ) = (Av1 , v1 ) − ((Av1 , v1 )v1 , v1 )


= (Av1 , v1 ) − (Av1 , v1 ) (v1 , v1 )
| {z }
=1
=0
ṽ2
Donc v2 = kṽ2 k
⊥ v1 . Soit j ≥ 1, supposons {v1 , . . . , vj } orthonormés.

j
X
ṽj+1 = Avj − hij vi
i=1
j
X
= Avj − (Avj , vi )vi
i=1

j
X
(ṽj+1 , vi0 ) = (Avj , vi0 ) − (Avj , vi )(vi , vi0 )
i=1
= (Avj , vi0 ) − (Avj , vi0 )

2. On veut montrer Kk−1 (A, r) = Vect (v1 , . . . , vk } :

4
Initialisation k = 1. K0 (A, r) = Vect {v1 } ? Immédiat : Vect {v1 } = Vect {r} car
r
krk
6= 0.

Hérédité On suppose que Vect {v1 , . . . , vk } = Vect r, Ar, . . . , Ark−1 . Montrons




que
Vect {v1 , . . . , vk+1 } = Vect r, . . . , Ark = Kk (A, r)


On a Vect {v1 , . . . , vk } ⊂ Kk−1 (A, r) ⊂ Kk (A, r) et AKk−1 (A, r) ⊂ Kk (A, r). Mon-
trons que vk+1 ∈ Kk (A, r) :
k
X
ṽk+1 = Avk − hk,i vi
i=1

avec hk,i = hAvk , vi i. On a Avk ∈ AKk−1 (A, r) ∈ Kk (A, r) et ji=1 hk,i vi ∈ Kk−1 (A, r) ∈
P
Kk (A, r), donc vk+1 ∈ Kk (A, r) et dim Vect {v1 , . . . , vk+1 } = k + 1.
Or, Vect {v1 , . . . , vk+1 } ⊂ Kk (A, r) (de dimension ≤ k + 1).
Donc ils sont égaux.

Rappel

    
A11 A12 A11 A12 A11 B11 + A12 B21 A11 B12 + A12 B22
=
A21 A22 A21 A22 · ·
    
A11 A12 x1 A11 x1 + A12 x2
=
A21 A22 x2 A21 x1 + A22 x2

3.
Remarque.
j
X
ṽj+1 = Avj − hj,i vi
i=1
ṽj+1
or vj+1 = ⇔ ṽj+1 = hj+1,j vj+1
hj+1,j
j
X
⇒ hj+1,j vj+1 = Avj − hij vi
i=1

Pj+1
donc Avj = i=1 hij vi .
 

Vk =  →

v1 . . . →

vk 
n×k

5
AVk = A(v1 , . . . , vk ) = (Av1 , . . . , Avk )

 
h1,1 . . . h1,k
Vk+1 Hk = (v1 , . . . , vk+1 )  ... .. 

. 
hk+1,1 . . . hk+1,k
Pk+1 Pk+1 
i=1 h i,1 v 1,i . . . i=1 h i,k v 1,i
=
 .. .. 
. . 
Pk+1 Pk+1
i=1 hi,k v1,i . . . i=1 hi,k vk+1,i
i+1
!
X
= hl,i vl
l=1

4.
p
hm+1,m = hvm+1 , vm+1 i
=0