Looks great. One thing that would be nice is if the B could support vectors as well as matrices. Quite often you want to solve AX=b with b a ublas vector and don't want to convert between the two types. I am not sure if there is the ability for the traits to treat a vector as an Nx1 matrix. I assume this could use some kind of matrix adaptor or decoration to say whether it is an Nx1 vs. 1xN for conformability.
Guys,
I've created an initial prototype for a high-level interface to solve. It
uses Boost.Parameter to allow a user to pass parameters by keyword;
low-level routines create a temporary pivot vector if not provided and
needed by that routine.
See below for the syntax, all expressions are valid.
#include <boost/numeric/bindings/lapack/solve.hpp>
using namespace lapack::keywords;
// basic usage
lapack::solve( A, B );
lapack::solve( A, B, _pivot = ipiv );
// this is also valid
lapack::solve( _B = B, _A = A );
lapack::solve( A, _pivot = ipiv, _B = B );
What we could use next is a good set of keywords/type decorators for
addressing all solve routines and expert driver options. Suggestions are
very welcome.
Cheers,
Rutger
_______________________________________________
ublas mailing list
ublas@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/ublas