NumPy 线性代数


章节


NumPy中包含了numpy.linalg模块,提供线性代数运算功能。下表描述了该模块中的一些重要功能。

SN函数描述
1dot()两个数组的点积
2vdot()两个向量的点积
3inner()两个数组的内积
4matmul()两个数组的矩阵乘积
5det()计算矩阵的行列式
6solve()解线性矩阵方程
7inv()求矩阵的乘法逆矩阵

numpy.dot()

numpy.dot()计算两个数组的点积。

示例

import numpy as np  
a = np.array([[100,200],[23,12]])  
b = np.array([[10,20],[12,21]]) 

dot = np.dot(a,b)  #[100 * 10 + 200 * 12, 100 * 20 + 200 * 21] [23*10+12*12, 23*20 + 12*21]
print(dot)  

输出

[[3400 6200]
 [ 374  712]]

numpy.vdot()

numpy.dot()计算两个向量的点积。

示例

import numpy as np  
a = np.array([[100,200],[23,12]])  
b = np.array([[10,20],[12,21]])  

vdot = np.vdot(a,b)  # 100 *10 + 200 * 20 + 23 * 12 + 12 * 21
print(vdot)  

输出

5528

numpy.inner()

numpy.inner()计算两个数组的内积。这个函数返回一维数组内部元素乘积的和。对于n维数组,它返回元素在最后一个轴上的乘积的和。

示例

import numpy as np  
a = np.array([1,2,3,4,5,6])  
b = np.array([23,23,12,2,1,2])  
inner = np.inner(a,b)  # 1*23 + 2*23 + 3*12 + 4*2 + 5*1 + 6*2
print(inner)  

输出

130

numpy.matmul()

numpy.matmul()计算两个数组的矩阵乘积。

示例

import numpy as np  
a = np.array([[1,2,3],[4,5,6],[7,8,9]])  
b = np.array([[23,23,12],[2,1,2],[7,8,9]])  
mul = np.matmul(a,b)  
print(mul) 

输出

[[ 48  49  43]
 [144 145 112]
 [240 241 181]]

numpy.linalg.det()

numpy.linalg.det()计算矩阵的行列式。

矩阵的行列式可以用对角元素来计算。下面是2×2矩阵的行列式

A B
C D

det()计算公式:AD - BC

示例

import numpy as np  
a = np.array([[1,2],[3,4]])  
print(np.linalg.det(a)) 

输出

-2.0000000000000004

numpy.linalg.solve()

numpy.linalg.solve()解线性矩阵方程。

这个函数用于解线性方程,学过线性代数可知,线性方程可以表示为矩阵。

如下面的方程:

x + y = 20
x - y = 10

可以表示为3个矩阵的方程:

矩阵a:
1   1
1   -1

矩阵b:
x
y

矩阵c:
20
10

方程式可以表示为:
a x b = c

示例

numpy.linalg.solve()解线性矩阵方程,得出x,y的值

import numpy as np  
a = np.array([[1,1],[1,-1]])  
c = np.array([[20], [10]])  
b = np.linalg.solve(a, c)

print(b)  

输出

[[15.]
 [ 5.]]
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值