给定公式:
a = S w a = S w a=Sw
其中:
- a a a 是已知向量,
- S S S 是已知矩阵,
- w w w 是未知向量。
我们的目标是求解 w w w,即将 w w w 表示为 a a a 和 S S S 的函数。
情况 1:矩阵 S S S 可逆
如果矩阵 S S S 是可逆矩阵 ,即 S S S 是方阵(行数等于列数)且行列式不为零,那么 S S S 存在逆矩阵 S − 1 S^{-1} S−1。在这种情况下,可以直接求解:
w = S − 1 a \boxed{w = S^{-1} a} w=S−1a
步骤:
-
计算 S S S 的逆矩阵 S − 1 S^{-1} S−1:
- 仅当 S S S 为方阵且满秩(行列式不为零)时,逆矩阵 S − 1 S^{-1} S−1 存在。
-
计算 w w w:
w = S − 1 a w = S^{-1} a w=S−1a
示例:
设:
S = ( 2 1 0 1 ) , a = ( 5 1 ) S = \begin{pmatrix} 2 & 1 \\ 0 & 1 \end{pmatrix}, \quad a = \begin{pmatrix} 5 \\ 1 \end{pmatrix} S=(2011),a=(51)
计算 S − 1 S^{-1} S−1:
S − 1 = ( 1 2 − 1 2 0 1 ) S^{-1} = \begin{pmatrix} \frac{1}{2} & -\frac{1}{2} \\ 0 & 1 \end{pmatrix} S−1=(210−211)
求解 w w w:
w = S − 1 a = ( 1 2 − 1 2 0 1 ) ( 5 1 ) = ( 1 2 × 5 − 1 2 × 1 1 × 1 ) = ( 2 1 ) w = S^{-1} a = \begin{pmatrix} \frac{1}{2} & -\frac{1}{2} \\ 0 & 1 \end{pmatrix} \begin{pmatrix} 5 \\ 1 \end{pmatrix} = \begin{pmatrix} \frac{1}{2} \times 5 - \frac{1}{2} \times 1 \\ 1 \times 1 \end{pmatrix} = \begin{pmatrix} 2 \\ 1 \end{pmatrix} w=S−1a=(210−211)(51)=(21×5−21×11×1)=(21)
情况 2:矩阵 S S S 不可逆或非方阵
如果矩阵 S S S 不可逆 (行列式为零)或是一个非方矩阵 (行数不等于列数),则不能直接计算逆矩阵。在这种情况下,可以使用广义逆矩阵(Moore-Penrose 伪逆)来求解。
求解步骤:
-
计算 S S S 的伪逆矩阵 S + S^{+} S+:
- S + S^{+} S+ 满足 S + = ( S T S ) − 1 S T S^{+} = (S^T S)^{-1} S^T S+=(STS)−1ST,当 S T S S^T S STS 可逆时。
- 对于更一般的情况,可以使用奇异值分解(SVD)来计算 S + S^{+} S+。
-
计算 w w w:
w = S + a \boxed{w = S^{+} a} w=S+a
注意:
- 当方程组有唯一解 时, w = S + a w = S^{+} a w=S+a 给出唯一解。
- 当方程组有无穷多解 时, w = S + a w = S^{+} a w=S+a 给出最小范数解。
- 当方程组无解 (即 a a a 不在 S S S 的列空间内)时, w = S + a w = S^{+} a w=S+a 给出使 ∥ S w − a ∥ 2 \| S w - a \|_2 ∥Sw−a∥2 最小的解。
示例:
设:
S = ( 1 2 3 4 5 6 ) , a = ( 7 8 9 ) S = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix}, \quad a = \begin{pmatrix} 7 \\ 8 \\ 9 \end{pmatrix} S= 135246 ,a= 789
S S S 是一个 3 × 2 3 \times 2 3×2 的矩阵,无法直接求逆。
计算 S S S 的伪逆 S + S^{+} S+:
-
计算 S T S S^T S STS:
S T S = ( 1 3 5 2 4 6 ) ( 1 2 3 4 5 6 ) = ( 35 44 44 56 ) S^T S = \begin{pmatrix} 1 & 3 & 5 \\ 2 & 4 & 6 \end{pmatrix} \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix} = \begin{pmatrix} 35 & 44 \\ 44 & 56 \end{pmatrix} STS=(123456) 135246 =(35444456) -
计算 ( S T S ) − 1 (S^T S)^{-1} (STS)−1:
( S T S ) − 1 = 1 35 × 56 − 4 4 2 ( 56 − 44 − 44 35 ) ≈ ( 1.4 − 1.1 − 1.1 0.875 ) (S^T S)^{-1} = \frac{1}{35 \times 56 - 44^2} \begin{pmatrix} 56 & -44 \\ -44 & 35 \end{pmatrix} \approx \begin{pmatrix} 1.4 & -1.1 \\ -1.1 & 0.875 \end{pmatrix} (STS)−1=35×56−4421(56−44−4435)≈(1.4−1.1−1.10.875) -
计算 S + = ( S T S ) − 1 S T S^{+} = (S^T S)^{-1} S^T S+=(STS)−1ST:
S + = ( 1.4 − 1.1 − 1.1 0.875 ) ( 1 3 5 2 4 6 ) = ( − 0.2 0 0.2 0.15 0 − 0.15 ) S^{+} = \begin{pmatrix} 1.4 & -1.1 \\ -1.1 & 0.875 \end{pmatrix} \begin{pmatrix} 1 & 3 & 5 \\ 2 & 4 & 6 \end{pmatrix} = \begin{pmatrix} -0.2 & 0 & 0.2 \\ 0.15 & 0 & -0.15 \end{pmatrix} S+=(1.4−1.1−1.10.875)(123456)=(−0.20.15000.2−0.15) -
计算 w = S + a w = S^{+} a w=S+a:
w = ( − 0.2 0 0.2 0.15 0 − 0.15 ) ( 7 8 9 ) = ( ( − 0.2 ) × 7 + 0 × 8 + 0.2 × 9 0.15 × 7 + 0 × 8 + ( − 0.15 ) × 9 ) = ( 0.4 0 ) w = \begin{pmatrix} -0.2 & 0 & 0.2 \\ 0.15 & 0 & -0.15 \end{pmatrix} \begin{pmatrix} 7 \\ 8 \\ 9 \end{pmatrix} = \begin{pmatrix} (-0.2) \times 7 + 0 \times 8 + 0.2 \times 9 \\ 0.15 \times 7 + 0 \times 8 + (-0.15) \times 9 \end{pmatrix} = \begin{pmatrix} 0.4 \\ 0 \end{pmatrix} w=(−0.20.15000.2−0.15) 789 =((−0.2)×7+0×8+0.2×90.15×7+0×8+(−0.15)×9)=(0.40)
总结
- 当 S S S 可逆时 , w = S − 1 a w = S^{-1} a w=S−1a。
- 当 S S S 不可逆或非方阵时 , w = S + a w = S^{+} a w=S+a,其中 S + S^{+} S+ 是 S S S 的伪逆矩阵。
注意事项
- 求逆矩阵的条件 :只有当矩阵 S S S 满足可逆条件(方阵且满秩)时,才可以直接求逆。
- 计算伪逆的方法 :对于任意矩阵 S S S,都可以使用奇异值分解(SVD)来计算其伪逆 S + S^{+} S+。
- 数值计算:在实际计算中,建议使用数学软件(如 MATLAB、NumPy 等)来计算逆矩阵或伪逆矩阵,以避免手算过程中的误差。