- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, I'm using dfeast_scsrgv to solve a generalized eigenvalue problem.
I passed sparse matrices with a size of 104,667 and set eMin and eMax to large values, specifically [4.22419e+08, 2.43313e+13]. I requested dfeast_scsrgv to solve 2400 eigenvalues. After dfeast_scsrgv solved the eigenvalues, I noticed that most of them are clustered in the upper part of the search space, rather than distributed across the entire search space (about [8e+12, 1.7e+13]).
To address this, I tried splitting the eigenvalue search space into smaller intervals, namely [4.2e+08, 5e+10], [5e+10, 1.8e+11], and so on, and reduced the number of eigenvalues to solve to around 100. For each interval, I found that dfeast_scsrgv calculates eigenvalues distributed across the entire search space, making it possible to obtain eigenvalues for the entire range.
So, I'm wondering whether this approach is valid.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi GimGY
Yes, your approach is valid. The dfeast_scsrgv function in Intel MKL is designed to find a number of eigenvalues in a given interval. If the eigenvalues are not evenly distributed across the entire search space, splitting the search space into smaller intervals and adjusting the number of eigenvalues to solve for each interval can indeed help you find eigenvalues across the entire range.
However, keep in mind that this approach may increase the computational time and complexity, especially if you have a large matrix and many intervals. Also, it's important to note that the eigenvalues found by dfeast_scsrgv are not guaranteed to be the smallest or largest but are the ones closest to the center of the search interval.
If you are consistently finding that the eigenvalues are concentrated in certain areas, it might be worthwhile to examine the properties of your matrices or the nature of your problem to understand why this might be happening. This could potentially lead to more efficient solutions.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi GimGY
Yes, your approach is valid. The dfeast_scsrgv function in Intel MKL is designed to find a number of eigenvalues in a given interval. If the eigenvalues are not evenly distributed across the entire search space, splitting the search space into smaller intervals and adjusting the number of eigenvalues to solve for each interval can indeed help you find eigenvalues across the entire range.
However, keep in mind that this approach may increase the computational time and complexity, especially if you have a large matrix and many intervals. Also, it's important to note that the eigenvalues found by dfeast_scsrgv are not guaranteed to be the smallest or largest but are the ones closest to the center of the search interval.
If you are consistently finding that the eigenvalues are concentrated in certain areas, it might be worthwhile to examine the properties of your matrices or the nature of your problem to understand why this might be happening. This could potentially lead to more efficient solutions.

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