Boost logo

Boost :

From: Jeremy Siek (jsiek_at_[hidden])
Date: 2002-01-18 11:59:48

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

> 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?


 Jeremy Siek
 Ph.D. Student, Indiana Univ. B'ton email: jsiek_at_[hidden]
 C++ Booster ( office phone: (812) 855-3608

Boost list run by bdawes at, gregod at, cpdaniel at, john at