topic Generalized eigenvalue problem with non-definite symmetric matrix in IntelĀ® oneAPI Math Kernel Library & IntelĀ® Math Kernel Library
https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Generalized-eigenvalue-problem-with-non-definite-symmetric/m-p/957062#M15575
<P>I need to compute the 5 lowest real eigenvalues and corresponding eigenvectors for a generalized eigenvalue problem A*u=lambda*B*u. Both A and B are real symmetric matrices. A is positive definite but B is not positive definite. </P>
<P>I can use dggev but dggev computes ALL the eigenvalues and eigenvectors assuming A and B are not symmetric, which I think it is not efficient because (a) I need onl 5 eignevalues/eigenvectors and (b) my matrices ARE symmetric. </P>
<P>Since B is not positive definite, I cannot use sygvx.</P>
<P>I want to use MKL! <BR />What can I do?</P>Tue, 15 Oct 2013 22:55:31 GMTEver_B_2013-10-15T22:55:31ZGeneralized eigenvalue problem with non-definite symmetric matrix
https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Generalized-eigenvalue-problem-with-non-definite-symmetric/m-p/957062#M15575
<P>I need to compute the 5 lowest real eigenvalues and corresponding eigenvectors for a generalized eigenvalue problem A*u=lambda*B*u. Both A and B are real symmetric matrices. A is positive definite but B is not positive definite. </P>
<P>I can use dggev but dggev computes ALL the eigenvalues and eigenvectors assuming A and B are not symmetric, which I think it is not efficient because (a) I need onl 5 eignevalues/eigenvectors and (b) my matrices ARE symmetric. </P>
<P>Since B is not positive definite, I cannot use sygvx.</P>
<P>I want to use MKL! <BR />What can I do?</P>Tue, 15 Oct 2013 22:55:31 GMThttps://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Generalized-eigenvalue-problem-with-non-definite-symmetric/m-p/957062#M15575Ever_B_2013-10-15T22:55:31ZHi Ever B.,
https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Generalized-eigenvalue-problem-with-non-definite-symmetric/m-p/957063#M15576
<P>Hi Ever B.,</P>
<P>You can solve the problem mu*A*u=B*u and then find lambda=1/mu. sygvx is applicable for this problem. Of course, you'll have to find 5 biggest eigenvalues. Of course, possibility of mu to be equal to 0 should be considred separately.</P>
<P>Victor</P>Wed, 16 Oct 2013 10:56:09 GMThttps://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Generalized-eigenvalue-problem-with-non-definite-symmetric/m-p/957063#M15576Victor_K_Intel12013-10-16T10:56:09ZSolving the adjunct problem
https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Generalized-eigenvalue-problem-with-non-definite-symmetric/m-p/957064#M15577
<P>Solving the adjunct problem as Victor suggested sounds like a great idea, but I cannot get it to work. I use this call: </P>
<P>[fortran]call dsygvx(1, 'V', 'A', 'U', n, B, n, A, n, vl, vu, 1, n, abstol, m, Lambda, Z, n, work, lwork, iwork, ifail, info)[/fortran]</P>
<P>Notice I reversed A and B to solve the adjunt problem. I am sure the matrix B is +definite, which is confirmed by info not giving a lack of +definiteness error. The smalles test problem I can devise has n=64 but I want to use this for N>10,000. I do 1/Lambda to get the eigenvalues of the original problem. I get 63 converged, of which one is infinite, 61 give the same large unreasonable value, and only one, #63, has a resonable but not correct value. I have to say that I have solved the original problem for the 5 lowest eigenvalues with an iterative algorithm that I coded myself but it is not efficient. I want to use MKL. What can I try now? Is there any iterative algorithm in MKL?</P>
<P>Thanks!</P>
<P></P>Sat, 19 Oct 2013 21:50:28 GMThttps://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Generalized-eigenvalue-problem-with-non-definite-symmetric/m-p/957064#M15577Ever_B_2013-10-19T21:50:28Z