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?
Solving large linear systems, Ax = b
6 次查看(过去 30 天)
显示 更早的评论
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 个)
Matt Fig
2011-4-23
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.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!