def learnQuic(tt_graph,lbda=1e3):
  means = tt_graph.means()
  rows = tt_graph.rows()
  cols = tt_graph.cols()
  R = tt_graph.variances()
  U = tt_graph.covariances()
  (D,P) = covsel_quick(R, U, rows, cols, lbda)
  return GMRF(tt_graph.indexes, tt_graph.rows(), tt_graph.cols(),
              means, D, P)
Beispiel #2
0
#Q = random_projection_cholmod(D, U, rows, cols, k, factor)
Q = random_projection_cholmod_csc(Xs, k=1000)
A = Q.T
print A.shape
R = np.sum(A*A,axis=1)
U = np.sum(A[rows]*A[cols],axis=1)
R_ = W.diagonal()
U_ = W[rows,cols]

#X = build_sparse(D, P, rows, cols)
#(eis,_)=eigsh(X, k=1, sigma=-1, which='LM')
#ei = eis[0]

#is_psd_dense(R, U, rows, cols)
#is_psd_cholmod(R, U, rows, cols)

(R,U) = inv_dense(D, P, rows, cols)

W = la.inv(X)

(D1,P1) = covsel_quick(R, U, rows, cols)

(D2,P2) = covsel_cvx_dense(R, U, rows, cols,num_iterations=150)
X2 = build_dense(D2, P2, rows, cols)

factor = analyze(Xs)
(D3,P3) = covsel_cvx_cholmod(R, U, rows, cols,
                             k=10000,num_iterations=100,
                             factor=factor,finish_early=False)