找到投影矩阵以创建零和矢量

时间:2014-11-29 21:20:42

标签: r matrix projection

我有向量w的子空间,其元素总和为0。

我想找到一个投影矩阵Z,以便将任何x向量投影到子空间w上(即向量求和为0的子空间)。

是否有R功能可以做到这一点?

1 个答案:

答案 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

注意重读问题后修改过。