Il s'agit maintenant d'estimer la mémoire et le nombre d'opérations nécessaires à la résolution du système linéaire . Nous considérons les cas suivants :
La décomposition de Cholesky de la matrice nécessite le stockage de la bande, soit coefficients. Le nombre d'opérations nécessaire à la décomposition est d'ordre (théorème 5.4 du livre).
En ce qui concerne l'algorithme du gradient conjugué, seuls les éléments non-nuls de la matrice doivent être stockés, soit moins de coefficients. Les expériences numériques montrent que le nombre d'itérations nécessaire à la convergence de l'algorithme est d'ordre . A chaque itération, le coût principal est celui d'une multiplication matrice-vecteur, soit moins de opérations. Par conséquent, le nombre d'opérations de l'algorithme du gradient conjugué est de l'ordre de .
Les résultats sont résumés dans le tableau ci-dessous.
méthode | mémoire | opérations |
directe | ||
itérative |
A l'aide des fonctions flops et whos de Matlab, nous avons comparé le nombre d'opérations ainsi que la mémoire nécessaire à la mise en oeuvre des deux algorithmes pour différentes valeurs de (pour la mise en oeuvre de la décomposition de Cholesky avec Matlab, voir le chapitre 5 du support de cours).
Le nombre d'opérations (en millions) est reporté dans le tableau suivant :
méthode directe | méthode itérative | |
20 | 0.197 | 0.694 |
40 | 2.86 | 5.48 |
80 | 43.3 | 42.8 |
160 | 674 | 331 |
Nous observons donc que
En ce qui concerne la place mémoire, rappelons que pour les coefficients non-nuls des matrices et (avec ) sont
La place mémoire nécessaire au stockage de et (en millions de ``double'') est reporté dans le tableau suivant :
mémoire pour | mémoire pour | |
20 | 0.0294 | 0.0978 |
40 | 0.119 | 0.775 |
80 | 0.482 | 6.17 |
160 | 1.94 | 49.2 |
Nous observons donc que
Nous concluons donc en affirmant que, lorsque est grand, l'algorithme du gradient conjugué est plus performant que la décomposition de Cholesky pour la résolution du système linéaire , la matrice étant définie par la figure ci-dessous.
Ces résultats sont généralisables au cas où la matrice est celle obtenue lorsqu'on utilise une méthode d'éléments finis continus de degré un (voir la section 11.2 du livre).
EPFL-IACS-ASN