Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Werner Grobler <werner.grobler <at> za.saabgroup.com>
Subject: Re: Solving A*V = B*V*D with Lapack
Newsgroups: gmane.comp.lib.boost.ublas
Date: Tuesday 31st January 2012 10:24:15 UTC (over 5 years ago)
Hi,

I'm trying to implement the following MATLAB function with boost ublas
lapack bindings:

[V,D] = EIG(A,B) 
Produces a diagonal matrix D of generalized eigenvalues, and a full matrix
V whose columns are the corresponding eigenvectors so that A*V = B*V*D.

I'm using the bindings from Andreas Klöckner (http://mathema.tician.de/dl/software/boost-numeric-bindings).

Initially I used lapack::hegv (wraps ssygv for single precision) which
works fine for real symmetric A,  and symmetric positive definite B. The
problem is that my B matrix is general (symmetric and not positive
definite) so this approach failed.

Next I tried sggev, for which I didn't have a lapack binding so I hacked my
own. This didn't give me the results I was expecting. 

I have two questions:
1. Is there another lapack function, or functions, to solve this problem
other than ggev or hegv?
2. If ggev is the correct function to apply, where can I obtain the correct
binding? The bindings under sourceforge don't seem to include ggev (or even
hegv). 

Thanks in advance
_______________________________________________
ublas mailing list
[email protected]
http://lists.boost.org/mailman/listinfo.cgi/ublas
Sent to: [email protected]
 
CD: 3ms