Python知识(6)--numpy做矩阵运算
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python知识(6)--numpy做矩阵运算,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3128字,纯文字阅读大概需要5分钟。
内容图文
矩阵运算
论numpy中matrix 和 array的区别:http://blog.csdn.net/vincentlipan/article/details/20717163
matrix 和 array的差别: Numpy matrices必须是2维的,但是 numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array。所以matrix 拥有array的所有特性。
1.基本运算
import numpy as np a = np.array([[-1,2],[2,3]]) b = np.array([[3,4],[4,5]]) print‘\n a:\n‘,a print‘\n b:\n‘,b ##转置print‘\n a transpose:\n‘,a.T ##共扼矩阵 #print ‘\n a H:\n‘,a.I##逆矩阵print‘\n a inv:\n‘,np.linalg.inv(a) # 求逆##转置print‘\n a transpose:\n‘,a.T # a + b,矩阵相加print"\n a+b: \n",a+b # a - b,矩阵相减print"\n a-b: \n",a-b #2x2 矩阵,矩阵相乘print"\n a mul b:\n",a.dot(b.T) #2x3矩阵,矩阵点乘print"\n a dot b: \n",a*b #2x3矩阵,矩阵点除print"\n a/b \n:",a/np.linalg.inv(b) #求迹print"\n a trace",np.trace(a) #特征,特征向量 eigval,eigvec = np.linalg.eig(a) #eigval = np.linalg.eigvals(a) #直接求解特征值print"\n a eig value:\n",eigval, print‘\n a eig vector:\n‘,eigvec
运算结果:
a: [[-1 2] [ 2 3]] b: [[3 4] [4 5]] a transpose: [[-1 2] [ 2 3]] a inv: [[-0.42857143 0.28571429] [ 0.28571429 0.14285714]] a transpose: [[-1 2] [ 2 3]] a+b: [[2 6] [6 8]] a-b: [[-4 -2] [-2 -2]] a mul b: [[ 5 6] [18 23]] a dot b: [[-3 8] [ 8 15]] a/b : [[ 0.2 0.5] [ 0.5 -1. ]] a trace 2 a eig value: [-1.82842712 3.82842712] a eig vector: [[-0.92387953 -0.38268343] [ 0.38268343 -0.92387953]]
2.特殊矩阵
import numpy as np a = np.zeros([4,5]) # all zeroprint‘\nall zero \n‘,a a = np.ones([7,6]) # all oneprint‘\nall one \n‘,a a = np.eye(4,7) # 4x7 diagonalprint‘\n4x7 diagonal \n‘,a a = np.diag(range(5)) # 5x5 diagonalprint‘\n5x5 diagonal \n‘,a a = np.empty((2,3)) print‘\nempty \n‘,a a = np.arange(10, 30, 5) # array([10, 15, 20, 25]), 1-Dprint‘\n array([10, 15, 20, 25]), 1-D \n‘,a a = np.linspace(0, 2, 9) # 9 numbers from 0 to 2print‘\n9 numbers from 0 to 2 \n‘,a a = np.random.random((2,3)) # random matricsprint‘\nrandom matrics \n‘,a import numpy as np a = np.zeros([4,5]) # all zeroprint‘\nall zero \n‘,a a = np.ones([7,6]) # all oneprint‘\nall one \n‘,a a = np.eye(4,7) # 4x7 diagonalprint‘\n4x7 diagonal \n‘,a a = np.diag(range(5)) # 5x5 diagonalprint‘\n5x5 diagonal \n‘,a a = np.empty((2,3)) print‘\nempty \n‘,a ? a = np.arange(10, 30, 5) # array([10, 15, 20, 25]), 1-Dprint‘\n array([10, 15, 20, 25]), 1-D \n‘,a a = np.linspace(0, 2, 9) # 9 numbers from 0 to 2print‘\n9 numbers from 0 to 2 \n‘,a a = np.random.random((2,3)) # random matricsprint‘\nrandom matrics \n‘,a
运算结果:
all zero [[ 0. 0. 0. 0. 0.] [ 0. 0. 0. 0. 0.] [ 0. 0. 0. 0. 0.] [ 0. 0. 0. 0. 0.]] all one [[ 1. 1. 1. 1. 1. 1.] [ 1. 1. 1. 1. 1. 1.] [ 1. 1. 1. 1. 1. 1.] [ 1. 1. 1. 1. 1. 1.] [ 1. 1. 1. 1. 1. 1.] [ 1. 1. 1. 1. 1. 1.] [ 1. 1. 1. 1. 1. 1.]] 4x7 diagonal [[ 1. 0. 0. 0. 0. 0. 0.] [ 0. 1. 0. 0. 0. 0. 0.] [ 0. 0. 1. 0. 0. 0. 0.] [ 0. 0. 0. 1. 0. 0. 0.]] 5x5 diagonal [[0 0 0 0 0] [0 1 0 0 0] [0 0 2 0 0] [0 0 0 3 0] [0 0 0 0 4]] empty [[ 0.06012241 0.30847312 0.20174074] [ 0.37654373 0.71036135 0.15586512]] array([10, 15, 20, 25]), 1-D [10 15 20 25] 9 numbers from 0 to 2 [ 0. 0.25 0.5 0.75 1. 1.25 1.5 1.75 2. ] random matrics [[ 0.44052293 0.42283564 0.44825331] [ 0.66735609 0.32664018 0.17015328]]
原文:http://www.cnblogs.com/cv-pr/p/6395176.html
内容总结
以上是互联网集市为您收集整理的Python知识(6)--numpy做矩阵运算全部内容,希望文章能够帮你解决Python知识(6)--numpy做矩阵运算所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。