python实现高斯消元法,不要使用 numpy
时间: 2023-11-14 16:11:46 浏览: 53
下面是 Python 实现高斯消元法的代码:
```python
def gauss_elimination(A, b):
n = len(A)
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):
c = A[j][i] / A[i][i]
for k in range(i + 1, n):
A[j][k] -= c * A[i][k]
b[j] -= c * b[i]
# Back substitution
x = [0] * n
for i in range(n - 1, -1, -1):
x[i] = b[i]
for j in range(i + 1, n):
x[i] -= A[i][j] * x[j]
x[i] /= A[i][i]
return x
```
其中,`A` 是系数矩阵,`b` 是常数向量。该函数返回解向量 `x`。