Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
29 Views

Get all eigenvalues of a large sparse non-hermitian complex matrix

We need to get all (a part of them won't suffice) the eigenvalues of a very large (≈10^6x10^6) very sparse (≈10^7 non-zero entries) non-hermitian complex (but symmetric!) matrix. We have access to computer clusters from with Intel® Gold 6148 Skylake @ 2.4 [GHz] CPUs with up to 752 [GB] of RAM each (shared or distributed memory). The cluster already have an installation of Intel® Math Kernel Library.

MKL : Major version: 2018, Minor version: 0, Update version: 3, Build: 20180406, Platform: Intel(R) 64 architecture, Processor optimization: Intel(R) Advanced Vector Extensions 512 (Intel(R) AVX-512) enabled processors.

OS : CentOS Linux release 7.7.1908 (Core).

Compiler : mpicc (ICC) 18.0.3 20180410

Questions :

  1. Which package/library/function should I use ? I thought I could use zfeast_hcsrev from FEAST, but from what the documentation says, it seems like it's restricted to hermitian matrices (the h in hcsr stands for hermitian).
  2. If that function takes parameters apart from the matrix, do they have default values. If they don't, what would you recommend or where could I find information to determine those values myself ?
  3. Is there an easy way to import my matrix which is in Matrix Market format (.mtx) to pass it to that function ?
  4. Is there any particular compiler options I should use ?

(I'm a graduate student in physics so computer science isn't my specialty)

Thanks,

Gabriel

0 Kudos
2 Replies
Highlighted
Moderator
29 Views

Yes, these routines ( zfeast_hcsrev) are restricted to hermitian matrixes.

There are some default parameters, which you could check from here - https://software.intel.com/en-us/mkl-developer-reference-c-extended-eigensolver-input-parameters. ;

You could try to convert mtx format to csr by using mkl_zcsrcoo() routines.

You don't need to use some specific compiler options.

0 Kudos
Employee
29 Views

Hello Gabriel,

In general, when there is a need for solving a full eigenproblem for a huge matrix, a question should be raised immediately: is it a right problem which you are looking at?  Especially if the operator (matrix) is not s.p.d in the corresponding space.

What kind of application do you have which needs full solution to an eigenproblem?

Best,
Kirill

0 Kudos