r语言 - 查找投影矩阵以创建零和向量



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

我想找到一个投影矩阵Z这样它将任何x向量投影到子空间 w(即向量总和为 0 的子空间)上。

是否有 R 函数来执行此操作?

该问题没有指定如何提供w,但如果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

注意 重读问题后已修改。

最新更新