|
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
Blitz.
> 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?
Cheers,
Jeremy
----------------------------------------------------------------------
Jeremy Siek http://www.osl.iu.edu/~jsiek/
Ph.D. Student, Indiana Univ. B'ton email: jsiek_at_[hidden]
C++ Booster (http://www.boost.org) office phone: (812) 855-3608
----------------------------------------------------------------------
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk