Python Numpy中的几个矩阵乘法

数学上的内积、外积和叉积

内积

也即是:点积、标量积或者数量积
从代数角度看,先对两个数字序列中的每组对应元素求积,再对所有积求和,结果即为点积。从几何角度看,点积则是两个向量的长度与它们夹角余弦的积。
具体解释

外积

也即是:张量积
在线性代数中一般指两个向量的张量积,其结果为一矩阵,也就是矩阵乘法
具体解释

叉积

也即是:向量积
叉积axb得到的是与a和b都垂直的向量
具体解释

Numpy中的矩阵乘法

np.dot()

对于二维矩阵,计算真正意义上的矩阵乘积;对于一维矩阵,计算两者的内积。(结合了数学意义上的内积和外积)

# 2-D array
import numpy
a = numpy.array([[1,2],
                 [3,4]])
b = numpy.array([[5,6],
                 [7,8]])
a.dot(b)
>>>array([[19, 22],
          [43, 50]])

numpy.dot(a,b)
>>>array([[19, 22],
          [43, 50]])
# 1-D array
import numpy
a = numpy.array([1, 2, 3])
b = numpy.array([4, 5, 6])
numpy.dot(a,b)
>>>32
对应元素相乘

在Python中,实现对应元素相乘,有2种方式,一个是np.multiply(),另外一个是*。

import numpy
a = numpy.array([[1,2],
                 [3,4]])
b = numpy.array([[5,6],
                 [7,8]])
a*b
>>>array([[ 5, 12],
          [21, 32]])

numpy.multiply(a,b)
>>>array([[ 5, 12],
          [21, 32]])

原文地址:https://www.cnblogs.com/liuxin0430/p/11822352.html

时间: 2024-11-05 15:52:21

Python Numpy中的几个矩阵乘法的相关文章

python numpy中astype使用不当导致图像出现artifact

在网络训练中,发现生成的图像不对劲,如下面左图所示,文字完全不对.后来发现,是因为在python中把float类型的变量直接转成uint8的时候,负数部分就变成了极大的整数,变成了图中的白点.应该是采用截断的方法,把小于0大于255的都截断,然后再转换成uint8.得到的结果如右图所示. 一段验证性的代码,如果把a转成uint8,我们会发现-5就变成了(256-5)=251,而300就变成了(300-256)=44.所谓白色的地方出现了黑点,而黑字上也有了白点. import numpy as

Python Numpy中数据的常用的保存与读取方法

在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件进行介绍: 1.保存为二进制文件(.npy/.npz) numpy.save 保存一个数组到一个二进制的文件中,保存格式是.npy 参数介绍 numpy.save(file, arr, allow_pickle=True, fix_imports=True) file:文件名/文件路径 arr:要存

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

详解矩阵乘法

详解矩阵乘法 本篇随笔详细讲解一下信息学奥林匹克竞赛中矩阵乘法的相关内容.矩阵和矩阵乘法的相关内容是数学中线性代数部分的内容,欢迎有兴趣的读者再自行涉猎一些纯粹的数学上的知识.本篇随笔只针对矩阵乘法在信息学和算法竞赛中的应用进行讲解. 矩阵加减法的概念 所谓矩阵其实就是一个数阵,我们可以把它看作一个二维数组. 这是矩阵的概念. 为了方便后面的学习,我们将一个矩阵记作大写字母,如\(A,B,C\)等等,而类比于二维数组,把矩阵中的每个数都用一个"坐标"来表示,记作:\(A(a,b)\)等

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

python/numpy/tensorflow中,对矩阵行列操作,下标是怎么回事儿?

Python中的list/tuple,numpy中的ndarrray与tensorflow中的tensor. 用python中list/tuple理解,仅仅是从内存角度理解一个序列数据,而非数学中标量,向量和张量. 从python内存角度理解,就是一个数值,长度为1,并且不是一个序列: 从numpy与tensorflow数学角度理解,就是一个标量,shape为(),其轴为0: [1,2,3,4,5,6] 从python内存角度理解,就是1*6或者长度为6的一个序列: 从numpy与tensorf

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

百道Python入门级练习题(新手友好)第一回合——矩阵乘法

题目描述 [问题描述] 编写程序,完成3*4矩阵和4*3整数矩阵的乘法,输出结果矩阵. [输入形式] 一行,供24个整数.以先行后列顺序输入第一个矩阵,而后输入第二个矩阵. [输出形式] 先行后列顺序输出结果矩阵,每个元素的显示宽度为8格,屏幕一行只显示矩阵的一行. [样例输入] 1 2 3 4 5 6 7 8 9 1 2 3 9 8 7 6 5 4 3 2 1 1 2 3 上面的输入,意味着要计算如下两个矩阵的乘积. 第一个矩阵 : 1 2 3 4 5 6 7 8 9 1 2 3 第二个矩阵: