NumPy 线性代数
NumPy 线性代数
NumPy 是 Python 中用于科学计算的核心库之一,它提供了一个强大的数学函数库,特别是在处理大型多维数组和矩阵时表现出色。线性代数是 NumPy 的一个重要组成部分,它包含了大量的函数和运算符,用于执行矩阵和向量的基本操作,如矩阵乘法、求逆、解线性方程组等。
矩阵和向量
在 NumPy 中,矩阵和向量都是通过二维数组来表示的。创建一个简单的矩阵和向量非常容易:
import numpy as np
# 创建一个 2x2 矩阵
matrix = np.array([[1, 2], [3, 4]])
# 创建一个向量
vector = np.array([5, 6])
矩阵乘法
NumPy 提供了两种方法来执行矩阵乘法:dot
函数和 @
运算符。
# 使用 dot 函数进行矩阵乘法
result_dot = np.dot(matrix, vector)
# 使用 @ 运算符进行矩阵乘法
result_at = matrix @ vector
矩阵求逆
NumPy 的 linalg
模块提供了 inv
函数,用于计算矩阵的逆。
# 计算矩阵的逆
inverse_matrix = np.linalg.inv(matrix)
解线性方程组
可以使用 linalg.solve
函数来解线性方程组。例如,解方程组 Ax = b
:
# 创建系数矩阵 A 和常数向量 b
A = np.array([[1, 2], [3, 4]])
b = np.array([5, 6])
# 解线性方程组 Ax = b
x = np.linalg.solve(A, b)
特征值和特征向量
NumPy 的 linalg
模块还提供了 eig
函数,用于计算矩阵的特征值和特征向量。
# 计算矩阵的特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(matrix)
总结
NumPy 的线性代数功能为 Python 中的科学计算提供了强大的支持。通过简单的函数调用,可以轻松地执行复杂的矩阵运算,如矩阵乘法、求逆、解线性方程组和计算特征值等。这些功能在数据分析和机器学习等领域非常有用。