高斯列主元消去法代码python
时间: 2024-09-28 11:11:06 浏览: 38
高斯消元法是一种线性代数中求解线性方程组的常用算法,它通过一系列行初等变换将系数矩阵转换成阶梯形或行最简形矩阵,进而得到方程组的解。以下是使用Python实现高斯消元法的一个简单版本:
```python
def gauss_elimination(A, b):
# A: 系数矩阵,b: 右侧常数向量
n = len(A)
for i in range(n):
# 对于每一行i
if A[i][i] == 0: # 如果对角元素为零,意味着这个方程无法解决,需要处理这种情况
print("Row", i+1, "is singular, cannot solve.")
break
# 消元过程
for j in range(i+1, n):
ratio = A[j][i] / A[i][i]
for k in range(i, n+1): # 注意这里包括n列,因为要更新整个行
A[j][k] -= ratio * A[i][k]
b[i] /= A[i][i] # 更新右侧常数
x = [0] * n # 初始化解向量
for i in range(n-1, -1, -1): # 自底向上填充解
x[i] = (b[i] - sum(A[i][j] * x[j] for j in range(i+1, n))) / A[i][i]
return x
# 使用示例
A = [[4, 2, 1], [2, 1, 1], [1, 3, 2]]
b = [8, 5, 3]
solution = gauss_elimination(A, b)
print("Solution:", solution)
阅读全文