法向量a场景下,如何从aᵀx = b中分离x?推导正确性验证
首先,你的推导思路方向是对的,但有一个关键细节需要修正——咱们一步步理清楚:
前提明确
首先,a作为法向量,必然是非零向量(如果a是零向量,等式要么无解,要么所有x都满足,没有实际意义)。我们要找的是满足$a^T x = b$的解,注意这个等式的解是一个n维超平面(当a是n维向量时),而你给出的正确解是这个超平面上离原点最近的唯一解(最小范数解),也就是沿a方向的投影点。
你的推导修正
你写出的$x = (aaT){-1}ab$,问题出在$(aaT)$的可逆性上:当a是n维向量(n>1)时,$aaT$是一个n×n的秩1矩阵,它的行列式为0,是不可逆的,所以不能直接用普通矩阵逆。不过如果我们用Moore-Penrose伪逆(针对不可逆矩阵的广义逆)来替代普通逆,你的式子就能转化为正确解:
对于非零向量a,$aa^T$的Moore-Penrose伪逆是:
$$(aaT)+ = \frac{aaT}{|a|_24}$$
将其代入你的式子:
$$
\begin{align*}
x &= (aaT)+ ab \
&= \frac{aaT}{|a|_24} \cdot ab \
&= \frac{a(a^T a)b}{|a|_2^4} \
&= \frac{a \cdot |a|_2^2 \cdot b}{|a|_2^4} \
&= \frac{b}{|a|_2^2}a
\end{align*}
$$
这样就和正确解完全一致了!
更直接的推导方式
其实不用涉及矩阵逆/伪逆,用向量点积的性质推导会更简单:
假设我们要找的解x是a的标量倍数(因为我们要找沿a方向的最小范数解),即$x = ka$(k是待求的标量),将其代入原等式:
$$a^T x = a^T(ka) = k(a^T a) = k|a|_2^2 = b$$
直接解出k:
$$k = \frac{b}{|a|_2^2}$$
因此得到:
$$x = \frac{b}{|a|_2^2}a$$
这个过程更直观,也避开了矩阵不可逆的问题。
内容的提问来源于stack exchange,提问作者jian

