Boost logo

Boost :

From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2002-01-18 13:37:19


Jeremy Siek wrote:

> On Fri, 18 Jan 2002, Toon Knapen wrote:
>
>>Looking at the slicing and ranging possibilities of both multi_array and
>>ublas, I find the concepts as they are currently defined overlapping and
>>limited in respect to e.g. Blitz++.
>>
>>The most important difference with Blitz++ is that slicing in Blitz++
>>speak means also reducing the order of the array. In ublas &
>>multi_array, slicing means a 'strided range'. I think it is important to
>>define concepts in conformance with Blitz++ as it's still one of the
>>default array libraries out there.
>>
>
> Actually, multi_array doesn't have something called a "slice". It has
> subarray views, which I believe encompass the slicing capabilities of
> Blitz.

The doc mentions slicing though
e.g. "An index_range object passed to a slicing operation will inherit ...".

>
>>But another concept I'm missing, and which is in neither of the three
>>libraries, is creating a sub-array (of the same order as the array) that
>>contains a specific selection of indices for every dimension of the
>>array. e.g. in the 2D case I would like to do
>>matrix< double > A(8,8);
>>boost::array<3> i1 = { 0,1,6 };
>>boost::array<5> i2 = { 5,6,7 };
>>sub_matrix sub_A = submatrix(A, i1,i2 );
>>
>
> I know we considered adding this capability. I think perhaps Ron just
> didn't have time to add it in. It is a bit more complicated to implement
> than the regular subarrays. Perhaps you would be interested in extending
> multi_array with this capability?
>

Currently I've placed my bets on ublas :-( (because I really need the
linear algebra stuff).

As I mentioned during the review of multi_array, I would really like to
discuss a direction for future numerics development in boost. I figure
MTL and ublas will completely overlap. Look at the dates in the CVS log,
ublas is being more actively developed compared to MTL. On the other
hand, the lower layer of MTL (multi_array) is about to be accepted in
Boost. It might be a good idea that MTL and ublas are developed in
parallel to try out some stuff _but_ I feel we should also agree on how
to combine both projects eventually to avoid a waste of development time.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk