def clean_basis(basis,traj_edges,delay,orthogonalize=True):
# Normalize the eigenvectors
N,k = np.shape(basis)
t_0_indices, t_lag_indices = start_stop_indices(traj_edges,delay)
evec_norm = np.linalg.norm(basis,axis=0)
basis *= np.sqrt(N)/evec_norm
# Calculate orthogonal coefficients
if orthogonalize:
basis_t_0 = basis[t_0_indices]
Q,R = spl.qr(basis_t_0)
R_sub = R[:k,:k]
basis = np.dot(basis,R_sub)
return basis
评论列表
文章目录