Hi,

Never use tree methods in high dimensional spaces unless you have  n >> 2^dim data points. Use instead some fast matrix library and brute-force the nearest neighbours.

Cheers,
Oswin

On 16.04.2014 14:32, Georgios Samaras wrote:
Thanks for the replies, now it is clearer. However, the minimum dimension I have in my datasets is 100 and I want to run NN with dimension 10000.

So, how I am going to initialize a point?

template <int CompileTimeDimension>
void fill(point& tmp)
{
    for(int j = CompileTimeDimension - 1 ; j >= 0 ; --j) {
         bg::set<CompileTimeDimension-->(tmp, 5);
     }
}

Even I can see that the above code won't even compile. Writting manually bg::set<0>(tmp, 5), ..., bg::set<10000>(tmp, 5) does not really sound a good idea. So what should I do?

Maybe boost nearest's neighbors are meant to be used in higher dimensions?


_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users