Boost logo

Ublas :

Subject: [ublas] [bindings][lapack] Initial high-level solve
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2009-03-22 07:08:44


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.