1. A method of determining clusters of data within a dataset, the dataset is represented by a plurality of multidimensional data entries, the method comprising: (a) spanning a space, represented by a plurality of points; (b) determining a density function over said space; (c) associating a potential to said density function; (d) locating a plurality of local minima of said potential; and (e) for each of said plurality of local minima, attributing at least one of said points; thereby determining clusters of data within the dataset.