Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7060 Discussions

Using PARDISO with ARPACK to solver generalized Eigenvalue problem

AndrewC
New Contributor III
965 Views
I want to use PARDISO with ARPACK to solver a genralized eigenvalue problem in shift-invert mode ( in ARPACK lingo , bmat='G', iparam(7)=3).
This requires using PARDISO to factor the matrix (A-sigma*M) where , in my case, A and M are large SPARSE matrices in CSR format, but not of identical sparse structure. I was wondering if in the MKL routines there is an efficient way to form the A-sigma*M matrix as a sparse matrix.

Andrew
0 Kudos
2 Replies
wugaxp
Beginner
965 Views
Quoting - vasci_intel
I want to use PARDISO with ARPACK to solver a genralized eigenvalue problem in shift-invert mode ( in ARPACK lingo , bmat='G', iparam(7)=3).
This requires using PARDISO to factor the matrix (A-sigma*M) where , in my case, A and M are large SPARSE matrices in CSR format, but not of identical sparse structure. I was wondering if in the MKL routines there is an efficient way to form the A-sigma*M matrix as a sparse matrix.

Andrew

Could you please introduce more details about your method? Now I'm also trying to use Pardiso and ARPACK to solve a generalized eigenvalue problem for sparse matrices.

As for your problem, now I've written some subroutine to convert the sparse matrix in CSR format into coordinates format. This is because two matrices can be combined easily in coordinates format. Although MKL has some auxiliary routines such as mkl_ddnscsr, mkl_dcsrcoo, and mkl_dcsrbsr to make conversation among the different formats, I have to write my own because I have to deal with complex matrices.
0 Kudos
Sergey_K_Intel1
Employee
965 Views
Quoting - vasci_intel
I want to use PARDISO with ARPACK to solver a genralized eigenvalue problem in shift-invert mode ( in ARPACK lingo , bmat='G', iparam(7)=3).
This requires using PARDISO to factor the matrix (A-sigma*M) where , in my case, A and M are large SPARSE matrices in CSR format, but not of identical sparse structure. I was wondering if in the MKL routines there is an efficient way to form the A-sigma*M matrix as a sparse matrix.

Andrew

MKL Sparse BLASprovides such routines for all types of precision.The name of routine for double precision is mkl_dcsradd. Please take a look at page 449 of MKL Reference Manual for more details about these routines. You can also find examples of the usage of these routines in /example/spblas folder.

All the best
Sergey


0 Kudos
Reply