高斯消元法python
时间: 2023-10-12 07:19:00 浏览: 125
高斯消元法是一种线性方程组求解的方法。下面是一个使用Python实现高斯消元法的示例代码:
```python
import numpy as np
def gauss_elimination(A, b):
n = len(b)
for i in range(n):
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, max_row]] = A[[max_row, i]]
b[[i, max_row]] = b[[max_row, i]]
for j in range(i+1, n):
ratio = A[j, i]/A[i, i]
A[j, i:] = A[j, i:] - ratio*A[i, i:]
b[j] = b[j] - ratio*b[i]
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
```
函数`gauss_elimination`接受两个参数,分别为系数矩阵`A`和常数向量`b`,返回解向量`x`。在函数中,首先将系数矩阵和常数向量进行行交换,使得每一列的主元素绝对值最大的行位于该列的最上方。然后对每一列进行高斯消元操作,最后通过回代求解出解向量。
阅读全文