How to condense a singular matrix in eigenvalue problem

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

How to condense a singular matrix in eigenvalue problem

Postby Eigen_solver » Mon Apr 08, 2013 5:04 am

Dear All,

I wish to know which procedure should I follow if I have the generalized eigenvalue problem A*X = lambda*B*X, where B matrix is singular? Instead of performing the full eigenvalue analysis, generally B is reordered in statically condensed form, where it will not have zero products in its diagonal, so the same procedure is applied to the A matrix. And since B doesn't have any zero values on diagonal problem can be solved.

My difficulty is I can't write the matrices in the condensed form is there any intrinsic technique in Lapack. I'm not even sure that this is called statical condensation in math world, so your enlightment will be appreciated.

Posts: 19
Joined: Fri Jun 01, 2012 6:08 am

Re: How to condense a singular matrix in eigenvalue problem

Postby Julien Langou » Tue Apr 09, 2013 1:04 am

Hi, I think I understand your question. I am going to repeat. So you wish to solve the generalized eigenvalue problem A*X = lambda *B*X where A and B are symmetric, but neither of the matrices is symmetric positive definite. So you cannot use directly LAPACK DSYGV. Ah ... yeah, that's a problem. Of course you can always use DGEGV but this does not take into account the structure of your problem and so this is not a very good solution. (Although it would work.) So I understand that A is symmetric and B is symmetric positive semidefinite (that is the eigenvalues of B are nonnegative). Is that correct? So I am not sure what to do. Being on a brute force mood today, I would add ( epsilon * norm( B ) * Identity ) to B so as to makes B positive definite and that would be it ... I would hope you can still recognize your infinite eigenvalues, and the finite eigenvalues should be little changed. I am sure that there are better solutions than this ad-hoc one. Waiting for some of them to come on the thread! Cheers, Julien.
Julien Langou
Posts: 835
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA

Re: How to condense a singular matrix in eigenvalue problem

Postby sven » Tue Apr 09, 2013 6:41 am

A deflation algorithm was proposed in:

G. Fix and R. Heiberger. An algorithm for the ill-conditioned generalized eigenvalue problem.
SIAM J. Num. Anal., 9:78–88, 1972. 3266.

Sadly, I am not aware of any software that implements the algorithm. Of course, you could use the QZ algorithm, which does not take advantage of symmetry. A routine such as DGGEV returns an eigenvalue as a pair (alpha,beta) such that lambda = alpha/beta. So long as the matrix pair is regular, then if beta is numerically zero, lambda is numerically infinite. For further information, particularly on the singular (non-regular) problem, see:

J. H. Wilkinson. Kronecker’s canonical form and the QZ algorithm. Linear Algebra Appl., 28:
285–303, 1979.

Best wishes,

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

Re: How to condense a singular matrix in eigenvalue problem

Postby kaffel07 » Sat Jul 27, 2013 5:03 am

Thank you for the explanation. NAG Fortran Library Routine Document J. H. Wilkinson. Kronecker used
F02GJF routine. Is there an equivalent matlab function that works the same?

Posts: 3
Joined: Sat Jul 27, 2013 4:39 am

Return to User Discussion

Who is online

Users browsing this forum: Google [Bot] and 6 guests