
Ublas : 
From: Nico Galoppo (nico_at_[hidden])
Date: 20060414 10:24:27
What I was saying is that, just as there are bindings for blas/lapack, there are
bindings for atlas (imo a platformoptimized version of a subset of blas/lapack
operations). There are bindings in
boostsandbox/numeric/bindings/atlas
#include <boost/numeric/bindings/atlas/cblas1.hpp>
#include <boost/numeric/bindings/atlas/cblas2.hpp>
#include <boost/numeric/bindings/atlas/cblas3.hpp>
#include <boost/numeric/bindings/atlas/clapack.hpp>
#include <boost/numeric/bindings/traits/ublas_matrix.hpp>
#include <boost/numeric/bindings/traits/ublas_vector.hpp>
namespace atlas = boost::numeric::bindings::atlas;
std::vector<int> ipiv(matrix.size1());
int ierr = atlas::getrf(matrix, ipiv);
ierr = atlas::getrs(matrix, ipiv, rhs);
solves matrix * x = b where rhs stores b on input and receives x on output.
atlas::getri(matrix, ipiv) does this in one step.
the documentation is in
boostsandbox/libs/numeric/bindings/atlas/doc/index.html
nico
Karl Meerbergen wrote:
> I suppose atlas is a compiled lapack. there are bindings in
> boostsandbox/numeric/bindings/lapack/gesv.hpp
>
> #include <boost/numeric/bindings/traits/ublas_matrix.hpp>
> #include <boost/numeric/bindings/traits/ublas_vector2.hpp>
> #include <boost/numeric/bindings/lapack/gesv.hpp>
>
> boost::numeric::bindings::lapack::gesv( matrix, rhs ) ;
>
> solves matrix * x = b where rhs stores b on input and receives x on output.
>
> for the factorization only (with singularity check), use:
>
> #include <boost/numeric/bindings/traits/std_vector.hpp>
> std::vector<int> pivots( matrix.size1() ) ;
> int info = boost::numeric::bindings::lapack::getrfv( matrix, pivots )
>
> Karl
>
>
>
> Nico Galoppo wrote:
>
>
>>Have a look at the ATLAS bindings for ublas. ATLAS provides such factorization
>>methods.
>>
>>http://www.crystalclearsoftware.com/cgibin/boost_wiki/wiki.pl?action=browse&id=Linear_Algebra_With_UBLAS&revision=15
>>
>>HTH,
>>
>>nico
>>
>>John Maddock wrote:
>>
>>
>>
>>>I gather from a quick web search that ublas does have LUP decomposition
>>>routines, however a grep of the docs failed to find any mention of the
>>>routine in question, and how they should be used.
>>>
>>>So.... does anyone have the boiler plate code needed to solve for x given
>>>matrix A and vector b ?
>>>
>>>Many thanks,
>>>
>>>John Maddock.
>>>
>>>_______________________________________________
>>>ublas mailing list
>>>ublas_at_[hidden]
>>>http://lists.boost.org/mailman/listinfo.cgi/ublas
>>>
>>>
>>
>>
>>
>
>
>
 nico galoppo von borries  address: 105 creel st., chapel hill comp. graphics phd. student  north carolina, 27516 USA UNC, chapel hill  phone: +1 (919) 9621898 (office)  +1 (919) 9427609 (home)  email: nico at cs dot unc dot edu  homepage: http://www.ngaloppo.org