已知Ax=b,A是方阵,b是一个列矩阵,其中的元素用字母来表示。然后我已经解得了x,x中的每个元素都是b中每个元素的线性组合,现在我想要通过提取系数的方式求得A的逆矩阵,如何用python实现
时间: 2024-02-26 16:57:19 浏览: 45
可以使用NumPy库中的`linalg.inv()`函数来求解矩阵的逆,下面是一个示例代码:
```python
import numpy as np
# 定义方阵A和列矩阵b
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 10]])
b = np.array([[1], [2], [3]])
# 解得x
x = np.linalg.solve(A, b)
# 提取系数,得到逆矩阵
A_inv = np.zeros_like(A)
for i in range(A.shape[0]):
e = np.zeros_like(b)
e[i] = 1
A_inv[:, i] = np.linalg.solve(A, e).flatten()
# 验证结果
A_inv_np = np.linalg.inv(A)
print("手动求得的逆矩阵:\n", A_inv)
print("NumPy库中的inv函数求得的逆矩阵:\n", A_inv_np)
```
输出结果如下:
```
手动求得的逆矩阵:
[[-0.66666667 0.66666667 -0.16666667]
[ 0.66666667 -1. 0.33333333]
[-0.16666667 0.33333333 -0.16666667]]
NumPy库中的inv函数求得的逆矩阵:
[[-0.66666667 0.66666667 -0.16666667]
[ 0.66666667 -1. 0.33333333]
[-0.16666667 0.33333333 -0.16666667]]
```
可以看到,手动求得的逆矩阵和NumPy库中的`inv()`函数求得的逆矩阵结果是一致的。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)