我有向量w
的子空间,其元素总和为0。
我想找到一个投影矩阵Z
,以便将任何x
向量投影到子空间w上(即向量求和为0的子空间)。
是否有R功能可以做到这一点?
答案 0 :(得分:0)
问题没有说明w
是如何提供的,但如果w
是一个跨越空间的完整等级的矩阵,那么
Z <- w %*% solve(crossprod(w), t(w))
如果w
具有正交列,则上面的行会缩减为:
Z <- tcrossprod(w)
另一种可能性是使用pracma
包,在这种情况下w
不需要满级:
library(pracma)
Z <- tcrossprod(orth(w))
如果w
是所有 n向量的总和为零的空间,那么:
Z <- diag(n) - matrix(1, n, n) / n
注意重读问题后修改过。