def _eig_decomposition(self, A, largest=True):
n_features = A.shape[0]
if (largest):
eig_range = (n_features - self.n_components, n_features - 1)
else:
eig_range = (0, self.n_components - 1)
eigvals, eigvecs = spla.eigh(A, eigvals=eig_range)
if (largest):
eigvals = eigvals[::-1]
eigvecs = sp.fliplr(eigvecs)
return eigvals, eigvecs
评论列表
文章目录