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

If I just want to get smallest eigenvalues and its' eigenvectorsj(0<=j<=n) from a sparse matrix(n*n),'cause the dimension of matrix is too large to calculate all the eigenvalues&eigenvectors at the same time(memory limited) and the smallest j is meet the need, Which funciton should I use?(Matrix store as CSC or CSR format)

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

Hi,

You can use Extended EigenSolver functionality. Just make any estimation on eigenvalues (for example norm of matrix) and set small interval near its boundaries to EE functionality with any estimation on number of eigenvalues. If your estimation of number eigenvalues less than real number functionality return correspondent error, if bigger - functionality provide correct answer.

Thanks,

Alex

Link Copied

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

Hi,

You can use Extended EigenSolver functionality. Just make any estimation on eigenvalues (for example norm of matrix) and set small interval near its boundaries to EE functionality with any estimation on number of eigenvalues. If your estimation of number eigenvalues less than real number functionality return correspondent error, if bigger - functionality provide correct answer.

Thanks,

Alex

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

Alexander Kalinkin (Intel) wrote:

Hi,

You can use Extended EigenSolver functionality. Just make any estimation on eigenvalues (for example norm of matrix) and set small interval near its boundaries to EE functionality with any estimation on number of eigenvalues. If your estimation of number eigenvalues less than real number functionality return correspondent error, if bigger - functionality provide correct answer.

Thanks,

Alex

It means that I should try some [min max] interval set until it meet the number of j I want?

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

Just to verify - you need to find smallest eigenvalue or j-th eigenvalue?

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

Alexander Kalinkin (Intel) wrote:

Just to verify - you need to find smallest eigenvalue or j-th eigenvalue?

Hi

I need to find from smallest to the j-th smallest eigenvalues and the eigenvectors associated with the the eigenvalues (smallest Top J)

Thanks

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

In such case make sense to achieve this interval using inertia functionality from PARDISO. So you have initial searching interval (a, b), set c = (a+b)/2 and set matrix B = A-cE. After call PARDISO reordering and factorization phase and get number of negative pivot. If this number less than j than number of eigenvalue in interval (a,c) less than j and you need to increase c and decrease otherwise. After you got new c and new matrix B and repeat pardiso call...

Thanks,

Alex

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

Alexander Kalinkin (Intel) wrote:

In such case make sense to achieve this interval using inertia functionality from PARDISO. So you have initial searching interval (a, b), set c = (a+b)/2 and set matrix B = A-cE. After call PARDISO reordering and factorization phase and get number of negative pivot. If this number less than j than number of eigenvalue in interval (a,c) less than j and you need to increase c and decrease otherwise. After you got new c and new matrix B and repeat pardiso call...

Thanks,

Alex

Oh I got it, it seems like a good way to approach the j-th value and get the interval.

Thanks again

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

No problem, you are welcome. If it is not a secret, could you explain your application? What is it name or goal?

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

Alexander Kalinkin (Intel) wrote:

No problem, you are welcome. If it is not a secret, could you explain your application? What is it name or goal?

- I wanna use spectral clustertng algorithm to divide a graph into some clusters, the algorithm need to get some eigenvalues and eigenvectors in order to dimensionality reduciton.
- Can MKL just calculate the eigenvalues from sparse matrix? That would be easier to locate the interval.

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