Boost logo

Ublas :

Subject: Re: [ublas] Anybody still there?
From: Andrea Cassioli (cassioliandre_at_[hidden])
Date: 2012-02-01 12:11:21

Hi guys,
I have been a uBlas user for a couple of years. I have enjoyed much of
the progresses made along the versions and the great effort push over
to improve documentation. I sadly must admit that too many patches and
not always coherent extentions have harmed the library and I deeply
agree with Nasos that it would be good to start from scratch a brand
new version.

In my opinion, uBlas shuold rely on linear algebra core that any uses
can access too, i.e. blas, lapack and whatever else you like, using
either Boost numeric Bindings ( the one in the Boost sandbox work
pretty well) or vice versa calling from the uBlas code. I consider
performances in a C++ library the core business, as for readability
other tools can do much better.

Yesterday I was just talking with a friend of mine that usually uses
MATLAB. He is a computer scientist and pretty good C++ programmer too.
I was mentioning uBlas and other libraries, but he just told me: "they
cannot catch up the seamless notation that a specialized language can

Indeed, taking a look to eigen, Armadillo or MTL4, none of them is
even close to a truly readable syntax. I therefore consider the very
priority to push on performances and code correctness, being ready to
loose a little bit in math style.

Leave the math kernel to who is specialized and built on a more
sophisticated layer that ensure correctness and avoid some ambiguity.

Another interesting issues, that what mentioned from the very first
days, is the compatibility to the STL container concept. It would be
nice to allow people using any STL-complaiant containers (vectors,
carray) along with uBlas, wouldn't be?

I understand the great effort in writing a new code, but the
experience piled up in theses years could be of great use to guide the


On Wed, Feb 1, 2012 at 11:54 AM, Nasos Iliopoulos <nasos_i_at_[hidden]> wrote:
> It would be great if we could start uBlas2, rewriting the core maybe using
> proto for the template functionality and add all the goodies. As David says
> I also think a unified representation would help a lot in realizing the same
> algorithms for similar operations (i.e. dot product defined as the
> multiplication of a row and column matrix - using an already optimized
> matrix matrix multiplication algorithm). I am just a bit skeptical about
> vectorization though - mainly due to lack of language support and lack of
> in-core higher than double precision arithmetic (I think double precision is
> internally done in 96-bit on an intel cpu).
> Another item that would be very useful is opening the submission of
> auxiliary functions. It would be great if people could contribute their own
> SVD, or optimizer, or linear system solver etc., as I am sure most of as
> have a ton of those from one project or another.
> Of course keeping the template interface the same (if possible) for backward
> compatibility and trying not to hinder the bindings development would be of
> utmost importance.
> Best,
> Nasos
> On 02/01/2012 10:29 AM, David Bellot wrote:
> There has been a few changes and documentation written in fact. A few new
> algorithms has been added like the assignment operators.
> It is actively maintained even if in it's current state there is not a lot
> to do.
> In fact, I'm seriously thinking at ...
> <flame wars>
> - changing the core library to make it able to be faster, introduce new
> algorithms, and auto-vectorization
> - removing the vector class in favor of a unique matrix class (and vector
> would simply be a one-column matrix). That would allow us to simply
> represent column and row vector and unify the computation engine
> - be faster than eigen and armadillo: ok that one is gonna be pretty hard
> :-D
> </flame wars>
> Meanwhile, I'm slowly improving little things... Fortunately, I have been
> using ublas for my job for the last few years.
> But for sure, it needs more love.
> On Wed, Feb 1, 2012 at 15:15, Sean Reilly <campreilly_at_[hidden]> wrote:
>> I'm using uBLAS for a big project, and just wanted to see if it is
>> still being actively maintained.  It doesn't seem like there have been
>> many changes in the last few years.
>> Sean Reilly
>> _______________________________________________
>> ublas mailing list
>> ublas_at_[hidden]
>> Sent to: david.bellot_at_[hidden]
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> Sent to: athanasios.iliopoulos.ctr.gr_at_[hidden]
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> Sent to: cassioliandre_at_[hidden]

Andrea Cassioli