#include #include #include #include #include //#include namespace ag { namespace linalg { namespace ublas = boost::numeric::ublas; void solve( ublas::matrix< float >& A, ublas::vector< float >& b ) { //ublas::permutation_matrix<> pivot( 3 ); ublas::matrix< float > triangular( A ); const int singular = 0;//ublas::lu_factorize( triangular/*, pivot*/ ); if( singular == 0 ) { ublas::lu_substitute< ublas::matrix< float >, ublas::vector< float > >( triangular, /*pivot, */b ); } else { std::cerr << "singular: " << singular << std::endl; // do something with A } } } }