NumPy学习笔记3-线性代数

线性代数(如矩阵乘法、行列式等)是数学运算中的一个重要工具,在图像信号处理,音频信号处理中起到非常重要的作用。NumPy与MATLAB不同的是,通过*得到的是二维数组的元素级的积,而不是一个矩阵点积。
numpy.linalg中有一组标准的矩阵分解运算以及诸如逆和行列式之类的东西。下面以矩阵相乘和矩阵求逆作为例子

a=[1,5,7,9,4,3,1,7,3]
b=[4,46,456,748,54,2,4,4,16]
na=numpy.array(a).reshape((3,3))
nb=numpy.array(b).reshape((3,3))
print na
print nb
result=numpy.dot(na,nb)
print result

得到结果

[[1 5 7]
 [9 4 3]
 [1 7 3]]
[[  4  46 456]
 [748  54   2]
 [  4   4  16]]
[[3772  344  578]
 [3040  642 4160]
 [5252  436  518]]

求逆代码如下

print numpy.linalg.inv(na)

得到结果

[[-0.03169014  0.11971831 -0.04577465]
 [-0.08450704 -0.01408451  0.21126761]
 [ 0.20774648 -0.00704225 -0.1443662 ]]

下面总结一下numpy.linalg中的常用函数

diag    以一维数组的形式返回方阵的对角线元素
dot     矩阵乘法
trace   计算对角线元素的和
det     计算矩阵行列式
eig     计算方阵的本征值和本征向量
inv     计算方阵的逆
pinv    计算矩阵的Moore-Penrose伪逆
qr      计算qr分解
svd     计算奇异值分解
solve   解线性方程组Ax=b,其中A为一个方阵
lstsq   计算Ax=b的最小二乘解
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值