我正在使用Ax = b
,其中A非常大(超过1米* 1米大小),matlab
中的非对称稀疏矩阵。我以稀疏的方式构建A
。但是,直接使用A\b
太慢了。我试过了gmres
。但是,如果没有预调节器,我无法得到正确的答案,并且使用预调节器(例如ilu
),它也太慢了。
如何有效地解决这个问题? THX。
答案 0 :(得分:1)
很难给出确定的答案,因为它取决于您正在解决的系统的细节。不幸的是,这涉及到很多试验和错误,并且没有保证的方法适用于任何系统。以下是一些需要考虑的事项:
too slow
有多慢? 1M x 1M是一个相当大的系统,但工作取决于非零的数量;所以,如果你的系统有很多非零,那么是的,它需要一段时间才能运行;可能导致运行时间长的另一个方面是系统的数值调节不佳(参见1和2);只要您使用有效的预处理器ilu(0)
,crout
,ilutp
的类型;