|
Boost Users : |
Subject: Re: [Boost-users] [ublas]how to get tsm to compile with simple matrixargs?
From: pmamales_at_[hidden]
Date: 2011-11-14 16:53:17
Hi Larry,
> Ah! I should have read closer. BTW, since, based on our past emails,
> you're interested in linear equation solvers for tridiagonal systems,
> maybe you could let me know how you're solving tridiagonal systems with
> ublas or lapack. I'd appreciate it.
>
Well, blas does not provide with any, and lapack providees with expensive ones
(w/pivoting and all that, and only saves on the memory footprint, and multiplies with
0's until kingdom comes ;-)).
You are much better off googling Thomas Algorithm and implementing it on your own (does not
take much at all).
I would advise you have the lapack ones avail too, for the "nasty" problems.
Look in LAPACk for
*gtsv, *gtsvx, *ptsv, *ptsvx
where * stands for s,d,c or z for float, double, complex<float> and complex<double> respectively.
You will have to do a little wrapping, but who doesn't ;))
> OK, I guess if I want to use the ublas banded matrix I'll have to set
> the values manually instead of using a subclass' CTOR and 3 std::vectors
> as the CTOR args to do it :(
>
Not necessarily; you can overwrite ctors and assignment operators to use with a lhs.
For the rhs expressions, you need to derive from matrix_container<your_type> (maybe something more?
not sure yet).
HTH,
P-
---- Larry Evans <cppljevans_at_[hidden]> wrote:
> On 11/14/11 14:53, petros wrote:
> > Hi Larry,
> > The comments on the code writes for tsm that it accepts a tringular (not
> > tridiagonal) matrix.
> > -very common confusion ;-)).
>
> Ah! I should have read closer. BTW, since, based on our past emails,
> you're interested in linear equation solvers for tridiagonal systems,
> maybe you could let me know how you're solving tridiagonal systems with
> ublas or lapack. I'd appreciate it.
>
> > HTH,
> > Petros
> > ps: also, when you derive from a class the "magic" of expression templates
> > often disappears (depending on implementation..)
>
> OK, I guess if I want to use the ublas banded matrix I'll have to set
> the values manually instead of using a subclass' CTOR and 3 std::vectors
> as the CTOR args to do it :(
>
> Thanks for the help, Petros.
>
> -regards,
> Larry
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net