spectral substruction alg