1. A method of partitioning a weighted combinatorial graph representative of a dataset, comprising: generating a generalized Laplacian matrix corresponding to the combinatorial graph; computing the eigenstructure of said generalized Laplacian matrix; determining if an end criterion is satisfied, said end criterion being satisfied when the combinatorial graph is partitioned, and if said end criterion is not satisfied; calculating new values for at least some of said plurality of weighting factors using said eigenstructure; updating the combinatorial graph with said new values for at least some of said weighting factors; and returning to said generating step.