You are on page 1of 38

Mthodes numriques pour lingnieur Cahier de TD et de TP 1

ASI - Mthodes de calcul pour lingnieur


Cahier dexercices (TD et TP)
Stphane Canu
Novembre 2009
Rsum
Ce recueil dexercices est principalement destin aux lves ingnieurs qui suivent un cours sur le calcul matriciel,
mais sadresse aussi tous ceux qui souhaitent parfaire leurs connaissances dans lun ou lautre des sujets traits.
Il a t tabli, laide des tous les enseignants qui y ont particip, daprs un certain nombre dexercices de lUTC
(UV MT 09)
1
et aussi des exercices du Golub et Van Loan [?] et du Burden et Faris [?].
Table des matires
1 Algorithmes lmentaires 2
2 Matrices 3
3 Rsolution de systmes linaires par mthode directe 5
4 Rsolution de systmes linaires symtriques 11
5 Factorisation QR 13
6 Rsolution de systmes linaires par mthode itrative 16
7 Prcision et complexit 22
8 Valeurs propres 25
9 Exercices sous Scilab 31
10 Travaux pratiques 33
1. http://tice.utc.fr/moodle/course/view.php?name=MT09
Mthodes numriques pour lingnieur Cahier de TD et de TP 2
1 Algorithmes lmentaires
1.1
Soient A une matrice n m, x IR
n
et y IR
m
. Donnez 2 manires direntes de programmer
A = A +xy

1.2
Soient deux vecteurs x IR
n
et y IR
n
et k un entier trs grand. Donnez un programme ecace permettant de
calculer
C = (xy

)
k
1.3
Donnez 6 manires direntes de programmer le produit de deux matrices
C = C +AB et C = AB
1.4
recrire le programme C = AB de faon vectorielle lorsque les deux matrices A et B sont triangulaires suprieures
1.5
comment stocker une matrice triangulaire ligne par ligne dans un vecteur ? rcrire le programme calculant Ax +y
avec ce type de stockage
Mthodes numriques pour lingnieur Cahier de TD et de TP 3
2 Matrices
2.1 Projecteurs
Soit une application de IR
n
dans lui-mme dnissant la projection orthogonale dun lment x de IR
n
sur un lment
y de IR
n
. Cette application est note P
y
:
P
y
: IR
n
IR
n
x P
y
(x) = xcos()
y
y
o est langle form par x et y.
1. Vrier que P
y
est un projecteur sur y.
2. Dnir la projection orthogonale y, not P

y
(x).
3. Montrer que P
y
est une application linaire. Remarque : le produit scalaire entre deux vecteurs sexprime en
fonction du cosinus de langle form par les deux vecteurs : < x, y >= xycos()
4. Donner limage et le noyau P
y
.
5. Dduire la matrice associe P
y
et celle associe P

y
, donner pour chacune son rang.
6. Ecrire un programme ecace pour calculer P
y
(x) et pour P

y
(x).
2.2 Projecteurs, 2me
Soient y et z deux vecteurs de IR
n
. On considre lapplication P dnie de la manire suivante :
P : IR
n
IR
n
x P(x) = x
y

x
y

y
y
z

x
z

z
z
1. Montrer que P est linaire,
2. Quelle est la matrice A associe lapplication P,
3. Montrer que si y et z sont orthogonaux, alors P est un projecteur,
4. Proposer un programme Matlab permettant de calculer P(x).
2.3 le pre mutte Median 2006
Soit A une matrice carre de taille n avec A(i, j) = i + n(j 1) et P une matrice de permutation telle que
P(k, n k + 1) = 1, pour k = 1, n. Donner sans trop de dtails le rsultat du calcul suivant :
PAP

2.4 Calcul matriciel


1. Soit A la matrice associ une application linaire de IR
k
dans IR
n
et B la matrice associ une application
linaire de IR
p
dans IR
k
. Quelles sont les dimensions de A, de B et de C = AB?
2. Soit A une matrice associ une application linaire de IR
k
dans IR
n
, y un vecteur de IR
n
et z un vecteur de IR
k
.
Que reprsentent Az et y

A. Que valent leurs cocients.


3. Soient y et z deux vecteurs de IR
k
. Que reprsente y

z.
4. Soient y un vecteur de IR
n
et z un vecteur de IR
k
. Que reprsente yz

. Calculez les cocients de cet objet.


5. Soit A la matrice associ une application linaire de IR
k
dans IR
n
. Soit {e
1
, e
2
, ..., e
m
} la base cannonique de
IR
k
et {f
1
, f
2
, ..., f
n
} la base cannonique de IR
n
. Que reprsentent Ae
i
et f

j
A?
6. Soit D une matrice diagonale de dimension (n, n). Soit A la matrice associe une application linaire de IR
k
dans IR
n
et B la matrice associ une application linaire de IR
n
dans IR
k
. Que reprsente DA et BD?
Mthodes numriques pour lingnieur Cahier de TD et de TP 4
7. Soit A la matrice carre rgulire associ une application linaire de IR
n
dans lui mme. Montrez que le calcul
de linverse A
1
de A se ramne la rsolution de n systmes dquations linaires chacun de taille n et de la
forme Ax = b, ou lon prcisera le rle de x et de b.
8. soit y un vecteur de IR
n
et P la matrice suivante :
P = I
yy

y
A quoi correspond lapplication linaire dnie par P ?
9. Soit A la matrice associ une application linaire de IR
k
dans IR
n
. Montrez que les matrices AA

et A

A sont
des matrices systriques. Quelle est leur dimension ?
10. Soit E un espace vectoriel muni de la base E = {e
1
, e
2
}. Soit F = {f
1
= e
1
+e
2
, f
2
= 2e
1
e
2
}.
Donner P la matrice de passage dun vecteur de E de la base E la base F
soit u une application linaire de E vers lui mme dnie par u(e
1
) = e
1
+ 3e
2
; u(e
2
) = 2e
1
e
2
.
quelle est la matrice A associe u dans la base E
quelle est la matrice B associe u dans la base F
calculez P
1
AP
2.5 Rotation
On considre la rotation dun angle des vecteurs dans le plan
1. Montrer que lapplication est linaire,
2. Quel est son noyau, quelle est son image ?
3. Montrer quelle est bijective,
4. Donner lapplication inverse et en dduire quelle est linaire et bijective,
5. Donnez la matrice quivalente et son inverse dans la base cannonique de IR
2
,
6. Calculez les valeurs propres de cette matrice,
7. Montrez, en utilisant le produit de matrices, que la compose de deux rotations planes dangles
1
et
2
est une
rotation plane dangle
1
+
2
.
2.6 Matrice triangulaire
Soit L une matrice triangulaire infrieure, associ une application linaire de IR
n
dans lui mme.
1. Montrez que det(L) =
n

i=1

ii
,
2. quel est le dterminant et la valeur propre de la matrice identit ?
3. Montrez que le produit de deux matrice triangulaires infrieures est aussi une matrice triangulaire infrieure.
4. Supposons que L soit rgulire. Soit b un vecteur de IR
n
tel que b
i
= 0, i < k. Montrez que la solution x du
systme linaire Lx = b est telle que :

x
i
= 0; i < k
x
k
=
b
k

kk
5. En dduire que linverse dune matrice triangulaire infrieure est elle mme une matrice triangulaire infrieure.
Quel est la forme des termes diagonaux de cette inverse ?
Mthodes numriques pour lingnieur Cahier de TD et de TP 5
3 Rsolution de systmes linaires par mthode directe
3.1 TriSup
Soit U une matrice triangulaire suprieure de taille n n :
1. crire deux algorithmes permettant de rsoudre Ux = b, lun en parcourant les ligne et lautre en parcourant les
colonnes de la matrice U
2. donnez une interprtation matricielle de ces algorithmes, quelle est la complexit de ces programmes ?
3. Soit L une matrice triangulaire infrieure unitaire de taille n n : crire une fonction Tri_inf_Unit permettant
de rsoudre Lx = b
3.2 LU la main
Soient les matrices
M
1
=

1 0 0
2 1 0
3 0 1

et A =

1 4 7
2 5 8
3 6 8

1. calculez la matrice L
1
inverse de la matrice M
1
2. calculez la matrice produit B = M
1
A
3. construisez la matrice M
2
telle que le produit M
2
B soit une matrice triangulaire suprieure que lon prcisera
4. calculez linverse de la matrice M
2
5. en dduire la dcomposition LU de la matrice A
6. utilisez cette dcomposition pour calculer le vecteur x tel que Ax = b avec b

= (1, 0, 0)
3.3 LU la main (...suite)
1. calculez le vecteur x tel que Ux = y avec
U =

1 1 1 0
0 1 0 1
0 0 1 1
0 0 0 1

et y =

1
0
2
1

2. lexcution du programme de factorisation LU de la matrice A vu en cours nous a donn la suite de matrices


suivante :
A =

1 1 1 0
1 2 1 1
1 1 2 1
0 1 1 3

, A
1
=

1 1 1 0
0 1 0 1
0 0 1 1
0 1 1 3

,
A
2
=

1 1 1 0
0 1 0 1
0 0 1 1
0 0 1 2

et U =

1 1 1 0
0 1 0 1
0 0 1 1
0 0 0 1

en dduire la factorisation LU de la matrice A,


3. trouvez x tel que Ax = b avec b = (1, 1, 3, 3)

.
4. Calculez le dterminant de A
3.4 Donne moi ta place, et prend la mienne
1. comment reprsenter une permutation de 2 lignes dune matrice par une matrice (permutation simple)
2. comment reprsenter une permutation de 2 colonnes dune matrice par une matrice (permutation simple)
3. donnez une dnition dune matrice de permutation lmentaire (simple) et dune permutation en gnral.
Mthodes numriques pour lingnieur Cahier de TD et de TP 6
4. expliquez comment reprsenter une matrice de permutation par un vecteur,
5. quel est linverse dune permutation lmentaire et dune permutation en gnral
6. Soit E
ij
une matrice de permutation simple. Montrez que
E
ij
IE
ij
= I
7. en dduire quelles conditions, si M
k
est une matrice de Gauss, E
ij
M
k
E
ij
est aussi une matrice de gauss,
8. crire un programme matlab permettant de calculer ecacement le produit x

PA, o x est une vecteur de IR


n
,
P une matrice de permutation et A la matrice associe une application linaire de IR
n
vers IR
n
.
9. quelle est la complexit de ce programme.
3.5 Le facteur nest toujours pas pass
1. Donner la factorisation PA = LU (avec permutation) de la matrice
A =

0 2 1 3
0 1 0 1
2 1 0 1
2 1 2 1

sachant que :

0 2 1 3
0 1 0 1
2 1 0 1
2 1 2 1

0 0 1 0
0 1 0 0
1 0 0 0
0 0 0 1

2 1 0 1
0 1 0 1
0 2 1 3
2 1 2 1

1 0 0 0
0 1 0 0
0 0 1 0
1 0 0 1

2 1 0 1
0 1 0 1
0 2 1 3
0 0 2 0

1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1

2 1 0 1
0 2 1 3
0 1 0 1
0 0 2 0

1 0 0 0
0 1 0 0
0 1/2 1 0
0 0 0 1

2 1 0 1
0 2 1 3
0 0 1/2 1/2
0 0 2 0

1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0

2 1 0 1
0 2 1 3
0 0 2 0
0 0 1/2 1/2

2. En dduire x tel que Ax = b avec b = (2 , 0 , 0 , 0)

et la premire colonne de A
1
3.6 ah non, pas lu la paluche ! 8 points (mdian 2007)
1. Trouvez le vecteur y tel que Ly = c avec c = (4, 3, 1, 1)

et
L =

1 0 0 0
0 1 0 0
1/4 0 1 0
1/2 1/2 1/4 1

Mthodes numriques pour lingnieur Cahier de TD et de TP 7


2. Donner la factorisation LU (avec permutation) de la matrice
A =

0 4 3 1
2 5/2 1 1/2
4 1 0 1
1 1/4 2 17/4

3. En dduire x tel que Ax = b avec b = (3, 1, 4, 1)

3.7 lu et plu
Rsoudre les systmes Ax = b suivants :
1.
A =

1 1 1
3 9 27
2 4 8

, b =

14
120
50

2.
A =

5 3 2 17
0 2 7 53
2 6 5 1
1 3 6 7

, b =

76
129
7
20

3.
A =

0 1 1 1
1 1 1 2
1 1 1 0
1 2 0 2

, b =

1
4
0
3

Donnez les matrices L et U des factorisations "LU" de chacune de ces matrices.


Les quelles parmi ces matrices admettent une dcomposition LD

L?
sont elles dnies positives ?
3.8 Pas pris
Soit la matrice
A =

1 4 3
2 2 7
3 5 3

1. Donnez, la factorisation PA = LU de la matrice A, o P est une matrice de permutation.


2. en dduire la solution du systme Ax = b o b est le vecteur b = (8, 11, 11)

3.9 a vous plu la main ? 6 points (mdian 2005)


Factorisez avec pivot la matrice A et utilisez cette factorisation pour calculer le vecteur x tel que Ax = b avec
A =

2 3 2
4 2 4
6 3 3

et b =

1
6
6

Mthodes numriques pour lingnieur Cahier de TD et de TP 8


3.10 Tri - diagonale (7) (mdian 2009)
On cherche rsoudre lquation direntielle suivante dnie en n points :

(x
i
) +f(x
i
) = b
i
i = 1, n
f(x
0
) = f(x
n+1
) = a
en approchant f

(x
i
) par :
f
i1
2f
i
+ f
i+1
h
2
avec f
i
= f(x
i
)
pour un h donn.
1. crire le systme linaire Af = b vri par le vecteur f = (f
1
, . . . , f
i
, . . . , f
n
)

,
2. proposez un programme matlab ou scilab permettant de calculer f connaissant h et le vecteur b
3. soit B une matrice symtrique tribande, cest--dire de la forme :
B =

0 . . . . . . . . . 0
0
.
.
.
.
.
.
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 0
.
.
. 0 0
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 0
.
.
.
.
.
.
.
.
. 0
0 . . . . . . . . . 0

proposez un algorithme O(n) permettant dobtenir la factorisation de B comme le produit de deux matrices
triangulaires.
3.11 Triangle
Soient S et T deux matrices triangulaires supprieures de taille n n. soit un rel, I la matrice identit de taille
n n et b un vecteur de IR
n
.
1. Donnez un programme matlab permettant de rsoure lquation suivante :
(ST +I)x = b
Quelle est la complexit de ce programme,
2. Soient S
(n1)
et T
(n1)
deux matrices triangulaires suprieures de taille n 1 n 1. soit , , trois rels et
u, v, b
(n1)
trois vecteurs de IR
n1
. Posons
S =

0 S
(n1)

, T =

0 T
(n1)

et b =


b
(n1)

Montrez que si (S
(n1)
T
(n1)
+ I
(n1)
)x
(n1)
= b
(n1)
alors la solution de (ST + I)x = b scrit x

=
(, x

(n1)
) avec
=
v

x
(n1)
u

w
(n1)
+
avec w
(n1)
= T
(n1)
x
(n1)
3. crire un programme matlab permettant de calculer w
(n1)
lorsque lon connait w
(n2)
. Quelle est la complexit
de ce programme ?
4. en dduire un programme matlab ecace permettant de rsoudre
(ST +I)x = b
Quelle est la complexit de ce programme ?
Mthodes numriques pour lingnieur Cahier de TD et de TP 9
3.12 Gauss -Jordan (pas michael)
On cherche rsoudre un systme linaire de n quations n inconnues scrivant : Ax = b, ou A L(n, n) et
b IR
n
. La mthode de Gauss Jordan est une mthode dlimination analogue la mthode du pivot de Gauss vue en
cours.
A chaque itration on applique les formules suivantes :
pour i = 1, ..., k 1, k + 1, ..., n

a
(k+1)
ij
= a
(k)
ij

a
(k)
ik
a
(k)
kk
a
(k)
kj
, j = k, ..., n
b
(k+1)
i
= b
(k)
i

a
(k)
ik
a
(k)
kk
b
(k)
k
Notez quil sagit des mmes formules que llimination de Gauss, seule la plage de variation de lindice i est
dirente. Comme pour la mthode de Gauss, les a
(k)
kk
sont appels les pivots. On fera lhypothse que aucun dentre
eux ne sannule.
1. Ecrivez lagorithme complet en utilisant le style vu en cours.
2. Donnez en fonction de n le nombre doprations eectues par lalgorithme. Pour n grand, comparez ce nombre
doprations avec celui de la mthode de Gauss prsente en cours.
3. Appliquez cet algorithme lexemple suivant :

1 1 1 1
1 3 3 5
1 3 12 14
1 5 14 28

x
1
x
2
x
3
x
4

-2
10
28
48

3.13 Block
Soit A
1
une matrice carre dont on connait la factorisation A
1
= L
1
U
1
.
Soit la matrice A =

A
1
0
A
2
A
1

proposez une mthode O(n


2
) pour rsoudre Ax = b
3.14 re-Block
Soit A
11
une matrice carre dont on connait la factorisation A
11
= L
11
U
11
.
Soit la matrice A =

A
11
A
12
A
21
A
22

En supposant que dim(A


22
) =
3

dim(A
11
) et en raisonnant par blocks, proposez une mthode permettant dobtenir
la factorisation LU de A plus conome que la factorisation directe de A.
3.15 Le magnique
La version de LU vue en cours traite la factorisation de la matrice colonne par colonne. Le but de cet exercice est
de proposer une version ligna par ligne de cette procdure.
1. Soit a et b deux vecteurs de IR
k
. Soit la matrice A =

L
k
U
k
a
k
b

k
a
kk

o a
kk
est un scalaire.
Proposez une mthode conomique permettant de trouver la factorisation LU de A connaissant les matrices L
k
et U
k
respectivement triangulaire infrieure et suprieure.
2. partir de la mthode prcdente proposez un algorithme Gaxpy pour raliser la factorisation LU dune matrice
A.
3. Soit la matrice A
k+1
=

A
k
a

k+1

o a
k+1
est un vecteur de IR
n
correspondant la K + 1me ligne de la
matrice A. Supposons que nous connaissions ltape k la factorisation LU des k premires lignes de A :
A(1 : k, :) = L(1 : k, 1 : k)U(1 : k, :).
Mthodes numriques pour lingnieur Cahier de TD et de TP 10
Proposez une mthode conomique permettant de trouver la factorisation LU des k + 1 premires lignes de A
connaissant les matrices L(1 : k, 1 : k) et U(1 : k, :) respectivement triangulaire infrieure et suprieure.
4. partir de la mthode prcdente proposez un algorithme ligne pas ligne permettant de raliser la factorisation
LU dune matrice A.
3.16 Monsieur + mdian 2006
soit A une matrice carre de taille n. Supposons que lon connaisse dj les matrices triangulaires suprieure U et
infrieure unitaire L telle que A = LU.
Soit A
n+1
la matrice construite partir de A de la manire suivante :
A
n+1
=

A a
b

o a et b sont deux vecteurs de IR


n
et un rel.
1. Montrez que
A
n+1
= L
n+1
U
n+1
avec L
n+1
=

L 0

et U
n+1
=

U u
0

2. Exprimez , u, en fonction de L, U, a, b et
3. Proposez en Matlab une mthode conomique pour trouver la factorisation LU de A
n+1
4. En itrant le procd, en dduire une autre version de lalgorithme de factorisation LU et A (dirente de celle
vue en cours).
Mthodes numriques pour lingnieur Cahier de TD et de TP 11
4 Rsolution de systmes linaires symtriques
4.1 Matrices (symtriques dnies) positive
Les matrices suivantes sont-elles symtriques dnies positives ?
A =

2 1 0
1 2 1
0 1 2

, B =

2 1
1 2

, C =

1 2
2 1

,
Montrez que tous les lments diagonaux dune matrice symtrique dnie positive sont positifs,
Soit A une matrice symtriques dnies) positive : comment calculer sa racine carre, cest--dire une matrice B
telle que A = BB.
4.2 Cholesky la main
Donnez, laide des algorithmes vus en cours, les factorisations LDL

et GG

de la matrice suivante
A
=

10 20 30
20 45 80
30 80 171

,
4.3 Il faut savoir dire non
1. montrez que si A une matrice carre admet une factorisation de Cholesky alors A est symtrique dnie positive,
2. la rciproque est elle vraie ?
3. donnez la factorisation de Cholesky de :
A =

1 2
2 1

4.4 Cholesky rentrant (voir lexercice 9.3)


Supposons que lon connaisse la factorisation de Cholesky de la matrice B = LL

. Proposer un programme
permettant de calculer la factorisation de la matrice
A
=

B b
b

,
A = MM

avec
M
=

L 0

,
4.5 Cholesky complexe
Soit H = A + iB une matrice complexe hermitienne (H

= H), dnie positive, ou A et B sont deux matrices


relles. Le but de lexercice est de proposer un programme permettant de calculer la factorisation de Cholesky de la
matrice H.
On cherche le vecteur complexe z tel que Cz = c avec :
C =

1 1 +
1
2
i
1
1
2
i 2

c =

i
2 i

Pour ce faire nous allons nous ramener au cas rel.


1. ecrire le systme dquations correspondant la partie relle du systme complexe Cz = c
2. ecrire le systme dquations correspondant la partie imaginaire du systme complexe Cz = c
Mthodes numriques pour lingnieur Cahier de TD et de TP 12
3. en deduire que le systme complexe Cz = c peut se mettre sous la forme

A B
B A

x
y

a
b

avec C = A + iB o A et B sont des matrices relles dont on donnera les valeurs et z = x + iy et c = a + ib


avec x, y, a et b des vecteurs rels.
4. Montrez que la matrice A est strictement dnie positive,
5. Calculez sa factorisation de Cholesky L (telle que A = LL

),
6. Calculez la matrice E telle que la matrice D admette une factorisation de Cholesky de la forme :
D =

A B
B A

L 0
E M

L

0 M

Montrez que M = Chol(A EE

)
7. En admettant que
M =

0.866 0
0.866 0.866

utilisez la mthode de Cholesky pour trouver z


Mthodes numriques pour lingnieur Cahier de TD et de TP 13
5 Factorisation QR
5.1 Householder la main
Soit la matrice
A
=

3 1 5 1
1 0 0 1
5 0 2 1
1 1 1 1

,
Calculez la matrice B = HA o H est la matrice de Householder qui anulle les coecients B(2 : 4, 1).
5.2 copie conforme... 6 points (nal 2006)
Soit une matrice A IR
54
. On cherche obtenir sa dcomposition QR.
A =

1. Donner le principe de rsolution de min


x
Ax b
2
avec A = QR en expliquant les avantages de lutilisation de
cette mthode de dcomposition.
2. crire la fonction Matlab qui permet de trouver x connaissant A et b
3. illustrer graphiquement la dcomposition de A en utilisant les matrices de Householder en suivant les indications
suivantes :
(a) dnir les matrices de Householder
(b) combien dtapes sont ncessaires pour nir la dcomposition ?
(c) donner la dimension des calculs de chaque tape
(d) donner le code en Matlab permettant de calculer la matrice R de la factorisation QR par la mthode de
Householder
4. on considre maintenant les matrices de la forme :
B =



0
0 0
0 0 0

Proposer une autre faon dobtenir sa dcomposition QR et justier lecacit de la mthode propose.
5.3 les moindres carrs
Un capteur permet de mesurer la temprature y partir de la taille x dun lament mtalique. An dtaloner ce
capteur, on ralise une campagne de mesures. A lissue de cette campagne on dispose dun ensemble de n triplets de
mesures (x
i
, y
i
, w
i
) , i = 1, n. Ltalonage consiste retrouver, partir de lchantillon, des scalaires a
i
, i = 0, p 1
tels que la meilleure prdiction pour la temprature soit les paramtres a

i
, i = 0, p 1 minimisant lerreur quadratique
suivante :
J(a
0
, a
1
, ..., a
p1
) =
n

i=1
w
i

y
i

p1

j=0
a
j
x
j
i

2
(1)
1. montrez que le cout quadratique J(a) peut scrire laide de vecteurs et de matrices sous forme suivante :
J(a) = (y Xa)

W(y Xa)
o a, y sont des vecteurs et X, W des matrices que lon explicitera (prciser leur dimension).
Mthodes numriques pour lingnieur Cahier de TD et de TP 14
2. Montrez que la minimisation du cout J(a) conduit un systme linaire Ba = c o B est une matrice et c un
vecteur que lon explicitera,
3. Quelle mthode vue en cours suggrez vous pour rsoudre ce systme linaire ?
4. Donner sans le justier, en langage MATLAB, la fonction permettant de calculer les valeurs du vecteur a
minimisant la fonction J(a) en utilisant p et les vecteurs x, y, w comme donnes.
5.4 Cuillre
Nous cherchons rsoudre (au sens des moindres carrs) le problme suivant :
min
x
Ax b
2
sachant que
A =

1 3
1 1
1 1

et b =

5/2
3/2
1

et que la factorisation QR de A est la suivante :


Q =

3
1

2
1

6
1

3

1

2
1

6
1

3
0
2

et R =

3
0 2

2
0 0

1. vrier que Q est orthogonale et que A = QR,


2. calculer x la solution du problme au sens des moindres carrs,
3. reprsenter les points associs aux moindres carrs et la droite de rgression.
5.5 Matrices tri diagonales
Donnez la matrice de householder H telle que pour toute matrice carre rgulire symtrique A on ait T une matrice
tri diagonale symtrique telle que :
T = HAH
On commencera par donner la matrice H
(1)
telle que B = H
(1)
AH
(1)
vrie B(3 : n, 1) = 0 et B(1, 3 : n) = 0
Proposez un algorithme ecace permettant le calcul de B
gnralisez
5.6 Givens
Les matrices de Givens sont les matrices quasiment gales lidentit de la forme :
G ==

1
...
1
c s
1
...
1
s c
1
...
1

,
quelles conditions sur c et s G est elle une matrice orthogonale ?
comment choisir c et s pour que la kme composante du vecteur y = Gx soit nulle ?
donnez lalgorithme calculant cette transformation sur une matrice de dimension 2
comment utiliser cet algorithme pour factoriser une matrice sous la forme QR?
Mthodes numriques pour lingnieur Cahier de TD et de TP 15
5.7 Householder de bas en haut
Soit f IR
n
le vecteur f = (0, 0, ..., 0, 1)

. Soit x IR
n
un vecteur quelconque non nul de IR
n
.
1. montrez que x

f = x
n
o x
n
est la dernire composante du vecteur x.
2. pour un rel donne, on construit le vecteur v = x + f. Montrez que, si H est la matrice de Householder
associe au vecteur v :
Hx = ax bf avec a = 1 2
x

x +x
n
x

x + 2x
n
+
2
et b = 2
v

x
v

v
3. montrez que pour obtenir a = 0, il sut de choisir = x ? Quelle est dans ce cas la valeur de Hx.
4. pourquoi est-il judicieux de choisir le signe de de telle sorte que v

v soit maximis.
5. Soit x = (1, 5, 1, 3)

. Calculez le vecteur v et la matrice de Householder H associe telle que Hx = f. Quelle


est dans ce cas la valeur de Hx ?
6. Ecrire la fonction matlab [v, ] = householder2(x) qui permet de calculer le vecteur v de la matrice de
Householder telle que Hx = f
5.8 QR de droite gauche = QL
Soit A une matrice de n lignes et p colonnes avec n > p.
1. A partir de lnonc de lexercice prcdent, proposez un vecteur v et la matrice de Householder associe H telle
que la dernire colonne de la matrice HA soit de la forme f
2. Ecrire un programme matlab ecace permettant de calculer le produit
b =

I 2
vv

x
lorsque I est la matrice identit, pour x et v donns.
3. pourquoi crire
H = eye(n) - 2*v*v/(v*v);
b = H*x;
est une mauvaise ide
4. Ecrire un programme matlab [B] = Prodhouse2(A) (utilisant la fonction householder2) permettant de cal-
culer ecacement la matrice B = HA, o H est la matrice de Householder telle que la dernire colonne de la
matrice B soit de la forme f
5. dmontrez que toute matrice de Householder est une matrice orthogonale. Dmontrez que le produit de deux
matrices orthogonales est aussi orthogonale.
6. (sur 3 points) en dduire une fonction matlab (utilisant la fonction Prodhouse2) permettant de calculer la
factorisation A = QL ou Q est une matrice orthogonale et L une matrice triangulaire infrieure.
Mthodes numriques pour lingnieur Cahier de TD et de TP 16
6 Rsolution de systmes linaires par mthode itrative
6.1 Normes
Soit A une matrice carre reprsentant une application linaire de IR
n
dans IR
n
.
1. calculer Ax

2. montrer que
Ax

max
i=1,n

j=1
|a
ij
|

En dduire un majorant de A

3. appelons k la grande ligne de A :


n

i=1
|a
kj
| = max
i=1,n

j=1
|a
ij
|

Dterminer une vecteur y tel que :


y

= 1 et
n

j=1
|a
kj
| Ay

4. en dduire que :
A

= max
i=1,n

j=1
|a
ij
|

5. calculer les normes A

et A
1
pour :
A =

0 0.2 0.5
0.3 0 0.6
0.7 0.1 0

6.2 Convergence
Soit C la matrice reprsentant lapplication linaire de IR
n
dans IR
n
associe au schmat itratif suivant :
x
(k+1)
= Cx
(k)
+d
avec d un vecteur quelconque de IR
n
et x
(0)
donn.
1. montrez que
x
(k+1)
x
(k)
C
k
x
(1)
x
(0)

2. montrez que, p > 0


x
(k+p)
x
(k)

C
k+p1
+... +C
k+1
+C
k

x
(1)
x
(0)

3. A quelle condition ce schma itratif converge til ?


4. Supposons quil converge. Soit x

la limite des x
(k)
lorsque k tend vers linni. En dduire :
x

x
(k)

C
k
1 C
x
(1)
x
(0)

5. Comment utiliser ce rsultat pour prvoir le comportement dun programme iratif ? En dduire un programme
mettant en uvre la mthode de gauss jordan avec la stratgie propose ci-dessus pour les paramtres suivants
(A, b, x
(0)
, )
Mthodes numriques pour lingnieur Cahier de TD et de TP 17
6.3
Soit le systme linaire suivant :

ax
1
+bx
2
= c (
1
)
dx
1
+ex
2
= f (
2
)
Illustrer sur les deux cas de gure suivant la convergence ou divergence des mthodes de Jacobi et de Gauss-Seidel en
reprsentant deux itrations.
E
T
E
T

x
1
x
2
x
1
x
2
(
1
)
(
2
)
(
2
)
(
1
)
6.4
Soit la matrice :
A =

1 0
0 1
1 0 1

avec et deux rels donns.


1. Pour quelles valeurs de la matrice est elle inversible ?
2. A tant suppose inversible, on se propose de rsoudre le sysme linaire Ax = b laide dune mthode itrative.
(a) pour quelles valeurs de la mthode de Jacobi converge ?
(b) pour quelles valeurs de la mthode de Gauss-Seidel converge telle ?
(c) on prend = 0. Pour quelles valeurs de la mthode de la relaxaiton converge ?
3. Donner la dcomposition LU de A. Pour quelles valeurs de est elle possible ? Quel est le rle de .
6.5 Relaxons-nous Final 2007
On rapelle que pour rsoudre un systme de type Ax = b, les mthodes itratives utilisent une dcomposition de la
matrice A telle que A = D+E+F avec D une matrice diagonale, E une matrice triangulaire infrieure ayant des zros
sur la diagonale et F une matrice triangulaire suprieure ayant des zros sur la diagonale. La mthode de la relaxation
a pour algorithme lexpression suivante :
x
(k+1)
i
= (1 w)x
(k)
i
+
w
a
ii

i1

j=1
a
ij
x
(k+1)
j

n

j=i+1
a
ij
x
(k)
j
+b
i

1. Donnez le vecteur x
(k+1)
en fonction du vecteur x
(k)
et des matrices D,E et F.
2. Pour quelles valeurs de w cette mthode est-elle quivalente la mthode de Gauss-Seidel ?
Mthodes numriques pour lingnieur Cahier de TD et de TP 18
6.6
Soit A la matrice symtrique dnie positive associ une application linaire de IR
n
dans IR
n
.
1. Montrez que les valeurs propres de A sont strictement positives. Quel est le conditionnement de A.
2. Soit b un vecteur de IR
n
. Montrez que le systme linaire Ax = b admet une solution unique (que lon note x

).
La mthode itrative suivante est propose pour rsoudre ce systme :

x
(0)
donn
x
(k+1)
= x
(k)
g
(k)
avec g
(k)
= Ax
(k)
b et =
1
1
o
1
dsigne la plus grande valeur propre de la matrice A. En tudiant le
vecteur derreur e
(k)
= x
(k)
x

, dterminez T telle que : e


(k+1)
= Te
(k)
. En dduire que lalgorithme ci-dessus
est convergent.
3. Montrer que
(T) = max(|1
1
|, |1
n
|)
En vous aidant dun dessin, dduisez a valeur de minimisant (T).
6.7 la chaleur tournante
On cherche rsoudre un systme linaire de n quations n inconnues scrivant : Ax = b, o A L(n, n) et
b R
n
. La matrice A a la forme caractristique suivante :

2 1 0
1 2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 2 1
0 1 2

1. Ecrire la matrice J correspondant aux itrations de la mthode de Jacobi


x
(k+1)
= Jx
(k)
+c
2. Montrez que la mthode converge (le rayon spectral de la matrice J est infrieur un)
3. Montrez que lquation Jy = y quivaut Ay = 0 et en dduire que 1 nest pas valeur propre de J.
6.8 Bilan de forces (4 points Final 2007)
On considre le systme suivant
F
1
+

2
2
f
1
+f
2
= 0

2
2
f
1
F
2
= 0

2
2
f
1
+

3
2
f
4
= 0

2
2
f
1
f
3
+
1
2
f
4
= 0
f
2
+f
5
= 0 f
3
10 = 0

3
2
f
4
f
5
= 0
1
2
f
4
F
3
= 0
1. mettre le systme dquations sous la forme Ax = b
2. expliquer comment appliquer la mthode de Gauss Seidel pour rsoudre ce systme, Attention : il faut prsenter
le systme de sorte que la mthode de Gauss Seidel converge.
3. crire un programme Matlab permettant de trouver la solution en utilisant la mthode de Gauss Seidel
Mthodes numriques pour lingnieur Cahier de TD et de TP 19
6.9 La vrit vraie (4 points Final 2007)
On considre la matrice suivante :
M =

A B C
C A C
B 0 A

o A est une matrice carre symtrique dnie positive, et B et C des matrices carres non symtriques. De plus on
fera lhypothse quil existe une norme matricielle telle que A > B et A > C
1. quelle mthode proposez vous pour rsoudre le systme Ax = b ?
2. nous allons maintenant supposer que nous connaissons la matrice L triangulaire infrieure telle que A = LL

,
proposez une version par bloc de la mthode de Jacobi utilisant L pour rsoudre un problme de type Mz = c.
3. crire le code matlab associ.
6.10 GS par blocks
Soit J une matrice carre de taille 2, K une matrice carre de taille 3, L une matrice carre de taille 4. On considre
la matrice carre O dnie par block de la manire suivante :
O =

J N 0
N

K M
0 M

1. quelle est la taille des matrices M et N ?


2. crire un programme Matlab permettant de rsoudre un systme linaire de la forme Ox = b en utilisant la
mthode de Gauss Seidel par blocks, avec lentte suivant :
Fonction x
1
, x
2
, x
3
GS_3blocks(b
1
, b
2
, b
3
, J, K, L, M, N, , nb_max)
3. a quelle condition cet algorithme converge ?
6.11 SOR (hareng) Symtrique Final 2004
Soit A une matrice carre de terme gnral a
ij
, b IR
n
un vecteur donn et ]0, 2[ un rel x.
1. On considre le schma itratif suivant :
pour i = 1 : n
x
(k+1)
i
=

b
i

i1

j=1
a
ij
x
(k+1)
j

n

j=i+1
a
ij
x
(k)
j

/a
ii
+ (1 )x
(k)
i
fin
permettant de gnrer une suite de vecteurs x
(k)
partir dun vecteur x
(0)
.
(a) crire le schma de manire matriciel
(b) crire le programme matlab permettant de calculer la suite de vecteur x
(k)
partir dun vecteur x
(0)
donn.
(c) dans quel cas la suite x
(k)
converge-telle ?
(d) comment choisir de manire pertinente ?
2. On considre maintenant le schma itratif suivant :
pour i = n : 1 : 1
x
(k+1)
i
=

b
i

i1

j=1
a
ij
x
(k)
j

n

j=i+1
a
ij
x
(k+1)
j

/a
ii
+ (1 )x
(k)
i
fin
permettant de gnrer une suite de vecteurs x
(k)
partir dun vecteur x
(0)
.
Mthodes numriques pour lingnieur Cahier de TD et de TP 20
v. quelle est la dirence avec le schma prcdent ?
vi. montrez que, si A est symtrique, et que le schma prcdent scrit
M

x
(k+1)
= N

x
(k)
+b
celui-ci scrit
M

x
(k+1)
= N

x
(k)
+b
vii. crire le programme matlab permettant de calculer la suite de vecteur x
(k)
partir dun vecteur x
(0)
donn.
3. on dcide maintenant de faire succssivement les deux schmas. Montrez que, si A est symtrique, la suite x
(k)
ainsi gnre peut scrire
x
(k+1)
= Gx
(k)
+Cb
o G est une matrice symtrique
4. crire le programme matlab permettant de calculer la suite de vecteur x
(k)
partir dun vecteur x
(0)
donn.
6.12 Hareng chez bichette Final 2008
Lacclration de Chebyshev est connue pour permettre une convergence plus rapide des mthodes de rsolution itra-
tives. Malheureusement, elle ne sapplique quaux modles itratifs
Mx
(k+1)
= Nx
(k)
+b
dont la matrice C = M
1
N est symtrique.
Lobjectif de la mthode de relaxation symtrique, que nous allons tudier, est de transformer les itrations de relaxation
standards pour obtenir un systme satisfaisant les conditions ncessaires Chebyshev.
Considrons les matrices suivantes :
A =
2
3

6 1 1
1 6 0
1 0 6

E =

4 0 0
1 4 0
1 0 4

F =
1
16

4 0 0
1 4 0
1 0 4

b =

1
1
1

1. Montez que F est linverse de E,


2. Calculez les matrices M et N associes la mthode de la relaxation vue en cours avec = 3/2 pour rsoudre
un systme de la forme Ax = b,
3. Montrez que la matrice C est
C =
1
16

8 4 4
2 7 1
2 1 7

Discutez la la convergence de la mthode en utilisant la mthode des cercles de Gershogrin.


4. On va maintenant chercher crire lalgorithme backward relaxation. Cet algorithme fonctionne comme la relaxa-
tion. Mais, au lieu de commencer chaque itration par calculer la premire valeur du vecteur x
1
, on commence par
la dernire x
n
. Compltez le code de la fonction suivante pour quil calcule la backward relaxation, en remplaant
les . . . par ce qui convient.
Fonction x Backward_Relaxation(x, )
Tant que (on a pas converg) faire
Pour i = . . . faire
x
(k+1)
...
=

b
i

...
j=...
A
...
x
(k+1)
...

...
j=...
A
...
x
(k)
...
A
...

+ (1 )x
(k)
...
;
Fin Pour
Fait
Mthodes numriques pour lingnieur Cahier de TD et de TP 21
5. crire le schma itratif sous sa forme matricielle (exprimer

et

en fonction de D, L, U et ) :

x
(k+1)
=

x
(k)
+b
6. crire lalgorithme complet de la relaxation symtrique en insrant les matrices et les vecteurs correspondants aux
deux demi-itrations :
1/2 relaxation standard
2/2 backward relaxation
Fonction x Symetric_Relaxation(x, )
Tant que (on a pas converg) faire
1/2 relaxation standard
. . . x
(k+1/2)
= . . . x
(k)
+. . .
2/2 backward relaxation
. . . x
(k+1)
= . . . x
(k+1/2)
+. . .
Fait
7. Dduire la forme de la matrice G = M
1
N du schma itratif complet en fonction uniquement des matrices M

et N

de la relaxation standard.
8. Il faut maintenant sassurer que cette matrice G est symtrique pour permettre aux matheux qui en redemandent
dappliquer une acclration de Chbyshev.
On va factoriser la matrice G (D tant diagonale positive) :
Dmontrer que G peut scrire comme suit
G =

M
1

DN

D
1
N

Utiliser la symtrie de A, et les formes dveloppes des matrices M

et N

, pour dmontrer que :

D
1
M

D
1
N

Utiliser la proprit dinversion des produits de matrices (AB)


1
= B
1
A
1
et les rsultats prcdants pour
conclure sur la factorisation de G :
G = M
1
N
def
= (M

D
1
M

)
1
(N

D
1
N

)
Si KK

= (N

D
1
N

) est une factorisation de Cholesky, montrer alors que la matrice K

GK

est
symtrique
Montrer que G et K

GK

ont les mmes valeurs propres.


En dduire que G est une matrice symtrique (et donc que la mthode de Chbyshev pourra tre applique
avec succs...).
Mthodes numriques pour lingnieur Cahier de TD et de TP 22
7 Prcision et complexit
7.1 Sans pivot
Rsoudre par la mthode LU le systme suivant :

x + 2000 y = 20000
x y = 0
Faire les calculs avec une prcision limite en reprsentant le rels de la faon suivante : 0.dddd.10
dd
. Comparez aux
rsultats obtenus avec une prcision innie.
7.2 Correction de prcision
Soit le systme rsoudre Ax = b.
1. donner une mthode de rsolution,
2. donner la faon dvaluer lerreur e commise par le calcul sur machine,
3. proposer une faon de corriger cette erreur.
7.3 Prcision
Rsoudre chacun des systmes Ax = b avec :
1.
A =

1 1 1
4096 32 1
10
12
10
5
1

, b =

6
4163
1, 0000002 10
12

2.
A =

1 10
5
10
12
1 32 4096
1 1 1

, b =

1, 0000002 10
12
4163
6

3. Montrez sur lexemple ci-dessus que la mthode de Gauss sans changement de ligne ou de colonne peu donner
des rsultats catastrophiques :

x + 2000 y = 20000
x y = 0
On supposera que lon travaille en virgule otante dcimale" avec une mantisse de 4 chires, cest dire que
tout nombre rel sera reprsent de la manire suivante :
r(x) = 0.dddd 10
dd
o d dsigne un chire (digit).
4. Quelle est la mthode utilise par Matlab pour rsoudre un systme dquations linaires ?
7.4 Livre et tortue
Soit le systme rsoudre A
2
x = b.
1. donner la complxit du calcul de C = A
2
,
2. donner la rsolution du systme par la mthode LU,
3. donner la complexit globale de la rsolution de A
2
x = b par cette mthode directe,
4. proposer en justiant par un gain en complxit une meilleure faon de rsoudre le problme.
Mthodes numriques pour lingnieur Cahier de TD et de TP 23
7.5 Mesure de dicult
1. Quelle est la complexit du problme du calcul du produit de deux matrices carres de dimension n.
2. Quelle est la complexit du problme du calcul du dterminant dune matrice carre de dimension n.
3. Quelle est la complexit du problme du calcul de linverse dune matrice carre de dimension n.
4. Quel est la complexit de lalgorithme suivant :
procedure (x,y)=carree(x,y,n)
si n > 1
pour i = 1:n
x(i) = x(i)*y(i)-n/2;
y(i) = x(i)/y(i)+n/2;
fait
(x,y)=carree(x,y,n/2)
pour i = 1:n
x(i) = x(i)/y(i)+n/2;
y(i) = x(i)*y(i)-n/2;
fait
(x,y)=carree(x,y,n/2)
sinon rien
fin de la procedure
7.6 Presque bon
1. La matrice A =

0 1 1
1 1 1
1 0 0

est elle inversible ?


2. Pour > 0 on considre la matrice A

0 1 1
1 1 1
1 0

. Rsoudre le systme dquations linaires :


A

x = b (2)
Indiquez quelle condition la solution existe lorsque tend vers 0.
3. Application : calculez la solution du systme (2) avec b = (1, 2, 1)

. Que devient la solution lorsque tend vers


0.
7.7 Perturbations
Soit x solution de Ax +b. Donnez une borne de la variation relative de x lorsque b varie. Calculez cette borne avec
la matrice A et les vecteurs suivants :
A =

10 7 8 7
7 5 6 5
8 6 10 9
7 5 9 10

b =

32
23
33
31

, c =

32, 1
22, 9
33, 1
30, 9

,
7.8 norme ! (4 points Final 2008)
Supposons que nous voulions rsoudre les deux systmes suivants : Ax = b A x = b +
1. Montrez que
x x A
1

et que
1
x

A
b
Mthodes numriques pour lingnieur Cahier de TD et de TP 24
2. en dduire que
x x
x
AA
1

b
3. Calculez une borne de
x x
x
pour b

= (1 ; 1 ; 1),

= (0.01 ; 0.01 ; 0.01) et


A =

1 1 1
1 1 0
1 0 1

sachant que ses valeurs propres sont (0.4142 ; 1 ; 2.4142).


Mthodes numriques pour lingnieur Cahier de TD et de TP 25
8 Valeurs propres
8.1 Valeurs singulires
Soit B une matrice de n lignes et p colonnes avec n > p. Montrez que la solution du problme suivant :
min
uIR
n
,vIR
p
n

i=1
p

j=1
(B
ij
u
i
v
j
)
2
avec u = v
est le rsultat de la dcomposition en valeurs singulire de B et est aussi donn par les vecteurs propres associs la
plus grande valeur propre de A = B

B et C = BB

8.2 QCM
A =

5 2 0 1
2 5 0 1
0 0 4 0
1 1 0 2

1 est valeur propre : POSSIBLE ou IMPOSSIBLE


1 est valeur propre : POSSIBLE ou IMPOSSIBLE
4 +i est valeur propre : POSSIBLE ou IMPOSSIBLE
4 est valeur propre : VRAI ou FAUX
8.3 Puissance itre
1. Appliquer lalgorithme de la puissance itre en partant du vecteur x
0
= (1, 0, 3)

la matrice
A =

3 0 1
0 1 0
3 0 1

,
2. mme question en partant du vecteur y
0
= (1, 1, 3)

3. montrez quen partant du vecteur z


0
= (1, 1, 2)

on obtient la k me itration le vecteur z


k+1
= (1, 2
k
, 1)

,
4. estimez la position des valeurs propres de A en utilisant la mthode des cercles de Gershogrin,
5. calculez directement les valeurs propres de A en utilisant le polynme caractristique.
8.4 Puissance itre inverse
1. donner les valeurs propres de A
1
si les valeurs propres de A sont
1
>
2
> ... >
n
2. donner une mthode pour trouver la plus petite valeur propre
8.5 Puissance itre symtrique
Donner les trois premires itrations de la mthode de puissance itre symtrique (usage de la norme 2 la place de
la norme ) pour trouver la plus grande valeur propre et le vecteur propre normalis associ pour la matrice suivante :

2 1 1
1 2 1
1 1 2

avec x
(0)
= [1, 1, 2]

.
8.6 Puissance itre inverse symtrique
Donner un algorithme qui fusionne la mthode de puissance itre inverse et de puissance itre symtrique
Mthodes numriques pour lingnieur Cahier de TD et de TP 26
8.7 Puissance itre inverse bis
Donner un algorithme qui renvoie la valeur propre (et le vecteur propre associ) la plus proche dune valeur q donne.
8.8 Rayleigh
Soit A la matrice symtrique associ une application linaire de IR
n
dans IR
n
. Soit une valeur propre de A
associe au vecteur propre norm y. On appelle quotien de Rayleigh le nombre
r
A
(x) =
x

Ax
x

x
1. soit
1
la valeur propre de A de plus grand module. Montrez que :
x, |r
A
(x)| |
1
|
2. Montrez que si lon dispose dune approximation z = y + h du vecteur propre y vriant z y = h < , et
que z est norm (z = 1), alors :
|r
A
(z) | < M
2
o M = AI

est une constante.


8.9 Tridiagonalisation
Appliquer la tridiagonalisation de householder la matrice

1 3 4
3 2 8
4 8 3

8.10 Householder
Soit A la matrice symtrique associ une application linaire de IR
n
dans IR
n
. Soit une valeur propre de A
associe au vecteur propre norm y. On considre la matrice de Householder
H = I 2
cc

c
1. Montrez que H est une matrice symtrique orthogonale,
2. Soit B = H

AH. Montrez que A et B sont similaires,


8.11 quations direntielles et exponentielles de matrices
Soit A(, ) la matrice suivante :
A(, ) =

1
0 +

,
1. Quelles sont les valeurs propres de A(, ). A quelle condition A(, ) possde telle une base de vecteurs propres
2. On considre le systme dquations direntielles suivant :

dx
dt
= x +y
dy
dt
= ( +)y
avec les conditions initiales suivantes : x(0) = x
0
et y(0) = y
0
. Rsoudre ce systme. En dduire la valeur de
exp
tA(,)
.
3. pour une valeur de xe, comparez lorque tend vers 0 :
exp
tA(,)
et exp
tA(,0)
4. le comportement de ces deux exponentielles est-il le mme lorque t tend vers +?
Mthodes numriques pour lingnieur Cahier de TD et de TP 27
8.12 Les matrices persymtriques
Soit B la matrice suivante :
B =

2 1 0 0
1 2 1 0
0 1 2 1
0 0 1 2

,
1. utiliser le thorme des cercles de Gerschogrin pour montrer que si est la plus petite des valeurs propres de B
alors :
| 4| = (B 4I)
o (M) est le rayon spectral de la matrice M et I la matrice identit,
2. En dduire la plus petite des valeurs propres de B et son vecteur propre associ,
3. soit C la matrice suivante :
C =

3 1 1 1
1 3 1 1
1 1 3 1
1 1 1 3

,
montrez de mme que :
| 6| = (C 6I)
o est la plus petite valeur propre de C.
8.13 Singulirement propre, cest schur ! (nal 2006)
Soit C une matrice de n lignes et p colonnes avec p < n. Il existe alors deux familles de vecteurs u
i
,i = 1, p et
v
i
,i = 1, p chacune orthogonale, telles que :
Cv
i
=
i
u
i
et C

u
i
=
i
v
i
, i = 1, p
on appelle
i
les valeurs singulires de C et les vecteurs (u
i
, v
i
) les vecteurs singuliers de C.
1. On considre les lments suivants :
C =

1 1
1 0
1 1

u =
1

1
1
1

, v =

1
0

, =

3
Montrez que est une valeur singulire de C associe aux vecteurs singulier u et v.
2. Montrez que U

CV = D o D est une matrice diagonale de terme gnral D


ii
=
i
, U la matrice dont les
colonnes sont les vecteurs u
i
et V la matrice dont les colonnes sont les vecteurs v
i
.
3. montrez que, si
i
est une valeur singulire de C, alors
2
i
est aussi une valeur propre des matrices C

C et CC

,
4. en utilisant la fonction eig de Matlab, crivez un premier programme permettant de calculer les valeurs singulires
de C,
5. soient 0
p
et 0
n
deux matrices carres de zros dont on prcisera les dimensions. Montrez que la matrice E est
symtrique.
E =

0
p
C

C 0
n

6. Proposez une mthode permettant de calculer les valeurs propres de E.


7. Soit w un vecteur propre de E. Quelle est sa dimension ? Montrez que si lon considre la dcomposition suivante
de ce vecteur :
v = (w
1
, ..., w
p
)

, u = (w
p+1
, ..., w
n+p
)

les vecteurs u et v sont les vecteurs singuliers de C. En dduire une relation entre les valeurs singulires de C et
les valeurs propres de E.
Mthodes numriques pour lingnieur Cahier de TD et de TP 28
8. Soit la matrice
Q =
1

V V O
U U

2P

o la matrice [UP] est une matrice orthogonale (telle que P

P = I et P

U = 0). Montrez que la matrice Q est


orthogonale et que la matrice Q

EQ est diagonale. Les matrices U et V sont celles dnies dans la question 2.


9. en utilisant la fonction eig de Matlab applique la matrice E, crivez un autre programme permettant de
calculer les valeurs singulires de C. Lequel des deux programmes est prfrable et pourquoi ?
10. Application numrique. Pour calculez la matrice orthogonale G telle que G

EG = T, o E est la matrice associ


la matrice C dnie la premire question et T une matrice de la forme
T =

t
11
t
12
0 0 0
t
21
t
22

0
0
0

on calculera la valeurs des coecients t


11
, t
12
, t
21
et t
22
. Les dsignent des termes dont la valeur nest pas
calculer.
8.14 Givens et Jacobi
Soit A la matrice symtrique associ une application linaire de IR
n
dans IR
n
. Soit la matrice suivante :
=

1
...
1
cos sin
1
...
1
sin cos
1
...
1

, avec
pq
= sin
1. exprimer B =

A , avec A une matrice symtrique


2. faire de mme pour C = B
3. montrez que la matrice A et C sont deux matrices similaires et que C est symtrique,
4. comment choisir pour que C
pq
= C
qp
= 0
5. calculez les valeurs de B
ij
6. La mthode de Jacobi consiste appliquer systmatiquement la procdure prcdente an dobtenir une matrice
diagonale. Appliquez cette mthode de Jacobi pour trouver les vecteurs et valeurs propres de la matrice suivante :
A =

4 4

2
4 4

2 0

,
7. donner une procdure qui utilise les matrices de Givens pour diagonaliser une matrice tridiagonale A
trid
8.15 ne pas confondre Heisenberg et Hessenberg Final 2007
Une matrice dHessenberg est une matrice qui est presque triangulaire. Pour tre plus prcis, cest une matrice dont
tous les lments sous la premire sous diagonale sont nuls, savoir une matrice carre A de taille n dont les lments
vrient :
j = 1, n 2, i > j + 1, A(i, j) = 0
Mthodes numriques pour lingnieur Cahier de TD et de TP 29
1. la matrice A est elle une matrice dHessenberg ?
A =

4 2 0 2 0
2 3 2 1 2
0 1 3 2 1
0 0 0 2 2
0 0 0 1 5

2. Soit M
1
la matrice de Gauss associe la premire colonne de A. Explicitez M
1
et donnez le rsultat du calcul
M
1
A?
3. en dduire un algorithme O(n
2
) pour raliser la factorisation lu deA sans pivot.
4. Proposez une stratgie de pivot minimaliste qui prserve la structure de Hessenberg de la matrice tout au long
des calculs.
5. soit B une matrice carre
B =

4 2 1 0 2
2 3 1 0 2
1 1 3 1 1
0 0 1 2 1
2 2 1 1 5

Construire une matrice de Householder Q


1
telle que la premire colonne de la matrice C = Q
1
B soit C(:, 1)

=
[4, x, 0, 0, 0], o x est un rel positif que lon prcisera.
6. en dduire un algorithme de factorisation B = Q

H o Q est une matrice orthogonale et



H une matrice
dHessenberg.
7. montrez que la premire colonne de D = Q
1
BQ

1
est aussi de la forme D(:, 1)

= [xx000].
8. montrez que lon peut factoriser B = Q

HQ o Q est une matrice orthogonale et H une matrice dHessenberg,


et que B et H ont les mmes valeurs propres. Quen est-il des vecteurs propres ?
8.16 cest du propre (8 points Final 2008)
A =

1 1 1
1 1 0
1 0 1

1. utilisez la mthode de la puissance pour trouver une valeur propre (on pourra commencer du vecteur [1 ; 1 ; 1])
2. utilisez la mthode de Housholder pour transformer la matrice A en une matrice tridiagonale symtrique quivalente
que lon appelle B. Montrez que B scrit :
B =

2 0

2 1 0
0 0 1

3. soit T

une matrice de la forme


T

cos sin 0
sin cos 0
0 0 1

(a) montrez que T

est une matrice orthogonale


(b) proposez une valeur de pour que C
21
= 0 avec C = T

B
(c) calculez la matrice C
4. proposez une autre matrice Q

de telle sorte que R = Q

B soit une matrice triangulaire suprieure. En


dduire la factorisation QR de B
5. partir de cette factorisation, proposez une premire estimation grossire des valeurs propres de A.
Mthodes numriques pour lingnieur Cahier de TD et de TP 30
8.17 Les factorisations Bi (diag) Final 2008
Le but de cet exorcise est de trouver un algorithme qui, tant donn une matrice quelconque A, construit deux matrices
orthogonales U et V et une matrice bidiagonale B telles que
A = UBV

On commencera par tudier lexemple suivant :


A =

13 2 4
9 9 0
2 8 16
14 2 4

B =

1

1
0
0
2

2
0 0
3
0 0 0

1. (mise en bouche) montrer que la matrice W est orthogonale.


W =
1
3

2 1 2
2 2 1
1 2 2

2. montrer que si on admet la factorisation A = UBV

alors :
AV = UB et A

U = V B

3. En admettant le rsultat prcdent, montez que

1
U(:, 1) = AV (:, 1)

1
V (:, 2) = A

U(:, 1)
1
V (:, 1)
4. En utilisant le fait que les vecteurs U(:, 1) et V (:, 2) sont norms, calculez U(:, 1), V (:, 2),
1
et
1
en supposant
V (:, 1) =
1
3
(2 2 1)

5. En poursuivant le mme raisonnement, en dduire dune manire gnrale que

k
V (:, k + 1) = A

U(:, k)
k
V (:, k)

k+1
U(:, k + 1) = AV (:, k + 1)
k
U(:, k)
6. Compltez la fonction matlab suivante permettant de calculer U B et V connaissant A et V (:, 1) avec lentte :
Fonction U, V, B Fact_bidiag(A, v)
V (:, 1) = v
[n, p] = size(A)
w = A V (:, 1)
... A COMPLETER
Pour k = 1, p 2 faire
...
... A COMPLETER
...
Fin Pour
Mthodes numriques pour lingnieur Cahier de TD et de TP 31
9 Exercices sous Scilab
9.1 Mdian 2005 - Approximation en Scilab 6 points
On cherche lisser une image I de taille m n. Pour cela on utilisera un polynme 2D dordre p dni comme

p
i=0

p
j=0

ij
x
i
y
j
.
1. Ecrire la matrice A qui reprsente ce polynme lordre 2 pour une image 32 pixels (que lon aura convenablement
reprsente sous la forme dun vecteur I
rep
).
2. Donner un programme Matlab calculer_coef_2D(I,p) qui calcule les coecients du polynme lordre p en
utilisant = A\I
rep
,
3. Donner un programme lisser_image(I,p) qui lisse et ache limage I laide des coecients trouvs.
Vous pourrez utiliser les mthodes suivantes :
[nblignes, nbcolonnes] = size(X)
[Y1,Y2] = meshgrid(coord_x,coord_y)
X2 = reshape(X,nblignes,nbcolonnes)
image(X)
9.2 Mdian 2006 - Approximation en Scilab 4 points
Soient A et B deux matrices carres de taille n, et b un vecteur de IR
n
. Ecrire en Scilab un programme ecace
permettant de calculer
x =
b

A
1
B
b

A
1
b
on prcisera la taille de x.
9.3 Jaime Scilab Final 2007
Le but de cet exercice est de produire un code Matlab permettant de mettre jour la dcomposition de Cholesky
dune matrice A
n
symtrique et dnie positive laquelle on a ajout une ligne et une colonne pour obtenir A
n+1
, elle
aussi symtrique dnie positive. La matrice A
n+1
scrit comme suit :
A
n+1
=

A
n
u
v

1. Soit L
n
le rsultat de la dcomposition de Cholesky de la matrice A. Montrez que la matrice L
n+1
scrit ainsi :
L
n+1
=

L
n
0
b

avec b = L
n
\u et c =

w b

b
2. Ecrire en Matlab la fonction miseAJour_1rang qui prend en entre L
t
, u
t
et w
t
et donne en sortie L
t+1
.
3. Ecrire en Matlab une fonction chol_incremental qui prend en entre une matrice A symtrique dnie positive
de dimension n n et qui ache succssivement les dcompositions de cholesky des sous-matrices A(1 : i, 1 : i)
avec i [1 : n]. Cette fonction utilisera la fonction miseAJour_1rang.
Mthodes numriques pour lingnieur Cahier de TD et de TP 32
9.4 ...et toi la scilab
Pour les 15 instructions suivantes (les lignes numtotes de 1 15) dites si a votre avis elles vont produire une
erreur o non. Si oui expliquez pourquoi, si non prcisez les dimensions de lobjet ainsi calcul. Vous pourrez complter
le tableau suivant :
n = 10^4; m = 5; p = 10^3;
A = randn(m,p); B = randn(n,m);
NON valide valide dimensions du rsultat
1 C = A*B;
2 C = B*A;
C = ones(n);
NON valide valide dimensions du rsultat
3 D = [C B;B zeros(m)];
4 D = [C B;B zeros(m)];
5 z = D*A(:,p);
6 z = D*A(m,:);
7 L = chol(B);
8 L = chol(C);
9 L = chol(D);
x = (0:1/n:1.8);
y = 1.4*(cos(1./exp(-x))+.25*randn(size(x)));
X = [x.^0 x.^1 x.^2 x.^3 x.^4];
NON valide valide dimensions du rsultat
10 a = (X*X)\(X*y);
11 b = inv(X*X)*y;
12 L = chol(X*X);
13 c = L\(L\(X*y));
14 e = y - X*a;
15 a = a + L\(L\(X*e));
Question bonus : com-
mentez les instructions 10 15
9.5 Scilab et monQP
1. Ecrire une fonction Scilab RESOUD avec lentte suivante
function [x,y] = RESOUD(A,b,c)
permettant de calculer x et y tels que :

A b
b

0

x
y

c
0

avec A une matrice carre de taille n, b et c des vecteurs de IR


n
2. Comment construire cette fonction de manire stable et conomique en utilisant la factorisation LU de A.
Mthodes numriques pour lingnieur Cahier de TD et de TP 33
10 Travaux pratiques
10.1 TP sur les boucles
Si lon compte bien, on peut trouver 16 manires direntes de coder
3 3.5 4 4.5 5 5.5 6 6.5 7
10
5
0
5
log(n)
lo
g
(
t
e
m
p
s
)
0 boucle
1 boucle
2 boucles
3 boucles
Figure 1 Rsultat du TP
le simple produit de 2 matrices
C = A B
selon le nombre et lordre des boucles que lon considre.
Le but de ce TP est de trouver quelle est la manire la plus
ecace de code ce produit en Matlab. pour ce faire on pourra coder
les 16 programmes, et comparer leur temps dexcution grce aux
instructions tic et toc.
On pourra en proter pour vrier la complexit algorithmique
de la multiplication de deux matrices et leet de la taille sur les
dirences de temps de calcul.
10.2 TP approximation 1D
Le but de cet exercice est de raliser un programme Matlab permettant deectuer une interpollation puis une
approximation polynmiale simple dune fonction partir dun certain nombre dobservations.
1. Gneration des observations.
La fonction que nous allons chercher approcher est la fonction
f(x) = 1.4cos(exp(x))
Nous allons gnerer n couples (x
i
, y
i
) o y
i
= f(x
i
) +
i
o
i
est une perturbation alatoire (un bruit).
Gnrez n points uniformment rpartis sur linterval [0 : 1, 8]. Calculez limage de ces points par la fonction f.
Ajoutez un bruit gaussien centr dcart type = 0, 25.
Gnrez en paralle susament de points pour visualiser correctement la fonction f.
2. Construire la matrice X permettant linterpollation polynomiale. Calculez les cocients du polynme par lins-
truction :
a = X \ b
visualisez le rsultat.
3. Construire la matrice X permettant lapproximation par un polynome de degr 4.
4. crire un compte rendu sous la forme dune page recto verso.
Le recto dcrira ce que vous avez fait. Il aura la forme suivante : Description prcise de la mthode utilise
(algorithme dapprentissage, slection des entres, slection du meilleur modle, etc.) et ventuellement de ses
direntes variantes, Description dtaille des rsultats (taux derreur, conance, taux de rejet, domaine de va-
lidit, etc.), ventuellement, listing comment du programme matlab. Le verso lui contiendra votre contribution
personnelle : des commentaires sur ladquation de la mthode utilise au problme pos, les dicults rencontres,
des suggestions pour amliorer les rsultats, etc.
Astuces Matlab :
x = [1 2] ; x = [x x] ;
x = -3 :0.001 :3 ;plot(x,cos(exp(x)), hold on ;
x = -3 :1 :3 ;plot(x,cos(exp(x),or), hold o;
10.3 TP Erreurs
10.3.1 Complexit
Quelle est la complexit du programme backslash de matlab dans le cadre des moindres carrs en fonction du
nombre dindividus et du nombre de variable ?
Mthodes numriques pour lingnieur Cahier de TD et de TP 34
10.3.2 Stabilit
Quel algorithme choisir pour calculer
1
3
n
?

a
0
= 1; a
n
=
1
3
a
n1
b
0
= 1; b
1
=
1
3
; b
n
=
4
3
b
n1

1
3
b
n2
c
0
= 1; c
1
=
1
3
; c
n
=
10
3
c
n1
c
n2
1. vrier que les trois programmes calculent le bon rsultat
2. faites fonctionner les programmes jusqu n = 30. Commentez les resultats.
3. Etudier la stabilit des algorithmes vis vis des conditions initales. Montrez que la suite b
n
vrie lquation de
rcurence suivante :
b
n
=

1
3

n
+
et que la suite c
n
vrie lquation de rcurence suivante :
c
n
=

1
3

n
+3
n
avec , , et que lon dterminera. On poura dmontrer ce rsultat par rcurence ou passer par lquation
caractristique de la suite :
ax
n
+bx
n1
+c = 0
qui est de la forme :
x
n
= Ax
n
0
+ Bx
n
1
ou x
0
et x
1
sont les racines du polyn ?e caractristique :
an
2
+bn +c = 0
10.3.3 Yvette
Dans de nombreuses mthodes dAnalyse Numrique, on cherche calculer la valeur dun polynme p(t)
(p(t) = a
n
t
n
+a
n1
t
n1
+... +a
1
t +a
0
)
en un point prcis t
0
, partir de ses coecients a
i
1. Proposer un algorithme Matlab pour valuer p(t
0
) en suivant la formule prcdente. Combien de multiplications
sont ncessaires cette valuation ?
2. On va maintenant chercher une mthode plus pratique pour valuer p(t
0
). Rcrire p(t) sous la forme p(t) =
b
0
+ (t t
0
)q(t) avec q(t) = b
n
t
n1
+b
n1
t
n2
+... +b
1
(a) Trouver une relation de rcurrence simple exprimant b
i
en fonction des a
i
(b) En dduire un algorithme permettant de calculer p(t
0
) et donner le nombre de multiplications ncessaires.
10.4 TP Approximation 2D
Le but de cet exercice est de raliser un programme Matlab permettant deectuer de dbruiter une image bruite
laide dinterpolation polynmiale.
1. Gneration des observations.
Limage que vous devrez gnrer sera semblable la gure 2
2. Bruitage.
Limage sera bruite avec un bruit alatoire gaussien de variance 0.2 et de moyenne nulle 3.
Mthodes numriques pour lingnieur Cahier de TD et de TP 35
5 10 15 20 25 30 35 40 45 50
5
10
15
20
25
30
35
40
45
50
Figure 2 Image de dpart
5 10 15 20 25 30 35 40 45 50
5
10
15
20
25
30
35
40
45
50
Figure 3 Image bruite
Mthodes numriques pour lingnieur Cahier de TD et de TP 36
3. Correction du bruit.
De manire similaire linterpolation polynomiale dune fonction simple, dterminez la matrice A telle que :
A = x
reconstruite
avec le rsultat de la rsolution du systme linaire A = x
bruite
. On se limitera des polynmes de fonctions
en 2D de degr 3.
4. Compte Rendu.
Le compte rendu - par binme ou individuel - dcrira dune part la mthode utilise et dautre part donnera des
commentaires et rexions sur le sujet. Le code sera galement envoy sous forme dun chier nomsdubinome.m.
10.4.1 Astuces Matlab
construction de limage :
n = 50; % ct de limage
b1 = 150;
b2 = 400;
x = zeros(n); % fond de limage
ligne = 1:n;
unl = ones(size(ligne));
for i=1:n
x(i,:) = exp(-((ligne-25).^2/b1)-(unl*(i-50)^2)./b2);
x(i,:) = x(i,:)+exp(-((ligne-50).^2/(2*b1))-(unl*(i)^2)./b2);
end
figure(1)
image(50*x) % affichage du rsultat
commandes utiles (ou futiles) :
colorbar;
colormap(copper);
[i j] = meshgrid(1:n,1:n);
i = reshape(i,n*n,1);
10.5 TP QR
Le but de ce TP est de comparer direntes mthodes pour rsoudre un problme de moindre carr. Soit :
X =

1 1 1
0 0
0 0
0 0

a =

3
1
1

posons = 10
12
1. construire b tel que Xa = b
2. rsoudre le problme de moindre carres (X, b) des trois manires suivantes :
en rsolvant les quations normales,
en utilisant la mthode QR de matlab,
avec la comande \ de matlab.
3. comparez les trois procdures,
4. La mthode de Householder : Le but de cet exercice est dcrire un programme matlab ecace mettant en uvre
la mthode de Householder sur la matrice X, dabord en calculant les matrices H
(1)
, H
(2)
et H
(3)
, puis en faisant
une boucle pour k = 1, 3 sans calculer les matrices H
(k)
, puis enn sans calculer la matrice H mais en calculant
directement le vecteur Qb.
montrez que pour tout vecteur norm u la matrice H = I 2uu

est orthogonale. Une telle matrice est dites


de Householder. Elle est associ la symtrie daxe u.
Mthodes numriques pour lingnieur Cahier de TD et de TP 37
soit x un vecteur donn de IR
n
. Montrez que le vecteur u = xe
1
est tel que la transformation de Householder
associe vrie :
Hx = e
1
o e
1
est le premier des vecteurs unitaires
en dduire la matrice H
(1)
et le programme matlab permettant la transformation orthogonale associe de la
matrice X en une matrice dont la premire colonne est gale k fois le vecteur e
1
.
montrez qu ele produit de deux matrices orthogonales est ue matrice orthogonale
construire la matrice de Householder H
(2)
telle que H
(2)

H
(1)
X

soit une matrice dont la seconde colonne


soit de la forme (a, b, 0, 0)

.
construire la matrice de Householder H
(3)
telle que H
(3)

H
(2)
H
(1)
X

soit une matrice dont la troisime


colonne soit de la forme (a, b, c, 0)

.
en dduire la matrice orthgonale Q telle que X = QR
ecrire le programme matlab calculant Q
rcrire ce mme programme en utilisant une boucle
rcrire ce mme programme sans mme calculer la matrice H mais en calculant directement le vecteur Qb.
10.6 La relaxation
Le but du TP est dcrire un programme matlab rsolvant un systme linaire par la mthode de la relaxation
x = relax(A, b, x, w, nite, err)
o A est une matrice correspondant une application linaire de IR
n
dans lui mme.
1. construire un exemple test de taille n = 10 (avec une matrice A symtrique dnie positive)
2. dnir le critre darret en fonction dun nombre maximal ditrations et de la prcision relative du rsultat souhait.
3. crire le programme Jacobi
crire le programme Gauss-Seidel
crire le programme relax
4. pour choisir le de la relaxation, tudiez lvolution du rayon spectal de la matrice C associ en fonction de
5. comparez les vitesses de convergence des direntes mthodes
en partant du vecteur nul
en partant cot de la solution
Les fonctions cputime et flops tril et triu pourraient vous simplier la vie ainsi que les instructions
diag(diag()) et eig aussi
0 2
1

(
M

1
N
)
rayon spectral de la matrice M
1
N

10.7 qr lave plus propre


Le but de ce TP est dtudier la convergence de lalgorithme qr pour calculer les valeurs propres dune matrice.
1. construire une matrice symtrique n n pour n = 5, 10, 100
2. en utilisant la fonction qr de matlab dans lalgorithme vu en cours, calculez les valeurs propres de A. On tudira
la vitesse de convergence de la procdure.
3. que font les commandes matlab :
Mthodes numriques pour lingnieur Cahier de TD et de TP 38
T = A - triu(A,2) - tril(A,-2);
[V,D] = eig(A);
W = V*T*V;
[Vw,Dw] = eig(W);
[P,Z] = hess(A)
[Vz,Dz] = eig(Z);
vriez que T et W ont le mmes valeurs propres.
4. tudiez les vitesses de convergence de lalgorithme que vous avez crit pour rpondre la deuxime questions sur
les matrices W et T. Que concluez vous ?
question subsidire : comment fonctionne la fonction eig de matlab
10.8 Remarques
Remarques :
Le compte rendu comprend deux pages : un recto qui dcrit ce que vous avez fait et un verso qui dcrit se que
vous en avez pens.
Rptez les expriences plusieurs fois de manire pouvoir obtenir des rsultats moyens quand vous estimez le
temps dexcution.
Le compte rendu devra tre envoy avec le code.
Le code doit tre indent.
Il doit tre dans un format non modiable (pdf par exemple).
[]
Rfrences