numpy中数组(矩阵)的乘法

  我们知道在处理数据的时候,使用矩阵间的运算将会是方便直观的。matlab有先天的优势,算矩阵是它的专长。当然我们用python,经常要用到的可能是numpy这个强大的库。

  矩阵有两种乘法,点乘和对应项相乘(element-wise product)。在numpy中应该怎么实现呢,看看下面的例子就明白了。

## A = B = array([[1, 2],
##                [3, 4]])
>>>A = np.array([[1,2],[3,4]])
>>>B = np.array([[1,2],[3,4]])
>>>[email protected]
array([[ 7, 10],
       [15, 22]])
>>>np.dot(A,B)
array([[ 7, 10],
       [15, 22]])
>>>np.multiply(A,B)
array([[ 1,  4],
       [ 9, 16]])
>>>A*B
array([[ 1,  4],
       [ 9, 16]])

  结果一目了然:

  np.dot(A, B) = [email protected] = 点乘

  np.multiply(A, B) = A*B = 对应项相乘

  点乘要求前者的列数等于后者的行数,对应项相乘需要矩阵的形状相同(或者说有矩阵的延拓情况?没有试验过)    

原文地址:https://www.cnblogs.com/chester-cs/p/12690299.html

时间: 2024-09-29 03:26:25

numpy中数组(矩阵)的乘法的相关文章

Python - Y.shape[n,m];Numpy中的矩阵合并

The shape attribute for numpy arrays returns the dimensions of the array. If Y has n rows and m columns, then Y.shape is (n,m). So Y.shape[0] is n. In [46]: Y = np.arange(12).reshape(3,4) In [47]: Y Out[47]: array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8,

Numpy中使用矩阵

http://blog.csdn.net/pipisorry/article/details/39088003 Numpy是Python中的一个矩阵计算包,功能类似于MATLAB的矩阵计算. 具体参见http://www.numpy.org/.安装Pythonxy时已经包含了numpy包及其依赖包. (1) 定义矩阵 >>> from numpy import * >>> a = array([[1,2.2,3],[4,5,6]]) >>> a.ndi

numpy中数组的简单运算以及使用

import numpy as np # 定义一个数组 test_array = np.array([[1 ,2 ,3] ,[3 ,4 ,5]]) ###数组简单的加减乘除法 # 加法 print(test_arra y +1) # 返回[[2 3 4][4 5 6]] # 减法 print(test_arra y -11) # 返回[[-10 -9 -8][ -8 -7 -6]] # 乘法 print(test_arra y *3) # 返回[[ 3 6 9][ 9 12 15]] # 除法

python numpy中数组.min()

https://blog.csdn.net/ssdut_209/article/details/50938413 >>> a=array([[1,5,3],[2,6,3]]) >>> a array([[1, 5, 3], [2, 6, 3]]) >>> print(a.min()) #无参,所有中的最小值 1 >>> print(a.min(0)) ## axis=0; 每列的最小值 [1 5 3] >>> pri

Python Numpy中的几个矩阵乘法

数学上的内积.外积和叉积 内积 也即是:点积.标量积或者数量积 从代数角度看,先对两个数字序列中的每组对应元素求积,再对所有积求和,结果即为点积.从几何角度看,点积则是两个向量的长度与它们夹角余弦的积. 具体解释 外积 也即是:张量积 在线性代数中一般指两个向量的张量积,其结果为一矩阵,也就是矩阵乘法 具体解释 叉积 也即是:向量积 叉积axb得到的是与a和b都垂直的向量 具体解释 Numpy中的矩阵乘法 np.dot() 对于二维矩阵,计算真正意义上的矩阵乘积:对于一维矩阵,计算两者的内积.(

numpy中关于数组的合并,拆分,及降维

numpy中数组的合并: 1.stack函数,合并后,数组维数+1,其实就是将数组按照某种某个轴线进行合并形成新的数组. a=np.ones((5,3)) b=np.zeros((5,3)) c=np.stack((a,b),axis=1) print(c.shape)#维数为5,2,3,在axis=1方向增加一个维度 2.hstack函数,将数组2水平拼接到数组1 3.vstack函数,将数组2垂直拼接到数组1下方. 4.column_stack()函数,等价于hstack函数. 5.row_

42-python中的矩阵、多维数组----numpy

xzcfightingup python中的矩阵.多维数组----numpy 1. 引言 最近在将一个算法由matlab转成python,初学python,很多地方还不熟悉,总体感觉就是上手容易,实际上很优雅地用python还是蛮难的.目前为止,觉得就算法仿真研究而言,还是matlab用得特别舒服,可能是比较熟悉的缘故吧.matlab直接集成了很多算法工具箱,函数查询.调用.变量查询等非常方便,或许以后用久了python也会感觉很好用.与python相比,最喜欢的莫过于可以直接选中某段代码执行了

numpy中的matrix矩阵处理

numpy模块中的矩阵对象为numpy.matrix,包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中. class numpy.matrix(data,dtype,copy):返回一个矩阵,其中data为ndarray对象或者字符形式:dtype:为data的type:copy:为bool类型. >>> a = np.matrix('1 2 7; 3 4 8; 5 6 9') >>> a          

numpy中矩阵

矩阵 Numpy中矩阵是ndarray的子类, 矩阵是二维的 Key_Function 1. 将字符串转为矩阵, 矩阵的行与行之间用分号隔开, 行间元素用空格隔开 2. 将Numpy的数组(如np.arange(9))转成矩阵 T属性: 获得矩阵的转置 I属性: 获得矩阵的逆矩阵 Code import numpy as np A = np.mat('1 2 3; 4 5 6; 7 8 9') print(A) ''' [[1 2 3] [4 5 6] [7 8 9]] ''' print(A.