Am 05.07.2010 um 21:27 schrieb Marco Guazzone:
On Mon, Jul 5, 2010 at 8:35 PM, Kraus Philipp
<
philipp.kraus@flashpixx.de> wrote:
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() );
The values of the first and second arguments are wrong.
Only 'V' or 'N' are admissible values:
See:
http://www.netlib.org/lapack/double/dgeev.f
I've setup the call to lapack::geev( 'N', 'N', l_matrix, l_eigval, x,y,z, lapack::optimal_workspace() );
but I would like to remove x,y,z to NULL or otherwise. If I set it to 0 / NULL it run into compile error (no matching function call).
Is there any solution for removing?
Thanks
Phil