1. A mode seeking method for generating clusters of data points within a given fixed data set, said method comprising: generating a hierarchical partition of kernels, each of said kernels having a fixed location at a data point in said fixed data set; creating a copy of said data set to create a set of dynamic data points; iteratively moving said dynamic data points to approximate kernel density modes by iteratively until convergence performing a first method comprising: generating an initial hierarchical partition of said dynamic data points; generating a block partition in the product space of fixed kernels and dynamic data points, a block in said block partition containing one or more kernels grouped together by said hierarchical partition of said fixed kernels and one or more dynamic data points grouped together by said hierarchical partition of said dynamic data points; performing an expectation step to compute a variational distribution assigning the same variational membership probability to all fixed kernels within a block for all dynamic data points in the same said block from said block partition; performing a variational maximization step that updates said dynamic data points towards said kernel density modes; at convergence, assigning data points to same cluster when corresponding dynamic data points have converged to a same mode.