矩阵的逆可以通过多种方法计算,具体方法根据矩阵的阶数和结构有所不同。以下是常用的计算方法及公式:
线性代数学过的方法
1. 伴随矩阵法(Adjugate Matrix)
适用于低阶矩阵(如二阶、三阶),公式为:
A−1=1det(A)⋅Adj(A)
A^{-1} = \frac{1}{\det(A)} \cdot \text{Adj}(A)
A−1=det(A)1⋅Adj(A)
其中:
- det(A)\det(A)det(A) 是矩阵 AAA 的行列式;
- Adj(A)\text{Adj}(A)Adj(A) 是 AAA 的伴随矩阵,其元素为 AAA 的代数余子式转置。
示例(二阶矩阵):
若 A=(abcd)A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}A=(acbd),则:
A−1=1ad−bc(d−b−ca)
A^{-1} = \frac{1}{ad - bc} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix}
A−1=ad−bc1(d−c−ba)
(要求 ad−bc≠0ad - bc \neq 0ad−bc=0).
2. 初等行变换法(高斯-若尔当消元法)
通过增广矩阵的行变换将 [A∣I][A | I][A∣I] 转换为 [I∣A−1][I | A^{-1}][I∣A−1],步骤如下:
- 构造增广矩阵 [A∣I][A | I][A∣I];
- 通过初等行变换(交换行、数乘行、行加减)将左半部分化为单位矩阵;
- 右半部分即为 A−1A^{-1}A−1。
公式表示:
[A∣I]→行变换[I∣A−1]
[A | I] \xrightarrow{\text{行变换}} [I | A^{-1}]
[A∣I]行变换[I∣A−1]
3. 分块矩阵求逆
适用于分块矩阵,公式为:
A=(A11A12A21A22),A−1=((A11−A12A22−1A21)−1⋯⋯⋯)
A = \begin{pmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{pmatrix}, \quad A^{-1} = \begin{pmatrix} (A_{11} - A_{12}A_{22}^{-1}A_{21})^{-1} & \cdots \\ \cdots & \cdots \end{pmatrix}
A=(A11A21A12A22),A−1=((A11−A12A22−1A21)−1⋯⋯⋯)
具体分块逆公式需根据子矩阵的逆和舒尔补(Schur complement)计算.
特殊分块公式(四块求逆):
A−1=((A11⋅2)−1−(A11⋅2)−1A12A22−1−A22−1A21(A11⋅2)−1A22−1+A22−1A21(A11⋅2)−1A12A22−1)
A^{-1} = \begin{pmatrix} (A_{11\cdot 2})^{-1} & -(A_{11\cdot 2})^{-1}A_{12}A_{22}^{-1} \\ -A_{22}^{-1}A_{21}(A_{11\cdot 2})^{-1} & A_{22}^{-1} + A_{22}^{-1}A_{21}(A_{11\cdot 2})^{-1}A_{12}A_{22}^{-1} \end{pmatrix}
A−1=((A11⋅2)−1−A22−1A21(A11⋅2)−1−(A11⋅2)−1A12A22−1A22−1+A22−1A21(A11⋅2)−1A12A22−1)
其中 A11⋅2=A11−A12A22−1A21A_{11\cdot 2} = A_{11} - A_{12}A_{22}^{-1}A_{21}A11⋅2=A11−A12A22−1A21.
4. 特殊矩阵的逆
- 对角矩阵:若 A=diag(a11,…,ann)A = \text{diag}(a_{11}, \dots, a_{nn})A=diag(a11,…,ann),则:
A−1=diag(a11−1,…,ann−1) A^{-1} = \text{diag}(a_{11}^{-1}, \dots, a_{nn}^{-1}) A−1=diag(a11−1,…,ann−1) - 正交矩阵:若 AAA 是正交矩阵,则 A−1=ATA^{-1} = A^TA−1=AT.
- Woodbury 恒等式:适用于低秩修正矩阵:
(A+UCV)−1=A−1−A−1U(C−1+VA−1U)−1VA−1 (A + UCV)^{-1} = A^{-1} - A^{-1}U(C^{-1} + VA^{-1}U)^{-1}VA^{-1} (A+UCV)−1=A−1−A−1U(C−1+VA−1U)−1VA−1
(要求 AAA 和 CCC 可逆).
5. 凯莱-哈密尔顿定理法
利用矩阵特征多项式求逆。若 AAA 的特征多项式为:
p(λ)=λn+cn−1λn−1+⋯+c0=0
p(\lambda) = \lambda^n + c_{n-1}\lambda^{n-1} + \dots + c_0 = 0
p(λ)=λn+cn−1λn−1+⋯+c0=0
则 A−1A^{-1}A−1 可表示为:
A−1=−1c0(An−1+cn−1An−2+⋯+c1I)
A^{-1} = -\frac{1}{c_0}(A^{n-1} + c_{n-1}A^{n-2} + \dots + c_1I)
A−1=−c01(An−1+cn−1An−2+⋯+c1I)
(要求 c0≠0c_0 \neq 0c0=0).
注意事项:
- 可逆条件:矩阵必须是方阵且行列式 det(A)≠0\det(A) \neq 0det(A)=0.
- 计算复杂度:伴随矩阵法对高阶矩阵计算量极大,推荐使用初等变换法或分块法.
- 验证:计算后需验证 AA−1=IAA^{-1} = IAA−1=I 以确保正确性.
LU分解(Matlab等常用)
以上方法可根据矩阵的具体形式选择使用。对于大型矩阵,数值方法(如LU分解)更高效
以下是关于LU分解法的详细说明和示例,结合原理、步骤及应用场景:
LU分解的核心原理
LU分解是将方阵( A )分解为一个下三角矩阵( L )(对角线元素为1)和一个上三角矩阵( U )的乘积,即:
A=LU
A = LU
A=LU
若分解过程中需要行交换(保证数值稳定性),则表示为:
PA=LU
PA = LU
PA=LU
其中( P )为置换矩阵。
LU分解的步骤(高斯消元法)
以3×3矩阵为例,步骤如下:
-
初始化:
- ( L )初始化为单位矩阵,( U )初始化为原矩阵( A )。
- 例如,若( A = \begin{pmatrix} 2 & 3 & 1 \ 4 & 7 & 1 \ 6 & 7 & 3 \end{pmatrix} ),则:
L=(100010001),U=A L = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}, \quad U = A L=100010001,U=A
-
消元过程:
-
第一列消元:
- 计算消元系数( m_{21} = U_{21}/U_{11} = 4/2 = 2 ),更新( L )的第2行第1列为2。
- 更新( U )的第2行:( U_2 = U_2 - 2U_1 ),得到( U_2 = [0, 1, -1] )。
- 同理处理第三行,得到( L_{31} = 3 ),更新( U_3 = [0, -2, 0] )。
-
第二列消元:
- 计算( m_{32} = U_{32}/U_{22} = (-2)/1 = -2 ),更新( L_{32} = -2 )。
- 更新( U_3 = U_3 - (-2)U_2 ),得到( U_3 = [0, 0, 2] )。
-
-
最终分解结果:
L=(1002103−21),U=(23101−1002) L = \begin{pmatrix} 1 & 0 & 0 \\ 2 & 1 & 0 \\ 3 & -2 & 1 \end{pmatrix}, \quad U = \begin{pmatrix} 2 & 3 & 1 \\ 0 & 1 & -1 \\ 0 & 0 & 2 \end{pmatrix} L=12301−2001,U=2003101−12
验证:( A = LU )。
LU分解的应用场景
-
解线性方程组:
- 将( Ax = b )分解为两步:
- 前向替换:解( Ly = Pb )得到( y );
- 后向替换:解( Ux = y )得到( x )。
- 将( Ax = b )分解为两步:
-
计算行列式:
- 因( \det(A) = \det(L)\det(U) ),而( \det(L) = 1 ),故只需计算( \det(U) ),即对角线元素的乘积。
-
求逆矩阵:
- 通过求解( AX = I )的多个方程组,得到逆矩阵( X )。
-
数值稳定性优化:
- 部分主元法(PLU分解)通过行交换避免主元为0,减少舍入误差。
示例:解方程组
考虑方程组:
{2x+3y+z=84x+7y+z=306x+7y+3z=25
\begin{cases}
2x + 3y + z = 8 \\
4x + 7y + z = 30 \\
6x + 7y + 3z = 25
\end{cases}
⎩⎨⎧2x+3y+z=84x+7y+z=306x+7y+3z=25
-
LU分解:
- 使用上述分解结果( L )和( U )。
-
前向替换解( Ly = b ):
- ( b = [8, 30, 25]^T ),解得( y = [8, 14, -3]^T )。
-
后向替换解( Ux = y ):
- 最终解为( x = [17, 0, -3]^T )。
数值方法的变体
- Doolittle算法:
- ( L )的对角线为1,直接递推计算( L )和( U )的元素。
- Crout算法:
- ( U )的对角线为1,适用于对称矩阵优化。
- 分块LU分解:
- 针对大型稀疏矩阵,分块处理以提高效率。
注意事项
- 可分解条件:
- 矩阵必须是非奇异的(行列式非零),且所有顺序主子式非零。
- 优化建议:
- 对病态矩阵使用部分主元法(PLU分解),避免数值不稳定。
- 计算复杂度:
- 分解过程为( O(n^3) ),但回代仅需( O(n^2) ),适合多次求解相同系数矩阵的方程组。
通过LU分解,可将复杂矩阵操作简化为三角矩阵运算,广泛应用于工程计算和科学模拟中
2439

被折叠的 条评论
为什么被折叠?



