[SciPy-dev] Which matrix library in C++ for scipy

Neal Becker ndbecker2@gmail....
Thu Apr 26 08:44:43 CDT 2007

Fernando Perez wrote:

> On 4/26/07, Neal Becker <ndbecker2@gmail.com> wrote:
>> So my approach is:
>> 1. Write c++ algorithms with generic interfaces (where feasible).
>> 2. When it is not feasible to use generic container types, I use
>> boost::ublas::{vector/matrix} explicitly.
>> 3. The above c++ code is parametrized (templated) on the container types.
>> 4. Explicit instantiations of (3) are then exposed to python, normally
>> specifying ublas::{vector/matrix} as the input/output types.
>> This doesn't, of course, directly interoperate with numpy.  I can,
>> however, convert between numpy arrays and ublas::matrix (which currently
>> requires copying the data, unfortunately).
> I'm curious (being a rather primitive C++ user) as to why you don't
> like/use/prefer Blitz++ for this particular use?  Blitz arrays are
> fairly numpy-like in much of their behavior, and one can be
> instantiated out of a numpy array with minimal cost (copying only the
> striding info, not the actual data).  That's what weave uses both for
> weave.blitz and for weave.inline when type_converters=blitz is passed.
> Thanks,
> f

I did try to evaluate this some time back, and don't recall the reasoning -
but it may be that it appears that blitz++ development has stopped, and I
don't want to invest in something that is going to die.  The last release
is Oct 2005.

More information about the Scipy-dev mailing list