Boost logo

Ublas :

From: Karl Meerbergen (Karl.Meerbergen_at_[hidden])
Date: 2006-02-22 08:15:50


Hello,

You could use the ublas code, which is easy to use. A bit more
complicated but probably more performant is the use of LAPACK using the
boost-sandbox bindings:

#include <boost/numeric/bindings/lapack/gesv.hpp>
#include <boost/numeric/bindings/traits/ublas_matrix.hpp>
#include <boost/numeric/bindings/traits/ublas_vector2.hpp>

matrix<double, column_major> A(n,n) ; // very important that it is
column_major
vector<double> b(n);
vector<double> x(n);

...

x = b ;
boost::numeric::bindings::lapack::gesv(A,x) ;

Karl

Gunter Winkler wrote:

>On Wednesday 22 February 2006 07:53, asaf david wrote:
>
>
>>say i got a non triangular matrix M and a vector b, and i'd like to find
>>the vector x such that Mx=b. is there any way to perform this ? because
>>appearently there's only solver for triangular matrixes. btw i'm sorry if
>>it has been answered before, i coudlnt find a search option in the archives
>>
>>
>
>you should use the LU-factorization. The code is like this:
>
>// possibly some more ublas includes here
>#include <boost/numeric/ublas/lu.hpp>
>matrix<double> A(n,n);
>vector<double> b(n);
>vector<double> x(n);
>permutation_matrix P(n);
>
>lu_factorize(A,P);
>x = b;
>lu_substitute(A,P,x);
>
>the x ist the solution of Ax=b.
>
>mfg
>Gunter
>_______________________________________________
>ublas mailing list
>ublas_at_[hidden]
>http://lists.boost.org/mailman/listinfo.cgi/ublas
>
>
>

-- 
==============================================
Look at our unique training program and
Register on-line at http://www.fft.be/?id=35
----------------------------------------------
Karl Meerbergen
Free Field Technologies
NEW ADDRESS FROM FEBRUARY 1st ONWARD:
Axis Park Louvain-la-Neuve
rue Emile Francqui, 1
B-1435 Mont-Saint Guibert - BELGIUM
Company Phone:  +32 10 45 12 26
Company Fax:    +32 10 45 46 26
Mobile Phone:   +32 474 26 66 59
Home Phone:     +32 2 306 38 10
mailto:Karl.Meerbergen_at_[hidden]
http://www.fft.be
============================================