I need to solve a very large linear system (coming from finite element method). I'm currently using the Intel MKL library, but the system has been delayed more than 20 hours.

The matrix of the system is sparse and it is written in Morse (CRS)

I'm programming in Fortran 90, but I guess the language of the library is not important.

More info:

  • Large of the matrix: 5636087x5636087 or bigger.
  • Type: sparse (CRS), with real numbers, non symmetric.
  • Number of nonzero elements of the matrix: 202516857
  • The matrix is non-symmetric, and I suppose that is well conditioned (coming from finite element method).
  • 5
    $\begingroup$ Can you give an order of magnitude for how large the matrices are? Also is there any structure to the matrices? Are the symmetric positive definite, are the matrices well conditioned, are they real or complex etc? Also when you say invert the matrix do you mean you need the actually inverse or just need to solve a linear system. The more info you can give the better. $\endgroup$ – James Jan 21 '16 at 5:43
  • $\begingroup$ Thanks @James for comment. I added more info about the problem in the questions. $\endgroup$ – yemino Jan 21 '16 at 14:08
  • 1
    $\begingroup$ Which routine from the MKL are you using? I don't know what kind of machine you have (especially how much memory), but I wouldn't even try to touch such a matrix with a direct solver... $\endgroup$ – Christian Clason Jan 21 '16 at 14:12
  • $\begingroup$ I'm using pardiso on MKL.My machine has 256GB of RAM with 96 processors Intel(R) Xeon(R) CPU E7-4860 v2 @ 2.60GHz $\endgroup$ – yemino Jan 21 '16 at 14:27
  • 1
    $\begingroup$ Are you using the out of core option in MKL Pardiso? $\endgroup$ – Bill Greene Jan 21 '16 at 14:28

Since the matrix is considerably sparse and well-conditioned (if it is true), I suggest you can try to use Krylov subspace method, which can only use the information of matrix-vector product; such as GMRES(m), CGS, BiCGSTAB, and IDR(s). With aspect of memory and well-conditioned matrix, maybe BiCGSTAB, CGS and IDR(s) are preferable. They are many FORTRAN codes of these above four solvers online. Or even, you can try to use the AGMG method, which have a FORTRAN code in website http://homepages.ulb.ac.be/~ynotay/AGMG/ and other method is http://www.hsl.rl.ac.uk/catalogue/hsl_mi20.html


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.