Bonjour tous,
j'aimerai une bonne fois pour toute comprendre l'intérêt d'un algo itératif plutôt qu'un algo direct (dans le cas général).
Voici où j'en suis de ce côté là :
1°) algo direct (je connais pas mal):
- Gauss très lent O(n^3)
- LU et cholesky : décomposition lente mais ensuite autres résolution rapides
- pour un algo direct il faut stocker des matrices : tout d'abord ma matrice
à transformer mais aussi la matrice de gauss qui permet d'éliminer les termes que l'on ne souhaite pas.
- on a une solution direct, c.a.d sans critère de tolérance sur un résidu ce qui est bien mais du coup on ne maitrise pas la précision du résultat...? (cette précision est dépendante du conditionnement)
2°) algo itératif (je connais pratiquement pas):
- rapides (plus que Gauss en tout cas)
- on fixe la tolérance sur le résultat et cette précision est indépendante du conditionnement
- il n'y a pas de stockage de matrice à effectuer ??? C'est quelque chose que j'ai déjà entendu dans pas mal de cours mais ça peut parait pas possible : il faut bien au moins stocker la matrice de départ ?
Conclusion :
A part cette histoire de stockage mémoire que je n'ai pas compris il y a à mon avis aucun intérêt à stocker des solveur direct car ils sont lent et en plus on ne maitrise pas forcement la précision comme avec un algo itératif ?
pourriez vous m'éclairez un peu sur tout ceci ? merci
Partager