Hi David,

          i just wanted to say that if you find it useful we have a sparse_matrix * sparse_matrix version that should be quite efficient.


unfortunately it is not really in ublas format, as the ublas does not allow constructing a CSR matrix using the vectors of indices and the vector of data. Let me know if you need it.


We also have some CUDA solver, which may be of interest. Once again it uses directly the three vectors of CSR, even if in our code we internally use ublas ...


let me know if some of this could be of help



On Sun 14/03/10 9:44 PM , David Bellot <david.bellot@gmail.com> wrote:

Dear uBLAS users,

recently Gunter Winkler asked for someone to take over the maintenance of the uBLAS library. As a fervent user of uBLAS and a strong believer in Open Source and Free Software, I decided to propose myself as the new duty man. I will therefore have the honor to be in charge of uBLAS and will do my best to make uBLAS reach its goals of versatility, performance and ease of use.

Let me quickly introduce myself: my name is David Bellot, I hold a PhD in Computer Science and do research (currently in the finance world) on Machine Learning and probabilistic artificial intelligence, hence my strong interest in uBLAS.

First of all, I want to say a big Thank You to Gunter for all the great work he did on uBLAS and a personal Thank You to help me getting on-board and starting my new duty as uBLAS maintainer.

I would also like to talk about potential projects for the next versions of uBLAS. For that purpose, I hope everybody will be interested in bringing new ideas, wishes and even new pieces of code:

(1) as you can imagine, in machine learning, one often needs to "randomly" access to sub-matrices. A good framework is already in place for matrix_view, I would like to extend it so that to make it as versatile as it is in other libraries or even Matlab.

(2) after reading last week emails, I think we could provide basic implementations of a few standard algorithms like inversion, solvers, etc...

(3) bindings are a hot topic. Let's be pragmatic: it's not supposed to be part of uBLAS but having a standard interface would add a strong value to uBLAS. And, I am like others, I want to play with my brand new nVidia card.

(4) another hot topic which is a recurrent complain about uBLAS: the product of 2 matrices. Do we want prod(A,B) or A*B. Let's think about it because other libraries implemented A*B in a very efficient manner too.

(5) Bindings for big libraries are also important and subject to discussion. I think we have to work more on the interface between all standard libraries when it is needed because, at the end of the day, people also want to use uBLAS to make computations with existing standard and not just write brand new algorithms.

(6) I will join Gunter in his effort to provide new documentation, covering more topics, with tutorial and advanced topics. uBLAS is a great library and a good documentation is of primary interest. That is one of the most important topic for me (yes, way more than prod(A,B) versus A*B)

Please everybody contribute with your own ideas and desiderata.
Let's work and make uBLAS simply the best.

With my Best Regards,
David Bellot

David Bellot, PhD