## bbindex

This function is not yet fully documented. This is a transcript of
the text-formatted help.

bbindex Create a reordering black-box operator
BB=bbindex creates an operator for jobs normally
handled by indexing. Below we show how the column-vector
X corresponds to the product B=bbmult(BB,X).
BB=bbindex(INX1)
Reorder (permute) elements. X must have exactly length(INX1)
elements, which makes the product equivalent to B=X(INX1).
If P is a permutation matrix, an equivalent operator may be
constructed as BB=bbindex(P*(1:size(P,2))').
BB=bbindex(INX1,DIM1)
Same as above, except X has DIM1 elements.
BB=bbindex(INX1,DIM1,INX2,DIM2)
Take elements of a vector with DIM1 elements and move them
to specific positions in a vector with DIM2 elements.
This is equivalent to the line:
B=zeros([DIM2,1]); B(inx2)=X(inx1);
INX1 and INX2 can be index vectors or the string ':'.
If INX2 contains an index several times, then the default behavior
is to keep the last occurence. If this is undesired the following
form may be used:
BB=bbindex(INX1,DIM1,INX2,DIM2,'sum')
This will add the elements refered to multiple times.
It is possible to handle hypercubes. If H1 is a hypercube of
dimension DIM1, then we may extract another hypercube as follows:
H2=zeros(DIM2);
H2(dst1,dst2,...)=H1(src1,src2,...);
The same effect could be accomplished by bbindex:
BB=bbindex({src1,src2,...},DIM1,{dst1,dst2,...},DIM2);
H2=reshape(BB*H1(:),DIM2);
See also bbredim, bbmult.

bbimageinbbinline