필터 지우기
필터 지우기

Solving large linear systems, Ax = b

조회 수: 6 (최근 30일)
Peter
Peter 2011년 4월 22일
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
Peter
Peter 2011년 4월 22일
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?

댓글을 달려면 로그인하십시오.

답변 (1개)

Matt Fig
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.

카테고리

Help CenterFile Exchange에서 Sparse Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by