ublas::matrix<T, ublas::column_major> l_matrix(p_matrix);
ublas::matrix<T, ublas::column_major> l_eigvec(l_matrix.size1(), l_matrix.size2());
ublas::vector<T> l_eigval(l_matrix.size1());
ublas::vector<T> l_tmp1(l_eigval.size());
ublas::matrix<T, ublas::column_major> l_tmp2(l_matrix.size1(),l_matrix.size2());
ublas::matrix<T, ublas::column_major> l_tmp3(l_matrix.size1(),l_matrix.size2());
linalg::geev( 'N', 'V', l_matrix, l_eigval, l_tmp1,l_tmp2, l_eigvec, linalg::optimal_workspace() );
namespace ublas = boost::numeric::ublas;
namespace blas = boost::numeric::bindings::blas;
namespace linalg = boost::numeric::bindings::lapack;
Is this enought information otherwise I would create tomorrow a full program.
The code excerpt ist part of a template class.
Thx
Phil