Hello everyone,

Thanks again for the help with the previous questions I had on lapack bindings.

Now I have what I think is a more general question related to symmetric_adaptor. Namely, the code

#include <boost/numeric/bindings/ublas/matrix.hpp>

#include <boost/numeric/bindings/ublas/symmetric.hpp>

namespace ublas = boost::numeric::ublas;

typedef float real_t;

typedef ublas::matrix<real_t, ublas::column_major> m_t;

typedef ublas::symmetric_adaptor<m_t, ublas::lower> symml_t;

int main()

{

m_t al(5,5);

symml_t sal;

sal.assign(al);

return 0;

}

does not compile, with boost/numeric/ublas/symmetric.hpp returning a 'no matching function' error. I gather that this is a misuse of the method symmetric_adaptor::assign(matrix_expression &), but I don't know why. I suppose a matrix does not qualify as a matrix_expression? How does one associate a matrix with a symmetric_adaptor after said symmetric_adaptor has been constructed?

Thanks,

-David