AMDG Kraus Philipp wrote:
I have a very large non sparse ublas vector (most long double content). I would like to sort this vector without change the vector content, but I know the rank of the elements like
the smalest element in the vector is the 312 element in the original vector (for example).
Is there a boost implementation for create ranking of elements?
There isn't, but it's fairly straightforward to do. ublas::vector<long double> vec; using namespace boost::lambda; std::vectorstd::size_t temp(boost::counting_iteratorstd::size_t(0), boost::counting_iteratorstd::size_t(vec.size())); std::sort(temp.begin(), temp.end(), var(vec)[_1] < var(vec)[_2]); std::vectorstd::size_t ranking(temp.size()); std::copy(boost::counting_iteratorstd::size_t(0), boost::counting_iteratorstd::size_t(vec.size()), boost::make_permutation_iterator(ranking.begin(), temp.begin())); In Christ, Steven Watanabe