def orthoProjection(X, n):
# check if X is a subspace of the original space
if rank(X) < n:
P = X.dot(la.inv(X.conjugate().T.dot(X))).dot(X.conjugate().T)
# return: orthogonal projection onto subspace X, orthogonal projection X's orthogonal complement subspace
return P, np.eye(P.shape[0]) - P
else:
raise Exception('not a subspace')
# projection transformation from original space onto its subspace X along its completement Y
评论列表
文章目录