Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- Sparse Iteartive solvers with Complex numbers

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted
##

Hi all,

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.

Hakan

Dogan__Hakan

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-21-2011
05:36 AM

35 Views

Sparse Iteartive solvers with Complex numbers

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.

Hakan

4 Replies

Highlighted
##

Hi Hakan,

Gennady_F_Intel

Moderator

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-21-2011
06:56 AM

35 Views

Currently MKL doesnt support RSI solvers for complex data. Our suggestion - you may try to use direct solver for complex data types.

--Gennady

Highlighted
##

Hi Gennady,

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?

Thank you very much.

Hakan

Dogan__Hakan

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-21-2011
07:51 AM

35 Views

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?

Thank you very much.

Hakan

Highlighted
##

Hakan,

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.

With best regards,

Victor

Victor_K_Intel1

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-23-2011
03:20 AM

35 Views

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.

With best regards,

Victor

Highlighted
##

Hello again,

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?

Thank you in advance,

Hakan

Dogan__Hakan

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-23-2011
09:23 AM

35 Views

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?

Thank you in advance,

Hakan

For more complete information about compiler optimizations, see our Optimization Notice.