>Kaveh Kohan wrote:
>> I think the version of boost I am using is quite old (1.35.0) and it
>> seems that there have been significant changes with respect to the current version (is it 1.6?).
>
>If I remember correctly, the current bindings require a more recent Boost.MPL than 1.35.0. The current boost release is 1.44.0. The numeric_bindings don't >have version numbers, and the current numeric_bindings is significantly different from numeric_bindings-v1 in many ways. The numeric_bindings-v1 should >work with both older and more recent Boost versions, but I would suggest upgrading Boost instead (if Boost.MPL should really turn out to be too old).
>
>To use atlas, you have to link against the corresponding libraries, and define
>
>BOOST_NUMERIC_BINDINGS_BLAS_CBLAS
>BOOST_NUMERIC_BINDINGS_LAPACK_CLAPACK
>
>to select ATLAS as backend.

First I have to thank you all for your replies. It is such a responsive group (I hope my question was not too provocative though :) ).

I am trying to re-implement a project which uses a lot of linear algebra with Boost, so please bear with me if my questions are very elementary.  Here is my curious question about the design of the numerical binding:

I thought that one design could be to provide functionalities of BLAS through uBlas but only by turning ON/OFF a compiler flag. Let me explain what I mean by an example: we have a command like prod in uBlas which is a uBlas implementation of matrix-matrix product but if one wants to use BLAS, she has to use gemm command. Why didn't you design it such that prod does both of them and a compiler flag can decide which implementation (uBlas or BLAS) to be compiled?  Again, I am sorry if it is such naive question, I am newbie to boost.

Regards,
Kayhan