Effacer les filtres
Effacer les filtres

Solving large linear systems, Ax = b

6 vues (au cours des 30 derniers jours)
Peter
Peter le 22 Avr 2011
I'm working on a finite difference program, and need to solve Ax = b, where A is of dimension N^2 x N^2 and b is N^2x1. I'm working in the realm of N = 500, but I'd like to boost capabilities to N >= 1000 (which I can do already, but is a bit slow). A is very sparse I'm currently using mldivide to solve the system. However, I understand that iterative methods are more ideal for large sparse matrices - yet it seems that mldivide is if anything better (at least for N~ 500). Can anyone point me in the right direction for what algorithms for iterative methods use? I do not think I can use the conjugate gradient method, as the matrix I set up is not symmetric? Also, it seems that these methods are all dependent on generating a preconditioner; what is the best way to do that? I tried ilu, but that is a bit slow. In general, does anyone have a rough idea of the performance limits of a 64bit mac, 3.06 Ghz core 2 duo (how large of a system, how fast, etc)? Thanks
  1 commentaire
Peter
Peter le 22 Avr 2011
To clarify, what is the best way to invert a 1e6 x 1e6 sparse system. mldivide seems to be able to do so in ~ 2 min. Is there a faster way?

Connectez-vous pour commenter.

Réponses (1)

Matt Fig
Matt Fig le 23 Avr 2011
I recommend you read this whole post, and pay particular attention to the comments by Tim Davis at the end. He co-wrote some of the SPARSE routines in MATLAB.

Catégories

En savoir plus sur Sparse Matrices dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by