python 用高斯消元法求逆矩阵
时间: 2023-07-01 19:22:40 浏览: 100
高斯消元法矩阵求逆
5星 · 资源好评率100%
以下是 Python 代码实现高斯消元法求逆矩阵:
```python
import numpy as np
def gauss_jordan(matrix):
n = len(matrix)
inverse = np.identity(n)
for i in range(n):
if matrix[i][i] == 0:
for j in range(i+1, n):
if matrix[j][i] != 0:
matrix[i], matrix[j] = matrix[j], matrix[i]
inverse[i], inverse[j] = inverse[j], inverse[i]
break
if matrix[i][i] == 0:
raise ValueError("Matrix is singular.")
inverse[i] = inverse[i]/matrix[i][i]
matrix[i] = matrix[i]/matrix[i][i]
for j in range(n):
if i != j:
inverse[j] = inverse[j] - matrix[j][i]*inverse[i]
matrix[j] = matrix[j] - matrix[j][i]*matrix[i]
return inverse
```
其中,`matrix` 是输入的矩阵,函数返回的是矩阵的逆矩阵。如果矩阵是奇异矩阵(即不可逆矩阵),会抛出 `ValueError` 异常。
阅读全文