矩阵叉乘计算方法,矩阵与矩阵运算法则乘法

  矩阵叉乘计算方法,矩阵与矩阵运算法则乘法

  1.问题

  Ndarray是NumPy的基本元素,主要用于矩阵运算。那么,具体来说,ndarray是如何执行普通的矩阵运算的呢?

  2.分析首先,矩阵用-*/这些常规运算符运算时,对元素进行运算。这与MATLAB等其他语言不同。

  例如

  Ar=np.array ([[20,21,22],[23,24,25]]) ar * ar结果输出

  Array ([[400,441,484],[529,576,625]])显示*并没有执行矩阵乘法,而是将矩阵及其元素相乘。如果你想做矩阵乘法,你需要使用点的方法

  AR3=NP。Array ([[1,2,3],[4,5,6],[3,2,1]] AR3.dot (AR3)结果输出

  Array ([[18,18,18],[42,45,48],[14,18,22]]) ar3 * ar3结果输出

  数组([[1,4,9],[16,25,36],[9,4,1]])不同维数的矩阵呢?比如一个二维矩阵和一个一维向量,怎么操作?这就需要NumPy的广播功能。广播可以将低维矩阵展开成高维矩阵进行运算。比如在最简单的矩阵上加数,其实相当于把数展开成一个和矩阵一样大的新矩阵,然后加上相应的元素。

  广播规则很简单

  为了进行广播,操作中两个数组的尾轴大小必须相同,或者其中一个必须为1。Numpy — N UmPy v1.19.dev0手册中的数组广播也就是广播时,需要两个矩阵的尾轴大小相等,或者其中一个为1。

  这么说有点无聊,比如如下

  Ar=NP。array ([[20,21,22],[23,24,25]]) T=array ([1,2,3]) H=array ([1,2]) AR/T结果输出

  数组([[30。 15.5 , 10.66666667], [33. 17.11.66666667]])AR/H-value ERROR trace back(最近一次调用last)Iphon-input-21-711 a 92d 431 F2 in module-1 AR/H value错误:操作数不能与shapes (2,3) (2,)T和H只有一个维度,所以它们的大小等于尾部维度。t的尾轴是3,ar的尾轴是2x3,t的尾轴也是3,两者相等,可以计算。h的尾轴尺寸是2,两者不一样,所以出现错误。

  它的广播可以理解为

  Axis 1 fix-ar [20,21,22]/ t [1,2,3] [23,24,25] axis [1,2,3] 0 vbroadcast by axis0可见。在将t扩展到与ar相同的尺寸后,

  3.扩展刚才提到了NumPy的轴,可以进一步扩展。Axis NumPy通常用参数Axis传递,比如axis=0。

  NumPy的坐标轴可以用下图表示

  axis 1- 0 1 2 - -axis 0 0 0,0 0,1 0,2 - 1 1,0 1,1 1,2 --v 2 2,0 2,1 2,2 --当我们指定一个参数时,可以理解为运算是在这个方向上进行的。例如

  输入:ar=np.arange(6)。reshape(2,3)输出:array([[0,1,2],[3,4,5]])输入:np.sum(ar,axis=0)输出:array([ 3,5,7])输入:np.sum(ar,Axis=1)输出:array([3,12])可见。当指定axis=0时,将沿0轴方向进行求和,最终形成一个三个数的向量;当指定axis=1时,求和将遵循axis 1的方向,最终将形成一个两个数的向量。

  4.总结今天我们大致总结了NumPy的运算规则和坐标轴的含义。NumPy作为一个基础库,是熊猫、scikit-learn等库的基础。掌握NumPy的相关规则应该是基本功。

  相关代码已上传至data 2 science @ github(https://github . com/jetorz/data 2 science)。欢迎来到马克星。

  5.没有朋友的单独交流是不明智的。现有的“数据与统计科学”微信交流群包括数据行业资深从业者、海外博士、硕士等。欢迎对数据科学、数据分析、机器学习、人工智能感兴趣的朋友加入,共同研究探讨。

  可以扫描下方二维码,添加李姐姐微信邀请加入,密码:机器学习加群。

  6.分机6.1。关于如何对Numpy中矩阵的特征对进行排序的扩展阅读。6.2.参考文献[1] M. Wes,用于数据分析的Python,第2版。北京:奥莱利,2017。[1] J. Vanderplas,Python数据科学手册。北京:奥莱利,2017

矩阵叉乘计算方法,矩阵与矩阵运算法则乘法