add spectral clustering algorithm