Académique Documents
Professionnel Documents
Culture Documents
1
EXPOSÉ INF3025 : CALCUL SCIENTIFIQUE
MEMBRES DU GROUPE
Noms Matricules
TCHUENTEU GUETCHUENG DAVID 20U2891
TOKO KEMGANG JEAN BONICE 20U2944
NOAH MVONDO SERGE GAETAN 20U2669
NGASSA EVENGUE CEDRIC
LIPONG DANIEL ZEPHYRIN 16Y353
2
TABLE DES MATIÈRES TABLE DES MATIÈRES
2 Factorisation de CHOLESKY 7
2.1 Concept et définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Programme MATLAB de la Factorisation . . . . . . . . . . . . . . . . . . . . . 9
2.6 Exemple d’exécution du programme . . . . . . . . . . . . . . . . . . . . . . . . . 9
CONCLUSION 17
6 Reférences 18
3
TABLE DES MATIÈRES TABLE DES MATIÈRES
INTRODUCTION
Dans la vie quoitidienne, dans les études de recherches scientifiques et d’autres domaines, on
est souvent améné à resoudre des problèmes se ramenant à la résolution d’un système
d’équations linéaires de plus d’une inconnue à chercher. Pour pouvoir resoudre ces problèmes
ou trouver l’ensemble solution correspondant aux inconnues recherchées, plusieurs méthodes
ont été mis au point ; parmis lesquelles nous citons : la methode de Guass, les méthodes
ittératives, la méthode du gradiant conjugué et la méthodes de factorisation de Cholesky.
Cette dernière est celle dont nous aurons la tâche de vous présenter tout au long de notre
travail.
4
1 RAPPELS ET ÉLÉMENTS DE BASE
1.1 MATRICE
Les matrices sont des tableaux d’éléments (nombres, caractères) qui servent à interpréter en
termes calculatoires, et donc opérationnels, les résultats théoriques de l’algèbre linéaire et
même de l’algèbre bilinéaire.
Plus formellement et plus généralement, soient I, J et K trois ensembles (K sera souvent muni
d’une structure d’anneau ou même de corps commutatif).
On appelle matrice de type(I, J)à coefficients dansK, toute famille d’éléments deK indexée
par le produit cartésienI × J, c’est-à-dire toute application A deI × J dans K.Dans ce cas, on
dit que la matrice a m lignes et n colonnes, ou qu’elle est de dimension ou taille (m, n). En
notant ai,j l’image d’un couple (i, j) par l’application A, la matrice peut alors être notée
A = (ai,j )1≤i≤m,1≤j≤n
ou plus simplement (ai,j) si le contexte s’y prête.
Dans le cas particulier où I ou J est l’ensemble vide, la matrice correspondante est appelée la
matrice vide.Lorsque m=n alors elle est qualifiée de matrice carrée d’ordre n.
1 3 5
A=
2 4 6
alors
1 2
AT = 3 4
5 6
5
1.4 Matrice triangulaire 1 RAPPELS ET ÉLÉMENTS DE BASE
6
2 FACTORISATION DE CHOLESKY
9 A = rand ( n , n ) ; %’ g e n e r a t i o n d \ ’ une m a t r i c e a l é a t o i r e n x n’
10
11
12 A = 0 . 5 ∗ (A+A ’ ) ; % c o n s t r u c t i o n de l a m a t r i c e s y m e t r i q u e s u i v a n t l e c o l o n n e s
13
14 % p u i s q u e A( i , j ) < 1 par c o n s t r u c t i o n e t une m a t r i c e symé t r i q u e à dominante
diagonale
15 % e s t dé f i n i p o s i t i f symé t r i q u e , c e q u i peut ê t r e a s s u r é en a j o u t a n t nI ’
16
17 A = f l o o r ( (A + n∗ eye ( n ) ) . ∗ 1 0 0 ) ;
18 end
2 Factorisation de CHOLESKY
2.1 Concept et définition
La factorisation de Cholesky, nommée d’après André-Louis Cholesky, consiste, pour une
matrice symétrique définie positive A, à déterminer une matrice triangulaire inférieure L telle
que :A = L × LT . La matrice L est en quelque sorte une ≪ racine carrée ≫ de A. Cette
décomposition permet notamment de calculer la matrice inverse A−1 , de calculer le
déterminant de A (égal au carré du produit des éléments diagonaux de L)
Exemple La matrice symetrique A :
1 1 1 1
1 5 5 5
1 5 14 14
1 5 14 15
1 1 1 1
0 2 2 2
0 0 3 3
0 0 0 1
7
2.2 Algorithme 2 FACTORISATION DE CHOLESKY
2.2 Algorithme
On cherche la matrice :
l11
l21 l22
L = ..
.. ..
. . .
ln1 ln2 · · · lnn
Pmin{i,j}
De l’égalité A = L × LT on déduit : aij = LLT ij = nk=1 lik ljk = k=1
P
lik ljk , 1 ≤ i, j ≤ n
puisque lpq = 0 si 1 ≤ p < q ≤ n.
La matriceA étant symétrique, il suffit que les relations ci-dessus soient vérifiées pour i ≤ j,
Pi c’est-à-dire que les éléments lij de la matrice L doivent satisfaire :
aij = k=1 lik ljk , 1 ≤ i ≤ j ≤ n Pour i = 1, on détermine la première colonne de L :
√ a1j
a11 = l11 l11 d’oùl11 = a11 a1j = l11 lj1 d’oùlj1 = l11 , 2 ≤ j ≤ n. On détermine la i-ème
colonne deL2 ≤ i ≤ n, après avoir q calculé les (i–1) premières colonnes :
Pi−1 2
aii = li1 li1 + . . . + lii lii d’où lii = aii − k=1 lik aij = li1 lj1 + . . . + lii lji d’où
a − i−1 l l
P Pi−1
a − l l
lji = ji k=1
lii
ik jk
, i + 1 ≤ j ≤ nlji = ji k=1 lii
ik jk
, i + 1 ≤ j ≤ n Il résulte qu’il est
possible de choisir tous les éléments lii Pstrictements en assurant que toutes les quantités
a11 , . . . , aii − i−1 l
k=1 ik
2
, . . . sont positives.
2.3 Algorithme
8
2.4 Complexité 2 FACTORISATION DE CHOLESKY
2.4 Complexité
3
Pour
Pn cet algorithme onn3a un coup de O(n ) en effet on a n3 −n 3
Pn1
k=2 ((k − 1) + i=k+1 1) + 2n − 2 ≈ 6 multiplication et divisions ainsi on a 6
≈ n6
La symétrie qui est en soit une forme de structure permet d’ores et déjà d’obtenir une
factorisation plus rapide.
1 f u n c t i o n B = c h o l e s k y f a c t o r i s a t i o n (A)
2 %// f a c t o r i s a t i o n de Cholesky
3 %// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
4 n=l e n g t h (A)
5 B=z e r o s ( n , n ) ;
6 %// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
7 B( 1 , 1 )=s q r t (A( 1 , 1 ) ) ;
8 f o r i =1:n−1
9 f o r k=1:n−i
10 B( i+k , i ) =(A( i+k , i )−sum (B( i+k , 1 : i −1) . ∗B( i , 1 : i −1) ) ) /B( i , i ) ;
11 end
12 B( i +1, i +1)=s q r t (A( i +1, i +1)−sum (B( i +1 ,1: i ) . ˆ 2 ) ) ;
13
14
15 %// a f f i c h a g e de l a m a t r i c e t r i a n g u l a i r e i n f é r i e u r e B
16 disp ( ’ matrice B : ’ ) ;
17 d i s p (B) ;
18
19 %// vé r i f i c a t i o n que l e p r o d u i t B∗B ’ redonne A
20 disp ( ’ matrice A : ’ ) ;
21 C=B∗B ’ ;
22 d i s p (C) ;
9
2.6 Exemple d’exécution du programme 2 FACTORISATION DE CHOLESKY
10
3 MÉTHODE DE RÉSOLUTION DE CHOLESKY
Où x1 , . . . , xn sont les inconnues et les nombres ai,j sont les coefficients du système.
Un système d’équations linéaires peut aussi s’écrire sous la forme matricielle : A × X = b
avec :
a1,1 a1,2 · · · a1,n x1 b1
a2,1 a2,2 · · · a2,n x2 b2
A = .. .. ; X = .. et b = ..
.. ..
. . . . . .
am,1 am,2 · · · am,n xn bm
Lorsque A une matrice carrée définie positive, alors le systèmes d’équations peut être
résolution en utlisant la factorisation de CHOLESKY. On factorise A en A = LLT , le système
L × y = b (1),
A × X = b devient LLT × X = b ⇔
LT × X = y (2).
On résout le système (1)pour trouver le vecteur y, puis le système (2)pour trouver le vecteur .
La résolution est facilitée par la forme triangulaire des matrices.
L’algorithme de résolution d’un système symétrique défini positif comporte les étapes décrites
ci-dessous :
• Factorisation de Cholesky : A = LLT
• Résolution du système triangulaire Ly = b (descente),
• Résolution du système triangulaire LT X = y (remontée).
11
3.3 Le programme matlab correspondant
3 MÉTHODE DE RÉSOLUTION DE CHOLESKY
Si A est une matrice triangulaire inférieure, et si aucun élément diagonal n’est nul, la solution
du système A × X = b est :
b1
x1 =
a1,1
,
⇔
bi − i−1
P
j=1 ai,j ×xj
xi =
2
1
2 % // f o n c t i o n de r é s o l u t i o n d e s s y s t è mes d ’ é q u a t i o n avec l e s m a t r i c e s
3 %// t r i a n g u l a i r e s i n f e r i e u r e s
4 f u n c t i o n X = T r i a n g l e I n f (A, b )
5 n = l e n g t h (A) ;
6 X=b ;
7 X( 1 ) = b ( 1 ) . /A( 1 , 1 ) ;
8 f o r i =2: n
9 X( i ) = ( b ( i )−A( i , 1 : i −1)∗X( 1 : i −1) ) . /A( i , i ) ;
10 end
11 end
12
13
14 %// f o n c t i o n de r é s o l u t i o n d e s s y s t è mes d ’ é q u a t i o n avec l e s m a t r i c e s
t r i a n g u l a i r e s sup é r i e u r e s
15 f u n c t i o n X = T r i a n g l e S u p (A, b )
16 n = l e n g t h (A) ;
17 X=b ;
18 X( n ) = b ( n ) . /A( n , n ) ;
19 f o r i=n−1: −1:1
20 X( i ) =(b ( i )−A( i , i +1:n ) ∗X( i +1:n ) ) . /A( i , i ) ;
21 end
22 end
1 f u n c t i o n [X] = s o l v e w i t h c h o l e s k y (A, b )
2 j = i s s y m e t r i q u e (A) ;
3 i f ( j ˜=0)
4 Disp ( ”La m a t r i c e n ’ e s t pas s y s m e t r i q u e ” )
5 return ;
6 end
7
8
9 L = c h o l e s k y f a c t o r i z a t i o n (A)
10 y = T r i a n g l e I n f (A, b ) ; y=y ’
11 X=T r i a n g l e S u p (L ’ , y ’ ) ; X=X ’
12
3.4 Programme Matlab de resolution final
3 MÉTHODE DE RÉSOLUTION DE CHOLESKY
12
13 return ;
14 end
15
16 function [B] = c h o l e s k y f a c t o r i z a t i o n (A)
17
18 % f a c t o r i s a t i o n de Cholesky
19 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
20 n=l e n g t h (A) ;
21 %A=o n e s ( n , n )+eye ( n , n ) ;
22 B=z e r o s ( n , n ) ;
23 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
24 B( 1 , 1 )=s q r t (A( 1 , 1 ) ) ;
25 f o r i =1:n−1
26 f o r k=1:n−i
27 B( i+k , i ) =(A( i+k , i )−sum (B( i+k , 1 : i −1) . ∗B( i , 1 : i −1) ) ) /B( i , i ) ;
28 end
29 B( i +1, i +1)=s q r t (A( i +1, i +1)−sum (B( i +1 ,1: i ) . ˆ 2 ) ) ;
30 end
31 % a f f i c h a g e de l a m a t r i c e t r i a n g u l a i r e i n f é r i e u r e B
32 % disp ( ’ matrice B : ’ ) ;
33 % d i s p (B) ;
34 % vé r i f i c a t i o n que l e p r o d u i t B∗B ’ redonne A
35 disp ( ’ matrice A : ’ ) ;
36 C=B∗B ’ ;
37 d i s p (C) ;
38 end
39
40 f u n c t i o n X = T r i a n g l e I n f (A, b )
41 n = l e n g t h (A) ;
42 X=b ;
43 X( 1 ) = b ( 1 ) . /A( 1 , 1 ) ;
44 f o r i =2: n
45 X( i ) = ( b ( i )−sum (A( i , 1 : i −1) . ∗X( 1 : i −1) ) ) . /A( i , i ) ;
46 end
47 end
48
49
13
3.5 Exemple d’exécution du programme
3 deMresolution
ÉTHODEfinale
DE RÉSOLUTION DE CHOLESKY
65 end
66 h=1;
67 f o r i =1: l e n g h t (A)
68 f o r j =1: l e n g t h (A( i ) )
69 i f A( i , j )˜=A( j , i )
70 h=0;
71 end
72 end
73 end
74 end
75
76
77
78
79
80 f u n c t i o n hv = i s m a t r i c e c a r r e e (A)
81 h=1;
82 v=s i z e (A) ;
83 i f v ( 1 ) ˜= v ( 2 )
84 h=0;
85 end
86 end
14
3.5 Exemple d’exécution du programme
3 deMresolution
ÉTHODEfinale
DE RÉSOLUTION DE CHOLESKY
15
5 COMPARAISON DE LA MÉTHODE DE CHOLESKY AVEC LES AUTRES
MÉTHODES DE RÉSOLUTION
4 Complexité de la méthode de Cholesky
En comptant la complexité de la factorisation et celle de la resolution des deux systèms
3
triangulare qui est de O(n2 ), nous obtenons une complexité de l’ordre de O( n6 ).
L’algorithme a ainsi une complexité polynomiale cubique, ce qui permet de resoudre des
systèmes avec plusieurs milliers d’inconnues. De plus, si on resout plusieurs systèmes avec la
même matrice et des seconds membres différents, on n’effectue la factorisation qu’une fois. On
a donc une complexité cubique pour le premier système puis quadratique pour les systèmes
suivants.
Remarque : Pour résoudre un système linéaire, on préferera les méthodes directes dans le
cas des matrices pleines, et les méthodes itératives dans le cas des matrices creuses.
16
5 COMPARAISON DE LA MÉTHODE DE CHOLESKY AVEC LES AUTRES
5.4 Les méthodes MÉTHODES DE RÉSOLUTION
CONCLUSION
Parvenu au terme de notre travail, il etait question pour nous de vous présenter de la plus
simple des manière la méthode de résolution des systèmes d’équations linéaires à plusieurs
inconnues. Il en ressort que toute la méthode repose sur factorisation de Cholesky qui
utilise une matrice carrée A définie positive et la transforme A = LLT avec L matrice
triangulaire inférieure.
17
6 REFÉRENCES
6 Reférences
• Parallel Programming for Multicore and Cluster Systems de Thomas Rauber et Gu-
dula Rünger
18