高斯列主元消去法python代码
时间: 2023-11-20 07:59:39 浏览: 150
以下是基于Python的高斯列主元消去法的代码实现:
```python
import numpy as np
def gauss_elimination(A, b):
n = len(A)
# 构造增广矩阵
Ab = np.concatenate((A, b.reshape(n, 1)), axis=1)
# 消元过程
for i in range(n):
# 选主元
max_index = abs(Ab[i:, i]).argmax() + i
if Ab[max_index, i] == 0:
raise ValueError("Matrix is singular.")
# 交换行
if max_index != i:
Ab[[i, max_index]] = Ab[[max_index, i]]
# 消元
for j in range(i+1, n):
Ab[j] = Ab[j] - Ab[i] * Ab[j, i] / Ab[i, i]
# 回代过程
x = np.zeros(n)
for i in range(n-1, -1, -1):
x[i] = (Ab[i, -1] - Ab[i, :-1] @ x) / Ab[i, i]
return x
```
其中,A为系数矩阵,b为常数向量,返回值为方程组的解向量x。
阅读全文