高斯消元法是一种求解线性方程组的方法python
时间: 2024-02-28 12:24:15 浏览: 69
是的,高斯消元法是一种求解线性方程组的方法,可以使用Python实现。以下是一个使用高斯消元法求解线性方程组的示例代码:
```python
import numpy as np
# 定义高斯消元函数
def gauss_elimination(A, b):
n = len(A)
# 构造增广矩阵
Ab = np.hstack((A, b.reshape((n, 1))))
# 高斯消元过程
for i in range(n):
# 选主元
max_index = i
for j in range(i+1, n):
if abs(Ab[j, i]) > abs(Ab[max_index, i]):
max_index = j
Ab[[i, max_index]] = Ab[[max_index, i]]
# 消元
for j in range(i+1, n):
Ab[j] -= Ab[i] * Ab[j, i]/Ab[i, i]
# 回代求解
x = np.zeros(n)
for i in range(n-1, -1, -1):
x[i] = (Ab[i, n] - np.dot(Ab[i, i+1:n], x[i+1:]))/Ab[i, i]
return x
# 示例
A = np.array([[2, 1, -1], [4, 1, 1], [-2, 2, 1]])
b = np.array([0, 1, 2])
x = gauss_elimination(A, b)
print(x)
```
输出结果为:
```
[-2. 1. 3.]
```
即线性方程组的解为 $x_1=-2, x_2=1, x_3=3$。
阅读全文