导入
构建与求解线性方程
在本课程中,你将学习如何在 Python 中构建并求解线性方程组。
NumPy 的线性代数模块 linalg 提供了多种功能,包括求解线性方程组的能力。这可以通过矩阵方法实现。
假设我们有以下线性方程组:
我们需要将这些方程转换为 的形式,并求解 。
构建线性方程
在求解线性方程组之前,重要的是使用任意一种数组创建方法,将这些方程转化为 Python 能理解的格式。让我们看一个例子:
1import numpy as np 2 3A = np.array([[2, 3, 1], [3, 4, 2], [1, 1, -1]]) # 构建一个二维数组 4b = np.array([17, 25, 6]) # 构建一个一维数组 5 6print(A) 7print(b)
求解方程
该系统可以使用 linalg 子包中的 solve 方法求解。solve 方法接收一个二维数组(矩阵)和一个一维数组(右侧向量)作为输入,并返回解。
1import numpy as np 2 3A = np.array([[2, 3, 1], [3, 4, 2], [1, 1, -1]]) 4b = np.array([17, 25, 6]) 5 6x = np.linalg.solve(A, b) 7print(x)
为了验证解是否正确,我们需要将数组 A 中存储的矩阵与待验证的解 x 相乘。我们可以使用 np.dot() 方法对输入参数执行矩阵乘法。需要注意的是,矩阵乘法的顺序会影响计算结果。
1import numpy as np 2 3A = np.array([[2, 3, 1], [3, 4, 2], [1, 1, -1]]) 4b = np.array([17, 25, 6]) 5 6x = np.linalg.solve(A, b) 7print(np.dot(A, x))
由于结果等于矩阵 b,因此解是正确的。
下一课将讨论如何求矩阵的特征向量和特征值。