|
Ublas : |
Subject: [ublas] LAPACK using GEEV
From: Kraus Philipp (philipp.kraus_at_[hidden])
Date: 2010-07-05 14:35:59
Hi,
thanks for the answers to my last posting, but I had a mistake. I
don't need the eigenvalues of a symmetric real matrix, otherwise I
need the values of a squared real matrix.
I have found the DGEEV in the LAPACk and try to translate it to the
Boost bindings with:
T is set to double.
ublas::matrix<T, ublas::column_major> l_matrix( size, size);
// filling
ublas::vector<T> l_eigval(l_matrix.size1());
ublas::vector<T> x(l_matrix.size1());
ublas::matrix<T, ublas::column_major>
y(l_matrix.size1(),l_matrix.size1());
ublas::matrix<T, ublas::column_major>
z(l_matrix.size1(),l_matrix.size1());
lapack::geev( 'U', 'L', l_matrix, l_eigval, x,y,z,
lapack::optimal_workspace() );
I've found a older thread http://old.nabble.com/lapack%3A%3Ageev%28%29-ts20459534.html
and try to get working code. I can compile my code, but I get the
runtime error:
Parameter 1 to routine DGEEV was incorrect
Mac OS BLAS parameter error in DGEEV , parameter #0, (unavailable), is 0
I set the 5th, 6th and 7th parameter to 0 / NULL and run into
compiling error. I have read this http://www.calerga.com/doc/LME_lapk.htm
list to connect the matlab "eig" call to the DEEGV call
Can anyone help me to solve the problem, so that I'll get the correct
values?
Thank
Phil