高斯消去法python代码
时间: 2025-01-24 16:44:25 浏览: 32
### 高斯消去法的 Python 实现
以下是使用 NumPy 库来实现高斯消去法的一个例子[^1]:
```python
import numpy as np
def gaussian_elimination(A, b):
n = len(b)
for i in range(n):
max_row = i + np.argmax(np.abs(A[i:, i]))
A[[i, max_row]] = A[[max_row, i]]
b[[i, max_row]] = b[[max_row, i]]
for j in range(i + 1, n):
factor = A[j][i] / A[i][i]
for k in range(i, n):
A[j][k] -= factor * A[i][k]
b[j] -= factor * b[i]
x = np.zeros_like(b, dtype=np.double)
if not np.allclose(0, A[n-1, n-1]):
x[-1] = b[-1] / A[-1, -1]
for i in range(n-2, -1, -1):
s = sum(A[i][j] * x[j] for j in range(i, n))
x[i] = (b[i] - s) / A[i][i]
return x
A = np.array([[2., 1., -1.], [-3., -1., 2.], [-2., 1., 2.]])
b = np.array([8., -11., -3.])
solution = gaussian_elimination(A.copy(), b.copy())
print(solution)
```
此代码实现了高斯消去算法并求解线性方程组 Ax=b。矩阵 `A` 和向量 `b` 是输入参数,函数返回的是未知数向量 `x`。
阅读全文
相关推荐

















