Vous êtes sur la page 1sur 9

CS/CIC 1A - EDP Énoncés 2017-2018

TD1 : Analyse numérique matricielle


Dans tout le TD, q est un entier naturel supérieur ou égal à 1.

Exercice 1 (Applications du théorème de Schur)


C
Soit A ∈ Mq ( ).
Q. 1.1 Rappeler le théorème de décomposition de Schur vu en cours. On pourra utiliser ce
théorème dans les questions suivantes.
Q. 1.2 Montrer que A est normale, c’est-à-dire que AA∗ = A∗ A, si et seulement si il existe
une matrice unitaire U et une matrice diagonale D contenant les valeurs propres de A telles que
A = UDU ∗ .
Indication : On pourra calculer les éléments diagonaux de TT ∗ et T ∗ T où T est la matrice
triangulaire supérieure telle que A = UTU ∗ avec U unitaire.
Q. 1.3 Montrer que si A est hermitienne, elle est diagonalisable dans une base de vecteurs
propres orthogonaux et que ses valeurs propres sont réelles.
Q. 1.4 Montrer que si A est unitaire, elle est diagonalisable dans une base de vecteurs propres
orthogonaux et que ses valeurs propres ont pour module 1.

Exercice 2 (Résolution de systèmes triangulaires)


K
Soit b ∈ q .
Q. 2.1 K
Soit L ∈ Tq,in f ( ). Ecrire l’algorithme de résolution du système linéaire Lx = b.
Q. 2.2 Soit U ∈ Tq,sup(K) . Ecrire l’algorithme de résolution du système linéaire Ux = b.
Q. 2.3 Calculer le nombre d’opérations nécessitées par ces résolutions.

Exercice 3 (Approche intuitive de la résolution de systèmes linéaires)


R R
Soit A ∈ GLq ( ). Soit b ∈ q . Quelle est la complexité de la résolution du système linéaire A2 x = b
par une méthode directe ? Proposer une méthode moins coûteuse.

Exercice 4 (Décomposition LU d’une matrice particulière)


R
Soit A ∈ Mq ( ) une matrice tridiagonale, définie par :
 
2 + c1 −1
 −1 2 + c2 −1 
 
 .. .. .. 
 . . . 
A=  ,
. .. . .. .. 
 . 
 
 − 1 2 + c q −1 −1 
−1 2 + cq
avec ci ≥ 0, ∀1 ≤ i ≤ q.
Q. 4.1 R
Soit v ∈ q . Montrer que :
{ }
q q
T
v Av = ∑ ci v2i + v21 + v2q + ∑ ( v i − v i −1 ) 2
.
i =1 i =2

TD1 1
CS/CIC 1A - EDP Énoncés 2017-2018

Q. 4.2 En déduire que A admet une décomposition de Cholesky.


Q. 4.3 Dans le cas ci = 0, ( 1 ≤ i ≤ q), montrer que la matrice B telle que A = BB T est
bidiagonale et donnée par :
 √

 i+1

 Bi,i = (1 ≤ i ≤ q );
 i
 √



 Bi+1,i = −
i
(1 ≤ i ≤ q − 1).
i+1

Exercice 5 (Décomposition QR)


R
Soit A ∈ GLq ( ).
Q. 5.1 Montrer qu’il existe une matrice R triangulaire supérieure à diagonale strictement
positive telle que :
A T A = R T R.
Q. 5.2 R
En déduire qu’il existe une matrice orthogonale Q ∈ Oq ( ) telle que : A = QR.
Q. 5.3 Montrer que cette décomposition A = QR avec R triangulaire supérieure à diagonale
strictement positive et Q orthogonale est unique.

Exercice 6
R R
Soit ω ∈ . Soit A ∈ Mq ( ) une matrice inversible telle que

A = (1 + ω ) P − ( N + ωP),

avec P inversible et P−1 N de valeurs propres réelles 1 > λ1 ≥ λ2 ≥ ... ≥ λq .


Q. 6.1 Trouver les valeurs de ω pour lesquelles la méthode itérative suivante

∀n ≥ 0, (1 + ω ) Px (n+1) = ( N + ωP) x (n) + b

converge pour tout vecteur initial x0 vers la solution du système Ax = b.


Q. 6.2 Trouver la valeur de ω pour laquelle le taux de convergence est minimal, ce qui permet
d’optimiser la vitesse de convergence.

TD1 2
CS/CIC 1A - EDP Correction 2017-2018

TD1 : Corrections des exercices

Solution de Q. 1.1 Voir cours !

Solution de Q. 1.2 Appliquons la décomposition de Schur : soient U ∈ Uq ( ) et T ∈ Tq,sup ( )C C


telles que A = UTU ∗ . Alors AA∗ = UTU ∗ UT ∗ U ∗ = UTT ∗ U ∗ et A∗ A = UT ∗ TU ∗ .
— Montrons la réciproque : supposons que T = D avec D diagonale. On a D ∗ = D. Alors
AA∗ = UDDU ∗ et A∗ A = UDDU ∗ . On en conclut que A est normale.
— Montrons le sens direct : supposons que A est normale. Examinons les éléments diagonaux
de TT ∗ = T ∗ T. On a, pour tout i ∈ {1, . . . , q},
q q q
( TT ∗ )ii = ∑ (T )ik (T ∗ )ki = ∑ |Tik |2 = ∑ |Tik |2
k =1 k =1 k =i
q q i
( T ∗ T )ii = ∑ (T ∗ )ik (T )ki = ∑ |Tki |2 = ∑ |Tki |2
k =1 k =1 k =1

Raisonnons par récurrence sur i pour montrer que les éléments extra-diagonaux de T sont nuls
jusqu’à la ligne i :
— pour i = 1, on a :
q
∑ |T1k |2 = |T11 |2 .
k =1
q
D’où | T1k = 0 et ∀k ≥ 2, T1k = 0.
∑ k =2 |2
— Hypothèse de récurrence : supposons que, pour i ≥ 1, pour tout p ≤ i, k ̸= p, Tpk = 0.
Montrons que la propriété est vraie au rang i + 1, c’est-à-dire que, pour tout k ≤ i, Ti+1,k = 0 :
On a, sachant que, pour tout k ̸= i + 1, Tk,i+1 = 0,
q i +1
∑ | Ti+1,k |2 = ∑ |Tk,i+1 |2 = |Ti+1,i+1 |2
k = i +1 k =1

q
d’où ∑k=i+2 | Ti+1,k |2 = 0. On en conclut que, pour tout k ̸= i + 1, Ti+1,k = 0.
— Conclusion : on a bien montré que la matrice T est diagonale. On note T = D.
Montrons que D contient les valeurs propres de A. Pour tout i ∈ {1, . . . , q}, notons vi la i-ème
C
colonne de la matrice U, c’est-à-dire vi = Uei , avec ei le i-ème vecteur canonique de q . Rappelons
que U unitaire implique vi∗ v j = δij . Alors
 ∗ 
v1 v i
 .. 
 . 
 ∗ 
Avi = UDU vi = UD 
∗ 
vi vi  = UDei = Dii Uei = Dii vi .
 .. 
 . 
v∗q vi

Les vecteurs vi sont donc des vecteurs propres de A associés à Dii valeur propre et les vecteurs vi
C
forment une base orthonormale de q , car ce sont les colonnes de U. On a donc trouvé exactement

TD1 3
CS/CIC 1A - EDP Correction 2017-2018

q vecteurs propres formant une base de Cq et q valeurs propres associées : on en conclut que
Sp( A) = { Dii , i ∈ {1, . . . , q}}.

Solution de Q. 1.3 Si A est hermitienne, alors A = A∗ et donc A est normale. D’après la


C C
question 1.2, il existe D ∈ diag( ) et U ∈ Uq ( ) telles que A = UDU ∗ . De plus, comme A = A∗ ,
D = U ∗ AU = U ∗ UD ∗ U ∗ U = D ∗ . On en conclut que les coefficients diagonaux de D sont leurs
propres conjugués et sont donc réels !

Solution de Q. 1.4 Si A est unitaire, alors AA∗ = Iq = A∗ A, donc A est normale. D’après
la question 1.2, A est diagonalisable dans une base de vecteurs propres orthogonaux car il existe
C
U ∈ Uq ( ) et D diagonale telles que A = UDU ∗ . Comme AA∗ = Iq , on a DD ∗ = Iq et on a donc
pour tout i ∈ {1, . . . , q}, | Dii |2 = 1, d’où | Dii | = 1 : le spectre de A est contenu dans le cercle-unité.

Solution de Q. 2.1 On prend comme convention qu’un vecteur d’indices vides est nul :
x (1 : 0) = 0.

Supposons que L est inversible. Soit x la solution du système Lx = b. Alors

L11 x1 = b1
..
.
i
∑ Lik xk = bi
k =1
..
.
q
∑ Lqk xk = bq
k =1

On peut donc calculer simplement x par récurrence sur i car


i −1
∀i ∈ {1, . . . , q}, Lii xi = bi − ∑ Lik xk .
k =1

TD1 4
CS/CIC 1A - EDP Correction 2017-2018

L’algorithme s’écrit donc

Algorithme 1 : Résolution d’un système triangulaire inférieur


Donnée : L, b
Paramètre : q = size( A, 1)
1 Pour i=1 à q faire
2 si L(i, i ) ̸= 0 alors
b(i ) − L(i, 1 : i − 1) ∗ x (1 : i − 1)
3 x (i ) ←
L(i, i )
4 sinon
5 abandon : la matrice L n’est pas inversible !
6 finsi
7 finpour
Résultat : x

Solution de Q. 2.2 La seule différence de raisonnement avec la question précédente est le fait
qu’on doive partir de la dernière composante de x !

Algorithme 2 : Résolution d’un système triangulaire supérieur


Donnée : U, b
Paramètre : q = size( A, 1)
1 Pour i=q à 1 faire
2 si U (i, i ) ̸= 0 alors
b(i ) − U (i, i + 1 : q) ∗ x (i + 1 : q)
3 x (i ) ←
U (i, i )
4 sinon
5 abandon : la matrice U n’est pas inversible !
6 finsi
7 finpour
Résultat : x

Solution de Q. 2.3 On fait le calcul pour L triangulaire inférieure, le calcul étant le même pour
une matrice triangulaire supérieure.
La ligne 3 nécessite
• i − 1 multiplications et i − 1 additions (en fait, i − 2 additions et une soustraction)
• une division.
En sommant ces opérations sur i, on obtient : q(q − 1)/2 additions, q(q + 1)/2 multiplications (en
fait, q(q − 1)/2 multiplications et q divisions). La complexité est donc en O(q2 ) (quadratique).

Solution de Q. 3 Soit A = PLU, avec P matrice de permutation. Le coût de la multiplication par


la matrice P est linéaire, si on fait bien le produit avant de résoudre le système : PLUx = b se résout

TD1 5
CS/CIC 1A - EDP Correction 2017-2018

en Pz = b (linéaire car il suffit de changer les coefficients de place), puis Ly = z et enfin Ux = y, ces
deux opérations étant en O(q2 ). Le calcul de la matrice A2 nécessite q2 fois q − 1 additions et q mul-
tiplications, soit de l’ordre de 2q3 opérations. Notons Nmult ce nombre d’opérations. La complexité
de la décomposition PLU est de l’ordre de q3 également. Notons NPLU le nombre d’opérations
requis. On a montré dans l’exercice 2 que la résolution des deux systèmes triangulaires a une com-
plexité de l’ordre de q2 , que nous notons Ntriang . En calculant A2 puis en décomposant A2 = P1 L1 U1
puis en résolvant P1 L1 U1 x = b, on a donc besoin de faire Nmult + NLU + Ntriang = O(q3 ) opérations.

En faisant une décomposition de A = P2 L2 U2 puis en résolvant P2 L2 U2 L2 U2 x = b, on n’a besoin


que de faire NLU + 2Ntriang . Le calcul nécessite le même ordre de grandeur d’opérations, mais, la
multiplication matricielle étant aussi chère que la décomposition PLU, la deuxième méthode est
plus économique, en moyenne le temps de calcul est divisé par 2.

clear

temps=[]; % 1e colonne: temps avec multiplication matricielle puis PLU


% 2e colonne : temps avec 2 fois PLU
% 3e colonne : temps mis par Matlab
q=50; % taille du système

for n=1:500

A=rand(q);
b=rand(q,1);

t1=tic;
B=A*A;
[L1,U1,P1]=lu(B);
z1=P1*b;
y1=L1\z1;
x1=U1\y1;
tmult=toc(t1);

t2=tic;
[L2,U2,P2]=lu(A);
zz2=P2*b;
yy2=L2\zz2;
xx2=U2\yy2;
z2=P2*xx2;
y2=L2\z2;
x2=U2\y2;
tplu=toc(t2);

t3=tic;
x=B\b;

TD1 6
CS/CIC 1A - EDP Correction 2017-2018

tml=toc(t3);

temps=[temps;[tmult tplu tml]];

end

Solution de Q. 4.1 Ceci est un calcul classique qui sera très utile par la suite !

Calculons v T Av, en posant v0 = 0 et vq+1 = 0 :


( )
q q q
T
v Av = ∑ vi ( Av)i = ∑ vi ∑ Aij v j
i =1 i =1 j =1
q −1
= v1 ( A1,1 v1 + A1,2 v2 ) + ∑ vi ( Ai,i−1 vi−1 + Ai,i vi + Ai,i+1 vi+1 ) + vq ( Aq,q−1 vq−1 + Aq,q vq )
i =2
q q q q
= ∑ vi (−vi−1 + (2 + ci )vi − vi+1 ) = ∑ ci v2i + ∑ v i ( v i − v i −1 ) + ∑ v i ( v i − v i +1 )
i =1 i =1 i =1 i =1
q q q +1
= ∑ ci v2i + ∑ vi (vi − vi−1 ) + ∑ vi−1 (vi−1 − vi )
i =1 i =1 i =2
q q
= ∑ ci v2i + ∑ (vi − vi−1 )2 + v21 + v2q .
i =1 i =2

Solution de Q. 4.2 La matrice A est clairement symétrique. On déduit du calcul précédent


que A est symétrique définie positive (SDP) puisque, pour tout v ∈ q , v T Av ≥ 0, et, v T Av = 0 R
implique que v1 = vq = 0 et ∀i ∈ {2, . . . , q}, vi = vi−1 = v1 donc v = 0. D’après le théorème du
cours, A admet donc une décomposition de Cholesky.

Solution de Q. 4.3 Il suffit de faire le calcul de ( BB T )i,j pour i ≥ j, car BB T est symétrique.
On a immédiatement ( BB T )1,1 = ( B1,1 )2 = 2.
Soient i ∈ {2, . . . , q} et j ≥ i.
Alors
q
( BB T )i,j = ∑ Bi,k Bj,k = Bi,j−1 Bj,j−1 + Bi,j Bj,j .
k =1

— si j − i ≥ 2, ( BB T )i,j = 0,
√ √
i+1 i
— si i ≤ q − 1 et j = i + 1, ( BBT ) i,i +1 = Bi,i Bi+1,i = − = −1,
i i+1
i−1 i+1
— si i = j, ( BB T )i,i = Bi,i
2 2
−1 + Bi,i = + = 2.
i i

TD1 7
CS/CIC 1A - EDP Correction 2017-2018

Par unicité de la décomposition de Cholesky, la matrice B fournie est celle de la décomposition.

Solution de Q. 5.1 Ceci est un raisonnement très important !

Montrons que la matrice A T A est SDP. Elle est clairement symétrique. Soit v ∈ q . Notons R
que v T A T Av = ( Av)T Av = ∥ Av∥22 . Donc v T A T Av > 0 si Av ̸= 0. Or A est inversible donc Av = 0
est équivalent à v = 0. La matrice A T A est donc bien SDP. D’après le théorème du cours, il existe
donc R ∈ Tq,sup à diagonale strictement positive telle que A T A = R T R.

Solution de Q. 5.2 Posons Q = AR−1 . Montrons que Q est orthogonale, c’est-à-dire Q T Q = Iq :

Q T Q = ( R−1 )T A T AR−1 = ( R−1 )T R T RR−1 = Iq .

Solution de Q. 5.3 Supposons qu’il existe deux couples de matrices ( Q1 , R1 ) et ( Q2 , R2 ) per-


mettant une décomposition QR.
Alors A = Q1 R1 = Q2 R2 implique que Q1T Q2 = R1 R2−1 : il y a donc égalité entre une matrice or-
R
thogonale (Oq ( ) est stable par multiplication) et une matrice triangulaire supérieure à coefficients
diagonaux strictement positifs. On en déduit que c’est la matrice identité : Q1 = Q2 et R1 = R2 . Il
y a donc unicité de la décomposition QR.

Solution de Q. 6.1 On suppose bien entendu que ω ̸= −1.


La matrice d’itération de la méthode est
1 1
M(ω ) = P−1 ( N + ωP) = ( P−1 N + ωIq ).
1+ω 1+ω
On a vu qu’une méthode itérative converge si et seulement si ρ(M(ω )) < 1.
Étudions le spectre de M(ω ) :
( )
1 −1
µ ∈ Sp(M(ω )) ⇐⇒ µ ∈ Sp ( P N + ωIq )
1+ω
{ }
λi + ω
⇐⇒ µ ∈ , i ∈ {1, . . . , q}
1+ω

A ω fixé, la méthode converge donc si et seulement si



λi + ω
max < 1.

i ∈{1,...,q} 1 + ω

Pour i ∈ {1, . . . , q}, notons f i : ω 7→ (λi + ω )/(1 + ω ). Il est clair que, pour tout i ∈ {1, . . . , q},
| f i |]−∞,−1[ | > 1.

TD1 8
CS/CIC 1A - EDP Correction 2017-2018

| f1 |
| f2 |
| fq |
−1 0 −λq ω

De plus, ][
1 + λi
{ω ∈] − 1, +∞[/| f i (ω )| < 1} = − , +∞ .
2
On en conclut donc que
] [ ] [
∩ 1 + λi 1 + λq
{ω ∈] − 1, +∞[ : ρ(M(ω )) < 1} = − , +∞ = − , +∞ .
1≤ i ≤ q
2 2

Solution de Q. 6.2 Notons que


{
| f q (ω )| si ω ∈] − ∞, ω0 [\{−1}
ρ(M) : ω 7→
| f 1 (ω )| si ω ∈]ω0 , +∞[

avec ω0 la valeur pour laquelle les fonctions f 1 et f q sont égales, satisfaisant à

| λ 1 + ω0 | = λ 1 + ω0 = | λ q + ω0 | = − λ q − ω0

c’est-à-dire
λ1 + λ q
ω0 = − .
2
Le taux minimal de convergence vaut donc

λ1 − λ q
ρ(M(ω0 )) = .
2 − ( λ1 + λ q )

TD1 9

Vous aimerez peut-être aussi