The LAPACK forum has moved to https://github.com/Reference-LAPACK/lapack/discussions.

Questions about DSYGV

Open discussion regarding features, bugs, issues, vendors, etc.

Questions about DSYGV

Postby huangr3 » Tue Jun 10, 2008 4:49 pm

DSYGV computes all the eigenvalues, and optionally, the eigenvectors
of a real generalized symmetric-definite eigenproblem, of the form
A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x.
Here A and B are assumed to be symmetric and B is also positive definite.


However in my case, I have to deal with B matrix which is definite non-negative symmetric. Zero should be one eigenvalue, but using this routine, I can not get it. Could someone help me or teach me how to handle this problem?

Thank you very much!
huangr3
 
Posts: 2
Joined: Tue Jun 10, 2008 4:45 pm

Postby sven » Wed Jun 11, 2008 11:29 am

I am afraid that DSYGV cannot handle the case where B is singular, so you may have to use a routine for nonsymmetric eigenvalue problems, such as DGGEV.

If your matrix A is positive definite then you could swap the roles of A and B, or maybe you can model your problem so that the zero eigenvalue of B is deflated. I appreciate that probably neither of these cases is true for you.

If you are brave, you can try implementing the algorithm of Fix and Heiberger:

@ARTICLE{FH:SINum:72,
AUTHOR = {Fix, G. and Heiberger, R.},
TITLE = {An Algorithm for the Ill-Conditioned Generalized Eigenvalue
Problem},
JOURNAL = {SIAM J. Num. Anal.},
YEAR = {1972},
VOLUME = {9},
PAGES = {78--88} }

I am not aware of software that implements this, but a google search may reveal something. Craig Lucas also discusses these problems in his thesis:

http://www.maths.manchester.ac.uk/~clucas/

I hope that at some stage we may do something along these lines for LAPACK, but that is for the future.

Sorry not to be more helpful,

Sven Hammarling.
sven
 
Posts: 146
Joined: Wed Dec 22, 2004 4:28 am

Postby Julien Langou » Wed Jun 11, 2008 11:54 am

Besides Sven's answer, below is an answer from Jim to your question.

When A and B are indefinite, then the theory describing the possible
solutions of the eigenvalue problem gets complicated. In particular,
if A and B (nearly) share a null-space, then you have what is
called a "singular pencil", which means that the eigenvalues and
eigenvectors are not uniquely defined (or extremely ill-conditioned).
Is this the case with your A and B? One way to get error bounds
from DSYGV that would indicate there is such a problem is
described in the LAPACK manual at
http://www.netlib.org/lapack/lug/node98.html
If you do think you have this problem, and you still want an
eigenvalue decomposition of the more general kind (known
as the Kronecker Canonical Form), then there are two
possibilities.

First, you can try deflating the common nullspace,
by replacing A and B with Q'*A*Q and Q'*B*Q where
Q is the orthogonal eigenvector matrix of A and so
Lambda_A = Q*A*Q' is the diagonal matrix of eigenvalues
of A. Choose the order of eigenvectors in Q so that the k zero
(or tiny) eigenvalues of A appear at the bottom right of Lambda_A.
If the last k rows and columns of Q'*B*Q are also tiny enough,
you can interpret the pair (A,B) as having a k-dimensional
common null-space (with undefined eigenvalues), and the
remaining eigenvalues can be found from the matrices in
the leading n-k rows and columns.

Second, a more sophisticated code that computes the general
case of the Kronecker Canonical Form is called GUPTRI
(for "Generalized UPper TRIangular Form"). We have software
available for GUPTRI, though not in LAPACK; see
http://www.cs.umu.se/~guptri/

Finally, we are developing an "iterative refinement" technique for
problems such as yours, and would be interested in trying out
your matrix, if you are willing to share it, and it is not too big.
Please contact Jim Demmel (demmel@cs.berkeley.edu) about
this if you are interested.

Jim
Julien Langou
 
Posts: 835
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA


Return to User Discussion

Who is online

Users browsing this forum: No registered users and 8 guests