Académique Documents
Professionnel Documents
Culture Documents
Ibrahim ALAME
ESTP
10/01/2022
1. FLOPS est l’acronyme anglais de FLoating point Operations Per Second signifiant
opérations à virgule flottante par seconde. Il s’agit de la vitesse de calcul d’une opération
élémentaire (addition, multiplication) en informatique.
Ibrahim ALAME (ESTP) Analyse numérique matricielle 10/01/2022 3 / 59
Système triangulaire
Dans le cas d’un système triangulaire inférieur, l’algorithme est analogue
et de même coût :
b1
x1 =
a11
k−1
1 bk −
X
xk = akj xj ∀k ∈ J2, nK
akk
j=1
(1) (1)
On pose A(1) = A, b (1) = b et on note aij = aij et bij = bij les
coefficients de A(1) et B (1) .
On suppose que pour un k fixé on a A(k) =
. . .
.. (k)
. ak−1 k−1
(k)
0 ak k
..
(k) (k)
···
. ak+1 k ak+1 k+1
.. .. .. ..
. . . .
(k)
(k) (k)
0 0 0 an k an k+1 an n
−1
n−1
Y n
X
L= Id − λik Eik
k=1 i=k+1
n−1
XX
= Id + λik Eik
k=1 i>k
1
λ21 1
.. ..
=
. λ32 .
.. .. ..
. .
.
λn1 λn2 ··· λn n−1 1
Avec :
1 0 ··· 0
.. ..
. .
L=
e
..
. 0
1
Et :
u11
0 u22
U
e =
. ..
..
.
0 · · · 0 unn
On a :
e·D·L
A=L et
√ √
= Le· D · et
D·L
A = L · Lt
√
`11 = a11
⇐⇒ ai1
`i1 =
∀i ∈ J2, nK
`11
Et pour i ∈ Jj + 1, nK :
j
X j−1
X
ajj = `ik `jk = `ik `jk + `ij `jj
k=1 k=1
j−1
X
aij − `ik `jk
k=1
`ij =
`jj
Ibrahim ALAME (ESTP) Analyse numérique matricielle 10/01/2022 20 / 59
D’où l’algorithme :
Algorithm 7: Factorisation de Cholesky
for j from 1 to n do
s = 0 for k from 1 to j − 1 do
2
s = s + ajk
√
ajj = ajj − s
for i from j + 1 to n do
s=0
for k from 1 to j − 1 do
s = s + aik ajk
aij − s
aij =
ajj
proposition
kAx k 6 kAk · kx k
kAx k
kAk = max
x 6=0 kx k
kABk 6 kAk · kBk
Examples :
X X q
kAk∞ = max kaij k kAk1 = max |aij | kAk2 = ρ(A · At )
i j
i,j i,j
corollaire
On munit Mn (R) d’une norme k · k. Soit A ∈ Mn (R). Alors ρ(A) < 1 si et
seulement si lim Ak = 0.
k→∞
ρ(A) 6 kAk
corollaire
Pour montrer que la suite x (k+1) = A · x (k) converge, il suffit de trouver
une norme matricielle telle que kAk < 1.
Theorem
Si kAk < 1, alors I + A inversible et on a :
1
(I + A)−1 6
1 − kAk
definition
Soit A ∈ Mn (R) une matrice inversible. On appelle conditionnement de A
par rapport à la norme k • k le nombre :
proposition
cond(A) > 1 car kIk 6 kAk · kA−1 k
cond(λA) = cond(A)
cond(A · B) 6 cond(A) · cond(B)
λn
Exemple : Si A symétrique définie positive, alors cond2 (A) = λ1 . Sinon,
q
σ11
cond2 (A) = σ1 où σ1 < · · · < σn valeurs propres de A · At .
kδx k kδbk
6 cond(A) ·
kx k kbk
Démo :
Nous avons A · x = b et A(x + δx ) = b + δb. Donc A · δx = δb. A est
inversible, donc δx = A−1 · δb. Par passage à la norme :
kδx k 6 kA−1 k · kδbk .
1 kAk
D’autre part, b = A · x , donc kbk 6 kAk · kx k. Donc 6 .
kx k kbk
Par multiplication des deux inégalités, nous obtenons
kδx k −1 · kAk · kδbk .
kx k 6 kAk kbk
Démo :
On a A · x = b et (A + δA)(x + δx ) = b. Donc Aδx = −δA(x + δx ). Par
passage à la norme, nous obtenons :
Démo :
La matrice Id + A−1 · δA est inversible car
ρ(A−1 · δA) 6 kA−1 · δAk 6 kA−1 k · kδAk. On applique alors le théorème.
La matrice A + δA = A(I + A−1 · δA) est donc inversible et il existe δx tel
que :
(A + δA)(x + δx ) = b + δb
Ainsi :
δA · x + A Id + A−1 · δA δx = δb
Donc :
δx δb δA · x
−1
= Id + A−1 · δA · A−1 −
kx k kx k kx k
Ibrahim ALAME (ESTP) Analyse numérique matricielle 10/01/2022 30 / 59
Par passage à la norme :
kδx k kδbk
6 (Id + A−1 · δA)−1 · kA−1 k + kδAk
kx k kx k
kδbk kδAk
6 (Id + A−1 · δA)−1 · cond(A) +
kbk kAk
Par le théorème ?? :
kδx k cond(A) kδbk kδAk
6 −1
+
kx k 1 − kA · δAk kbk kAk
cond(A) kδbk kδAk
6 +
1 − kA−1 k · kδAk kbk kAk
Démo :
Nous avons x (k+1) − x = B x k − x . Donc x (k) − x = B k x 0 − x .
1
ρ(B) =
2
1 1 2 1
α=
3 2 3
a11 0 · · · 0
0 ...
..
D= .
. .
.. .. 0
0 ann
0 0 ··· 0
0 a12 · · · a1n
.. .. .. . . ..
a21 . . . . .
−E =
.
; −F =
.. .. .. ..
. 0
. . 0
an1 0 0 0
(
10x1 + x2 = 11
Soit à résoudre le système dont la solution est
2x1 + 10x2 = 12
x= 1 .
1
En partant de x (0) = 0, on obtient successivement :
11 98 1002 9996
10 100 1000 10000
x (1) =
12 ,
x (2) =
98 ,
x (3) =
1004 ,
x (4) =
9992
(
x1 + 10x2 = 11
Soit à résoudre le système dont la solution est aussi
10x1 + 2x2 = 12
x= 1 .
1
En partant également de x (0) = 0, on obtient :
11 −49 501 −2499
x (1) = , x (2) = , x (3) = , x (4) = , .
6 −49 251 −2499
proposition
Si A est une matrice symétrique définie positive, alors la méthode de
Gauss-Seidel converge.
Ibrahim ALAME (ESTP) Analyse numérique matricielle 10/01/2022 43 / 59
La méthode de Gauss-Seidel
Démo :
A étant symétrique définie positive, on a aii = expti ·A · expi > 0. Donc les
termes diagonaux de D − E sont non nuls. D’où P = D − E inversible et
B = (D − E )−1 a bien un sens.
1
1 1
−1 1
On a B = D − 2 · Id − D − 2 · E · D − 2 · D− 2 · E t .
1 1
Posons L = D − 2 · E · D − 2 . On a
1 1 1 1
B = D − 2 · (Id − L) · Lt · D 2 = D − 2· B1 · D2 en posant
1 B1 = (I − L) · L .
t
1
L’équivalence B · x = λ · x ⇐⇒ B1 D 2 · x = λ D 2 x prouve que B et
B1 ont les mêmes valeurs propres.
Soit λ une valeur propre de B1 associée à un vecteur propre x tel que
kx k = 1. On a B1 · x = λx . Donc (I − L)−1 · Lt · x = λx . Donc
x t ·L·x
Lt · x = λ(Id − L) · x . D’où λ = 1−x t ·L·x . Puis en développant l’inégalité
1
t 1
D − 2 · x · A · D − 2 · x > 0, on trouve x t · L · x < 12 . D’où |λ| < 1. Le
rayon spectral de B étant strictement inférieur à 1, la méthode de
Gauss-Seidel converge.
Ibrahim ALAME (ESTP) Analyse numérique matricielle 10/01/2022 44 / 59
Les méthodes par blocs
X1 B1
X2 B2
x = . b= .
.. ..
XP BP
Soit matriciellement :
x (k+1) = Id − ωD −1 · A · x (k) + ωD −1 · b
Cette méthode est très peu utilisée car en général elle n’apporte aucun
gain significatif.
Ibrahim ALAME (ESTP) Analyse numérique matricielle 10/01/2022 49 / 59
Si la méthode de base choisie est celle de Gauss-Seidel, la méthode de
relaxation est définie par :
i−1 n
(k+1) ω X (k+1) X (k) (k)
xi = bi − aij xj − aij xj + (1 − ω)xi
aii j=1 j=i+1
(k)
Ou bien en retranchant xi aux deux membres :
i−1 n
(k+1) ω X (k+1) X (k)
xi − xik = bi − aij xj − aij xj
aii j=1 j=i
Soit matriciellement :
−1 −1
D D 1
(k+1)
x = −E ·b+ −E − 1 · D + F · x (k)
ω ω ω
h1
x2
xk+1 = xk − α∇J(xk )
Démo :
α2
J(x − αp) = J(x ) − α(∇J, p) + (Ap, p)
2
d
min =⇒ J(x − αp) = 0 =⇒ −(∇J, p) + α(Ap, p) = 0
dα
Donc
! !
k 1 k 1
xk = 2 × 10 ' 2 × 10
−1 + 1.5 × 10−k −1