Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- Severe differences between QZ and ddgev

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

utab

Beginner

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

02-22-2013
08:26 AM

76 Views

Severe differences between QZ and ddgev

Dear all,

I have programmed a two-sided Lanczos eigensolver for non-symmetric problems where after some certain iterations a reduced non-symmetric tridiagonal eigenvalue problem is solved. However, I experience some strange problems related to this tridiagonal eigenvalue problem, namely,

+ if I use the qz solver available in MATLAB(which I guess is using INTEL MKL routines), I am getting too many negative and imaginary eigenvalues as a result. Even if I use the routines of Intel MKL in C++ by calling the 'qz' related routines, I find the values that MATLAB finds so the results are not correct, unfortunately.

+ If I use the ddgev routine from the direct Fortran 77 interface, I am getting these negative eigenvalues or imaginary pairs in the list, however find some zeros at the end of the spectrum. And the non-zero eigenvalues are the right ones, that I should find by comparing them with a reference solution of mine.

So my question is what is the reason of this important difference that qz related algorithm is screwing up all the computation but ddgev can do the jobs except that it finds some zero values?

Best regards,

Umut

P.S. And also by default MATLAB also computes non-symmetric generalized eigenvalue problems(or standdard ones), I guess, with the qz method since it does not find the right eigenvalues for this non-symmetric tridiagonal problem. I can provide the non-symmetric tridiagonal matrix for your tries as well if you would like to take a look closely.

Link Copied

1 Reply

Zhang_Z_Intel

Employee

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

02-22-2013
10:37 AM

76 Views

When you used the QZ routines of Intel MKL in C++, which routine did you exactly call? Was it dhgeqz? Did you use the LAPACKE interface or the FORTRAN interface?

I presume you actually wanted to say dggev, instead of ddgev, which gave you the correct non-zero eigenvalues?

It will definitely helpful if you can provide your sample matrices for us to reproduce the problem. And please also show how dhgeqz and dggev are called in your code.

Thanks.

Topic Options

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

For more complete information about compiler optimizations, see our Optimization Notice.