如何求逆矩阵

作为一只数学基础一般般的程序猿,有时候连怎么求逆矩阵都不记得,之前在wikiHow上看了一篇不错的讲解如何求3x3矩阵的逆矩阵的文章,特转载过来供大家查询以及自己备忘。当然这个功能在matlab里面非常容易实现,只要使用inv函数或A^-1即可,但是有时候参加个考试什么的还是要笔算的哈哈~


假设有如下的3x3矩阵,第一步需要求出det(M) ,也就是矩阵M的行列式的值。行列式的值通常显示为逆矩阵的分母值,如果行列式的值为零,说明矩阵不可逆。


什么?行列式怎么算也不记得了?我特意翻出了当年的数学课件。



好的,下面是第二步求出转置矩阵。矩阵的转置体现在沿对角线作镜面反转,也就是将元素 (i,j) 与元素 (j,i) 互换。



第三步,求出每个2X2小矩阵的行列式的值。



第四步,将它们表示为如图所示的辅助因子矩阵,并将每一项与显示的符号相乘。这样就得到了伴随矩阵(有时也称为共轭矩阵),用 Adj(M) 表示。



第五步,由前面所求出的伴随矩阵除以第一步求出的行列式的值,从而得到逆矩阵。



注意,这个方法也可以应用于含变量或未知量的矩阵中,比如代数矩阵 M 和它的逆矩阵 M^-1 。


伴随矩阵是辅助因子矩阵的转置,这就是为什么在第二步中我们要将矩阵转置以求出辅助因子的转置矩阵。

可以通过将 M 与 M^-1相乘检验结果。你应该能够发现,M*M^-1 = M^-1*M = I. I 是单位阵,其对角线上的元素都为1,其余元素全为0。否则,你可能在某一步出了错。

参考:

http://202.117.122.42:8080/maths1/new-xd-%20Home%20-%20physics%20at%20_files%5Clinear%5Cgongchengban%5CChapter03.pdf

### 计算逆矩阵的方法 在处理线性代数问题时,计算逆矩阵是一项重要的技能。对于给定的一个方阵 \( A \),其逆矩阵记作 \( A^{-1} \),满足关系式: \[ AA^{-1}=A^{-1}A=I \] 其中 \( I \) 是相同维度下的单位矩阵。 #### 方法一:伴随矩阵法 利用伴随矩阵逆矩阵是一种经典的方式。具体过程如下: 设有一个 n 阶可逆矩阵 \( A=(a_{ij}) \),则该矩阵的逆可以通过下面公式得到: \[ A^{-1}=\frac{1}{\det(A)}C^{T}, \quad C=[c_{ji}] \] 这里 \( c_{ji} \) 表示元素 \( a_{ij} \) 的余子式的值组成的矩阵再取转置后的结果称为伴随矩阵 \( C^T \)[^1]。 #### 方法二:高斯-若尔当消元法 此方法基于增广矩阵的概念,在原始矩阵右侧附加一个同阶别的单位矩阵形成新的扩增矩阵,并对该扩展矩阵执行一系列初等行变换直到左侧部分变成单位矩阵为止,则此时右边的部分即为所得的原矩阵逆矩阵。 #### 使用编程语言实现 除了手动推导外,还可以借助计算机程序快速获得复杂矩阵逆矩阵。例如,在 R 语言环境中,可以直接调用内置函数 `solve()` 或者 `ginv()` 来完成这项工作;而在 Python 中有 NumPy 库提供了类似的接口如 numpy.linalg.inv()[^4]。 ```r # R code example to find inverse of matrix using solve function inv_matrix <- solve(matrix(c(1,2,3,4),nrow = 2)) print(inv_matrix) ``` ```python import numpy as np # Python code example to calculate the inverse of a matrix with numpy matrix_a = np.array([[1., 2.], [3., 4.]]) inverse_of_a = np.linalg.inv(matrix_a) print(inverse_of_a) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值