如何重排矩阵方程求解x?已知A=xᵀBx求矩阵x的方法咨询
嘿,这个问题挺常见的,我来一步步给你拆解清楚:
直接给方程两边左乘或右乘B⁻¹都行不通,核心问题是矩阵乘法不满足交换律,而且这么做会丢失关键信息。举个例子:如果你右乘B⁻¹,右边变成$x^T B x B{-1}$,这玩意儿没法简化成$xT x$(除非B和x可交换,但这不是必然的);如果左乘B⁻¹,左边是$B{-1}A$,右边是$B{-1}x^T B x$,同样没法直接关联到x的简单形式。更关键的是,$x^T x$一定是半正定对称矩阵,但$B^{-1}A$只有当A和B可交换时才是对称的——所以这个操作根本得不到有效的等价方程,完全走不通。
首先得明确:咱们默认A、B都是正定对称矩阵(毕竟只是对角元正的对称矩阵不一定正定,比如$\begin{bmatrix}1&2\2&1\end{bmatrix}$对角元都是1,但有负特征值,这种情况下方程可能无解),下面基于这个前提来解:
1. 对正定矩阵B做平方根分解
因为B是对称正定矩阵,它可以分解为对称正定平方根:$B = B^{1/2} B{1/2}$,其中$B{1/2}$是唯一的对称正定矩阵,满足$(B{1/2})2 = B$。你也可以用Cholesky分解$B = LL^T$(L是下三角正定矩阵),本质上是一回事,都是把B拆成两个相同(或转置)正定矩阵的乘积。
2. 变量替换简化方程
把B的平方根分解代入原方程:
$$
A = x^T B x = x^T B^{1/2} B^{1/2} x = (B^{1/2} x)^T (B^{1/2} x)
$$
咱们令$y = B^{1/2} x$,方程瞬间就简化成了:
$$
A = y^T y
$$
是不是清爽多了?
3. 求解y的所有可能形式
现在问题转化为找所有方阵y,使得$y^T y = A$。因为A是对称正定矩阵,它有唯一的对称正定平方根$A{1/2}$。这里有个关键结论:**对于任意正交矩阵Q(满足$QT Q = I$),$y = Q A^{1/2}$都是这个方程的解**。咱们验证一下:
$$
y^T y = (Q A{1/2})T (Q A^{1/2}) = A^{1/2} Q^T Q A^{1/2} = A^{1/2} I A^{1/2} = A
$$
而且所有满足$y^T y = A$的方阵y都可以表示成这种形式(通过SVD分解就能证明,这里就不展开细节了,记住这个结论就行)。
4. 回代得到x的解
因为$y = B^{1/2} x$,两边左乘$B{-1/2}$(B正定,所以$B{-1/2}$存在且也是对称正定矩阵),就得到:
$$
x = B^{-1/2} y = B^{-1/2} Q A^{1/2}
$$
这里Q是任意正交矩阵,也就是说原方程的解有无穷多个,每个正交矩阵Q对应一个解x。
- 如果要求x是对称正定矩阵,那情况会特殊一点:只有当A和B可交换时,才能找到对称正定的x,此时Q取单位矩阵I,$x = (B{-1}A){1/2}$(因为$B{-1}A$是对称正定的,它的平方根就是满足要求的解)。如果A和B不可交换,$B{-1/2} A^{1/2}$不是对称矩阵,这时候就没有对称正定的x解。
- 如果A或B不是正定矩阵,只是对角元正的对称矩阵,那方程可能无解。比如B有负特征值,$x^T B x$可能会出现负的对角元,但A的对角元都是正的,这时候就不存在这样的x。
内容的提问来源于stack exchange,提问作者Karol Borkowski




