用Python实现高斯消元法
时间: 2023-11-19 14:50:55 浏览: 33
以下是用Python实现高斯消元法的代码:
```python
import numpy as np
def gauss_elimination(A, b):
n = len(b)
for i in range(n):
# Find pivot row and swap
max_row = i
for j in range(i+1, n):
if abs(A[j][i]) > abs(A[max_row][i]):
max_row = j
A[i], A[max_row] = A[max_row], A[i]
b[i], b[max_row] = b[max_row], b[i]
# Eliminate
for j in range(i+1, n):
factor = A[j][i] / A[i][i]
b[j] -= factor * b[i]
for k in range(i, n):
A[j][k] -= factor * A[i][k]
# Back substitution
x = np.zeros(n)
for i in range(n-1, -1, -1):
x[i] = (b[i] - np.dot(A[i][i+1:], x[i+1:])) / A[i][i]
return x
```