Numpy矩阵运算

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,我们就具备了一个强大的数值运算计算器。

苹果用户赞赏

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180120G0C3WB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动