def __init__(self, X, kern, M):
super(SVD, self).__init__("SVD")
start = time.time()
self.X = X
self.kern = kern
K = kern.K(X, X)
N = np.shape(X)[0]
#(self.U, self.Sigma, self.VT) = fb.pca(K, M)#, n_iter=1, l=M)
self.U, self.Sigma, self.VT = randomized_svd(K, M)
self.precon = np.dot(self.U, np.dot(np.diag(self.Sigma), self.VT)) + self.kern.noise*np.identity(N)
self.duration = time.time() - start
评论列表
文章目录