在Python中,矩阵可以通过NumPy库的ndarray和matrix对象来表示。以下是它们的主要特点:
NumPy的ndarray:
ndarray是NumPy库中最常用的矩阵类型,它是一个多维数组对象,支持广播、向量化操作等高效数学运算。
创建ndarray可以使用`numpy.array()`函数,例如:
import numpy as np
a = np.array([[1, 2], [3, 4]])
ndarray支持矩阵乘积,使用`numpy.dot()`函数或`@`运算符,例如:
a = np.array([[1, 1], [0, 1]])
b = np.array([[2, 0], [3, 4]])
c = np.dot(a, b) 或者 a @ b
NumPy的matrix对象:
matrix对象是ndarray的一个子类,它提供了一些额外的矩阵操作,例如矩阵乘法使用星号`*`运算符。
创建matrix对象可以使用`numpy.mat()`函数,例如:
a = np.mat([[1, 1], [0, 1]])
matrix对象也支持矩阵乘积,使用星号`*`运算符,例如:
a = np.mat([[1, 1], [0, 1]])
b = np.mat([[2, 0], [3, 4]])
c = a * b 使用星号进行矩阵乘法
需要注意的是,虽然matrix对象在某些操作上比ndarray更简便,但ndarray由于其灵活性和高效性,在大多数情况下是更推荐使用的选择。