I am trying to use iterative solvers for sparse systems, such as subroutines ILUT for preconditioning ang DFGMRES for the iteration but apparently these work with DOUBLE PRECISION but not COMPLEX numbers.
Do you have any suggestions how can proceed further? Thank you very much in advance.
Well actually my program works with PARDISO, but I need to solve larger scale problems and I thought iterative solvers can handle more. Am I true with this thought? And finally would you recommend 'SPARSKIT' library to import into the Intel Fortran Complier?
Formally speaking, support of complex data is not crucial. For example, if you need to solve a system of linear equations Ax=f with complex matrix A=B+i*C and complex right hand side vector f=g+i*h assuming the solutionhas the form x=y+i*z you can get a system with real coefficient matrix and right hand side: (B -C) (y) =(g) (C B) (z) (h) The system is nothing esle but equations you obtain when equate separately real and imaginary part of the original system. The coefficient matrix orderand the rhs vector length are doubled. This approach might benotthe most efficient from the performance point of view and requires more memory but this is another story.
Thank you for the answer, this will help I think. But before trying that I want to ask something. I have got the latest version of IMSL library which has some improved mathematical functions. Do you reckon usage of IMSL would make it possible to use GMRES with complex numbers?