高斯消去法Python代码,有每次消元后的过程
时间: 2024-10-19 14:08:45 浏览: 47
高斯消元法是一种线性代数求解系统线性方程组的经典算法。在Python中,我们可以使用numpy库方便地实现这个过程。以下是一个简单的例子,展示了如何逐步进行高斯消元:
```python
import numpy as np
# 创建一个示例系数矩阵和常数项向量
A = np.array([[4, 7], [2, -5]])
b = np.array([8, 9])
# 输出原始矩阵和向量
print("Original System:")
print("A =", A)
print("b =", b)
# 高斯消元步骤
def gauss_elimination(A, b):
n, m = A.shape
for i in range(n):
# 消元步骤:如果i行元素不是第一个非零元素,则交换行
if abs(A[i][i]) == 0:
for j in range(i+1, n):
if abs(A[j][i]) > abs(A[i][i]):
A[[i, j]] = A[[j, i]]
b[[i, j]] = b[[j, i]]
break
# 对i行做初等行变换
for j in range(i+1, n):
factor = A[j][i] / A[i][i]
A[j] -= factor * A[i]
b[j] -= factor * b[i]
return A, b
# 执行消元操作并打印结果
A_new, b_new = gauss_elimination(A, b)
print("\nAfter Gaussian Elimination:")
print("A =", A_new)
print("b =", b_new)
阅读全文