向量和矩阵的点乘和叉乘
向量
定义:向量是由N个实数组成的一行N列或N行一列的的数组。
- 点乘:又叫做点积、内积、数量积、标量积,向量a[a1,a2,...,an]和向量b[b1,b2b...,bn]点乘的结果是一个标量,记作a.b;
几何解释:a.b = |a| |b| ,故而点乘可以计算出两个向量的夹角,且向量垂直,点乘结果为零。
- 叉乘:又叫向量积、外积、叉积,叉乘,向量a[x1,y1,z1]和向量b[x2,y2,z2]叉乘的运算结果是一个向量,并且两个向量的叉积与这两个向量组成的坐标平面垂直,记作axb;
计算方式:利用行列式方式,设i[1,0,0],j[0,1,0],k[0,0,1],则如下图:
几何解释:axb = |a| |b| ,故两个向量平行,则其叉乘等于零。
几何意义:叉积的长度|a×b|可以解释成这两个叉乘向量a,b共起点时,所构成平行四边形的面积。
Numpy实现向量的点乘和叉乘
点乘需要用到numpy库的dot函数,得到一个标量。叉乘需要用到numpy库的cross函数。
In [1]: import numpu as np
In [2]: a = np.array([1,2,3])
In [3]: b = np.array([2,2,3])
In [4]: np.dot(a,b)
Out[4]: 15
In [5]: np.cross(a,b)
Out[5]: array([ 0, 3, -2])
矩阵直接使用*相乘的处理方式是向量对应位置相乘,维数不变,它与np.multiply函数效果一样,均是元素相乘。
In [6]: a*b
Out[6]: array([2, 4, 9])
In [7]: np.multiply(a,b)
Out[7]: array([2, 4, 9])
矩阵
定义:是一个按照长方阵列排列的复数或实数集合。
- 矩阵点乘:是矩阵各个对应元素相乘, 这个时候要求两个矩阵必须同样大小。
- 矩阵叉乘:矩阵的乘法就是矩阵a的第m行乘以矩阵b的第n列,各个元素对应相乘然后求和作为第m行n列元素的值。
Numpy实现矩阵的点乘和叉乘
矩阵的点乘直接使用*号即可,也可以使用 numpy库的multiply函数,叉乘使用dot函数,这与向量相反。
In [1]: a = np.array([[1,2],[3,4]])
In [2]: b = np.array([[5,6],[7,8]])
In [3]: a*b
Out[3]:
array([[ 5, 12],[21, 32]])
In [4]: np.dot(a,b)
Out[4]:
array([[19, 22],[43, 50]])
In [34]: np.multiply(a,b)
Out[34]:
array([[ 5, 12],[21, 32]])
总结Numpy库
numpy库的对象有数组和矩阵,两者看起来长得差不多,但在性质、运算上有很大不同。可通过array函数和mat函数相互转化。
- dot函数
对于秩为1的数组,执行对应位置相乘,然后再相加,等价于向量的点乘;
对于秩不为1的二维数组,执行矩阵乘法运算,等价于矩阵的叉乘;
- multiply函数
数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致,效果上与运算符*对数组效果一样。
- 运算符*号
对数组执行对应位置相乘,等价于multiply函数;
对矩阵执行矩阵乘法运算,等价于dot函数;
向量和矩阵的点乘和叉乘相关推荐
- 多变量微积分笔记(1)——向量和矩阵
本博客对应我博客中的多变量微积分目录下的第一章,向量和矩阵. 1.向量和矩阵(Vectors and Matrices)--开启多变量函数和多变量微积分大门的钥匙 在单变量微积分中用得最多的应该只是坐 ...
- 数学基础(向量和矩阵)
原文地址:OpenGL 2d旋转坐标公式为:newx = x*cos(a) - y * sin(a) newy = x*sin(a) + y * cos(a) 推导这个公式主要用到了sin(a + ...
- python求向量函数的雅可比矩阵_在python Numpy中求向量和矩阵的范数实例
np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, ...
- 3D数学 向量和矩阵
向量和矩阵 坐标系 左手系.右手系 向量常用公式 向量的模(长度) 标准化向量 点积 叉积 矩阵常用性质 逆矩阵性质 正交矩阵 齐次空间 坐标空间变换推到过程 MVP矩阵 局部空间 世界空间 模型矩阵 ...
- python二维元素向量_详解python Numpy中求向量和矩阵的范数
在python Numpy中求向量和矩阵的范数实例 np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=n ...
- 内部矩阵维度必须一致simulink_深度学习/目标检测之numpy——向量和矩阵乘法相关...
numpy中表示向量和矩阵乘法的有四种"*".outer.dot.multiply. 1.关于 "*" 的用法 "*" 也为对于元素的乘积, ...
- c++向量和数组的区别_Spark机器学习-Java版(一)-向量和矩阵
1.概述 Spark早期版本时,MLlib是基于RDD来进行分析的,其使用的是 spark. mllib包.而言2.0版本后,由RDD这种抽象数据结构转换到了基于 dataframe上,其相关API也 ...
- 模式识别中的特征向量和矩阵的特征向量有什么关系
模式识别中的特征向量和矩阵的特征向量有什么关系 特征向量是个什么东西?学过矩阵论的人都知道,一个可逆的矩阵可以分解为特征值和特征向量的乘积,即AV=lambaV,其中V是特征向量矩阵:这个的好处是可以 ...
- 标量、向量和矩阵的求导法则
0. 前言 \quad\;\; 本文主要对标量对向量和矩阵以及向量对向量求导三种场景进行求解,标量对向量和矩阵求导以分母布局为默认布局,向量对向量求导以分子布局为默认布局,所有向量默认为列向量. 1. ...
最新文章
- AFNetworking 3.0 发送soap到webservice
- 数据中心日常维护工作有哪些?
- Groovy 1.5.7 出现java.lang.LinkageError问题
- UVA10474 Where is the Marble?
- linux crsctl start crs开机自动启动,CRS无法启动,运行crsctl start crs无响应
- sklearn对三维矩阵降维代码实现
- 掌业宝服务器维护升级,奇游联机宝APP焕新升级 主机加速多设备各享最优区服...
- This project uses AndroidX dependencies, but the ‘android.useAndroidX‘ property is not enabled
- 【JAVA程序设计】(C00028)基于ssm的校园二手交易平台
- 喷血之举--割肉之痛
- 01-SA8155 QNX 虚拟机Hypervisor
- Loki 学习总结(1)—— Loki 中小项目日志系统的不二之选
- Mybatis实现同时传入对象参数和字符串参数
- 纵横20年,我所经历的数据开放演化史 by 傅一平
- TopCoder教程
- 几何画板中几种作函数图像的方法
- 控制电机及应用课程简单总结
- 弘辽科技:拼多多的流量从何而来?怎样提升店铺流量?
- 【EtherCAT分析】一、EtherCAT从站硬件分析
- 如何用公式编辑器打除号?
热门文章
- 前端js——验证码登录(canvas画布),随机生成验证码,判断正确性
- element在线运行网站codepen报错:Uncaught ReferenceError: Vue is not defined
- 你知道聊天软件也分类吗?
- 淘宝推出线下一元店计划!
- uni-app 获取input的值
- 《网络工程师考试辅导》纠错(1)
- ETL工程师、数据挖掘工程师
- 计算机应用基础课程情景定位,高职《计算机应用基础》课程教学改革探究
- 【02】processing-概述(中文)
- 51单片机如何跳出wile循环_信用卡还最低、以卡养卡、乱分期,这种“死循环”如何跳出?...