How can I successfully solve a certain huge sparse matrix; i.e., 8e6 x 8e6 entries?

조회 수: 2 (최근 30일)
Hello everybody,
I have implemented a numerical model which consists--among others--of a Finite Difference scheme that is used to solve the quasi-stationary magnetic diffusion equation in three dimensions; i.e., a modified version of the Laplacian operator in Cartesian coordinates. For solving the generated system of linear equations (A)x = b I use the SOR algorithm. The model ran well so far, no matter what input I chose. I should mention that the system matrix A consists of complex-valued elements.
However, for some input parameters the SOR solver does not deliver useful results, or more specifically, it does not converge to the given level of accuracy at all. The system matrix has 8e6x8e6 entries which shouldn't be a problem because, for most input parameters, the SOR algorithm delivers physically correct results. It has to have something to do with the entries of the system matrix per se.
For solving the equation on the Cartesian grid I use the 7-point-stencil. If the unmodified version of the Laplacian operator is solved, the weighing factor at the actual node (i,j,k) is -6. In my modified version, it is -6 + i*x, where x denotes the imaginary part. I even tried SPQR from the SuiteSparse package provided by Tim Davis but since this is not an iterative method MATLAB throws an "out of memory" error (I can use up to 192 GiB (!)). It would really be great if someone encountered a similar problem and wants to share their solution. If interested, I could upload the system matrix as well as the boundary condition vector.
Thank you very much in anticipation!
Best regards,
Chris Volkmar

채택된 답변

Fabio Freschi
Fabio Freschi 2015년 8월 7일
Sorry for late reply, I am on holiday!
The method is described here
O. Axelsson, A. Kucherov, "Real valued iterative methods for solving complex symmetric linear systems", Numerical Linear Algebra with applications, 2000, 7:197--218
Check Algorithm 2.1 on page 202. I have the draft of a Matlab function if you want a black-box solver

추가 답변 (2개)

Fabio Freschi
Fabio Freschi 2015년 7월 24일
Chris, is the matrix complex symmetric (not-hermitian)? If so I think I have a possible solution to try. Fabio
  댓글 수: 1
Chris
Chris 2015년 7월 28일
Fabio, the matrix indeed is non-hermitian. I'm really interested in this solution of yours. -Chris

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


Chris
Chris 2015년 8월 10일
Thanks for your reply! I downloaded the paper and will have a look to the suggested algorithm. Thanks again for this useful advice. I think I'll be able to implement it. Have a nice holiday!
Chris

카테고리

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

제품

Community Treasure Hunt

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

Start Hunting!

Translated by