In RogueWave, there’s a “pick” operation where, given a vector and a list of indices, roguewave gives you a proxy to that vector. The proxy’s elements are indexed back on that given list of indices. For instance:

 

V = { 1, 3, 5, 7, 6, 4, 2, 0 }

W = pick(V, 0, 2, 1, 5) = { 1, 5, 3, 4 }

 

In the above example, W is a proxy vector to V, and it points to (in order) the 0th, 2nd, 1st, and 5th element of V.

 

Is there an equivalent feature in ublas?

 

Thanks,

--Steve