在没有正交基的情况下有效地去除对子空间的投影

计算科学 线性代数 投影
2021-12-13 02:08:43

我有许多向量和另一个向量,它们都是线性独立的,但不是正交的。我需要的投影,即我需要找到向量使得,我需要只执行一次v1,,vnwV:=span(v1,,vn)wVww~w~,v=0  vVww~VV

请注意,标量积不是规范标量积,并且成本高于接触标量积会非常乏味,因此出于这个问题的目的,您可以将其视为黑盒。n

到目前为止,我对此的最佳解决方案是将 Gram–Schmidt 正交归一化应用于集合,而不归一化最后一个向量,即换句话说,我首先正交归,然后分别删除获得v1,,vn,ww~v1,,vnv^1,,v^nwv^1,,v^nw~

这样做,我需要计算标量积(或规范),只是为了将正交化作为最后一步的先决条件,这仅涉及标量积。感觉可能有一些更有效的方法可以做到这一点,但我找不到。n(n1)2Vn

2个回答

简单地计算投影怎么样?w沿补V?

w~=[IV(VVT)1VT]w,
在哪里V是具有基向量的矩阵V作为列。w~拥有您要寻找的所有属性。

如果你在非标准的标量积中,那么就有一个对称的正矩阵M这导致了这个标量产品。在这种情况下,投影读取

w~=[IV(VTMV)1VTM]w.

没关系,如果标量产品是一个黑盒子。你只需要它的实现。

编辑:成本主要在于解决(VTMV). 如果应用 CG,将需要大量的标量产品评估,这些评估与n2O(n)评价时间O(n)迭代。(阅读评论)

从我的评论转换为 Jan 的答案的答案。

为了固定尺寸和符号,让我们说V是一个m×n带有向量的矩阵vi作为列。

正如 Jan 所说,我们必须计算

w~=[IV(VTMV)1VTM]w,
在哪里M是对称的m×m与标量积相关的矩阵。

如果有可能解决这个问题O(n)对标量积的黑盒调用M,就像OP问的那样,那么这意味着我们可以解决问题的版本M=IO(mn),因为现在每个标量产品成本O(m). 这似乎要求太多,因为计算投影的常用算法(QR,SVD,求解正规方程(VTV)1VTw明确...)所有费用O(mn2).

这个答案是评论的修正和更正版本:在评论中我声称计算标量产品成本O(m)对于每个矩阵M,但转念一想,这通常是不正确的。为了M=I不过没关系。