Numpy是Python的一个数值计算库,提供了很多方便好用的矩阵运算方法,下面看看如何使用。
使用Numpy前需要安装该模块,很简单,命令行执行:
pip install numpy
在使用前需要import,一般如下所示:
import numpy as np
1.矩阵的定义
A = np.mat([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
], dtype=int)
定义矩阵使用mat,我们这里定义一个3 X 3的矩阵;dtype指明了矩阵中的数据类型,这里是int,默认是浮点数。下面是一些特殊矩阵的定义方式,以创建3 X 3方阵为例:
元素全为零的矩阵:
A = np.mat(np.zeros((3, 3), dtype=int))
元素全为1的矩阵:
A = np.mat(np.ones((3, 3), dtype=int))
单位阵:
A = np.mat(np.eye(3, 3, dtype=int))
对角阵,对角线元素以列表形式传递:
A = np.diag([1, 2, 3])
使用一个值初始化所有元素:
A=np.mat(np.full((3, 3), 12, dtype=int))
2.矩阵运算
定义两个矩阵A和B,如下:
A = np.mat([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
], dtype=int)
B = np.mat([
[9, 8, 7],
[6, 5, 4],
[3, 2, 1]
], dtype=int)
加法,减法,乘法和转置:
print(A + B)
print(A - B)
print(A * B)
print(A .T)
下面的方法是元素依次相乘,注意与矩阵乘法区分
print(np.multiply(A, B))
求逆:
C = np.mat([
[0, 1, 2],
[1, 0, 3],
[4, -3, 8]
])
print(C .I)
示例中是非奇异矩阵,如果矩阵是奇异矩阵,会抛出C.I异常。
3.方阵的行列式
求一个方阵的行列式,可以使用det
A = np.mat([
[1, 2, 3],
[0, 2, 3],
[1, 2, 0]
])
4.矩阵的秩,特征值和特征向量
print(value)
print(vectors)
使用numpy的linalg下的eig可以计算特征值和特征向量,上例中,values是特征值,vectors是特征向量。
以上就是Numpy的一些矩阵操作的方法,都很简单易用,我这里没有给出运行结果,目的是希望大家运行起来自己看一下,可以更加直观一些。使用Numpy,我们就具备了一个强大的数值运算计算器。
苹果用户赞赏
领取专属 10元无门槛券
私享最新 技术干货