Sujet: Re: Gros systeme linéaire
De: faccanoni (l' arobase) gmail.com (minnolina)
Groupes: fr.comp.algorithmes, fr.sci.maths
Organisation: http://groups.google.com
Date: 02. Mar 2008, 11:16:07
On 28 fév, 20:24, Nico <nicolas.au...@free.fr> wrote:
ma matrice M, ce que j'ai fait, et je trouve une matrice avec des 0
partout sauf sur 5 "diagonales"...
Je précise que cette résolution rentre dans un code plus général et
interviendra plusieurs fois (4) par pas de temps, il est donc important
qu'elle soit un brin efficace, autant que possible.
Salut,
pour le même type de problème (matrice tridiagonale à block avec au
moins 10^4 lignes à résoudre à chaque pas de temps) j'utilise la
librairie PETSC. Elle stocke seulement les termes non nuls et utilise
des méthodes iteratives optimisées.
http://www-unix.mcs.anl.gov/petsc/petsc-as/
Tu peux aussi regarder la librairie LAPACK (elle est écrite pour
FORTRAN, elle existe aussi sous la forme CLAPACK pour C mais je
prefère appeler du FORTRAN directement dans le code C).
http://www.netlib.org/lapack/
Sinon, en générale quand on a une matrice tridiagonale et on veut une
méthode directe, on utilise la méthode de Thomas qui se généralise aux
matrices tridiagonales par block (comme la tienne).:
http://www.cfd-online.com/Wiki/Tridiagonal_matrix_algorithm_-_TDMA_(Thomas_algorithm)
Gloria