Using PARDISO with ARPACK to solver generalized Eigenvalue problem

Using PARDISO with ARPACK to solver generalized Eigenvalue problem

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

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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.

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

Login to leave a comment.