矩阵外积与内积

矩阵外积与内积一个行向量乘以一个列向量称作向量的内积,又叫作点积,结果是一个数;一个列向量乘以一个行向量称作向量的外积,外积是一种特殊的克罗内克积,结果是一个矩阵,假设和b分别是一个行向量和一个列向量,那么内积、外积分别记作和,,为了讨论方便,假设每个向量的长度为2。注意:外积在不同的地方定义方式不太一样,这里不详细讨论定义了内积和外积以后,我们讨论矩阵的乘法。矩

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一个行向量乘以一个列向量称作向量的内积,又叫作点积,结果是一个数;

一个列向量乘以一个行向量称作向量的外积,外积是一种特殊的克罗内克积,结果是一个矩阵,

假设矩阵外积与内积和b分别是一个行向量和一个列向量,那么内积、外积分别记作矩阵外积与内积矩阵外积与内积,为了讨论方便,假设每个向量的长度为2。

矩阵外积与内积

矩阵外积与内积

注意:外积在不同的地方定义方式不太一样,这里不详细讨论

定义了内积和外积以后,我们讨论矩阵的乘法。矩阵是由向量组成的,因此对矩阵不同角度的抽象,将矩阵乘法转换为向量乘法,可以使我们从不同的角度去理解矩阵的乘法。首先我们可以对于一个矩阵A(假设行和列的大小都是2),我们可以即可以把它看作由两个行向量组成的列向量,

矩阵外积与内积,又可以看作是由两个列向量组成的行量矩阵外积与内积,我们矩阵外积与内积表示列向量,矩阵外积与内积表示行向量

 

这样矩阵A和矩阵B的乘积按照不同的角度就可以组成四种理解方式。

一、 A是由行向量组成的列向量,B是由列向量组成的行向量

                              矩阵外积与内积

此时AB乘积变为了两个新的向量的外积形式,按照外积定义,我们有

矩阵外积与内积

注意到这里面每一个矩阵外积与内积都是一个向量,因此矩阵外积与内积就是一个内积,计算结果就是AB矩阵第i行第j列中的元素。因此,我们可以看到,矩阵乘积是两个向量的外积,并且外积矩阵中的每一个元素是一个内积。这种方式是最直接的理解方式。

二、 A是由列向量组成的行向量,B也是由列向量组成的行向量

矩阵外积与内积

令C = AB, 我们考虑C的每一个列向量:

矩阵外积与内积

同理:

矩阵外积与内积

因此,矩阵C的每一个列向量,是A的列向量的一个线性组合,该线性组合中的系数是矩阵外积与内积的各个元素。从这个角度说C的每一列都存在于A的列向量空间内。

三、 A是由行向量组成的列向量,B也是由行向量组成的列向量

矩阵外积与内积

类似于上面的情况,不过我们现在考虑C的每一个行向量:

矩阵外积与内积

同理:

矩阵外积与内积

因此,矩阵C的每一个行向量,是B的行向量的一个线性组合,该线性组合中的系数是矩阵外积与内积的各个元素。从这个角度说C的每一个行向量都存在于B的行向量空间内。

四、 A是由列向量组成的行向量,B也是由行向量组成的列向量

矩阵外积与内积

此时AB乘积变为了两个新的向量的内积形式。按照内积定义我们有:

矩阵外积与内积

注意到矩阵外积与内积是一个外积形式,因为矩阵外积与内积是一个列向量,矩阵外积与内积是一个行向量,因此C是由各个外积矩阵相加得到的。

 

根据以上分析,我们可以将第一种和第四种方式放到一起,第二种和第三种放到一起分别进行理解。第一种方式先将A抽象为列向量,将B抽象为行向量,从而将矩阵乘法变为了一种外积的形式,而外积矩阵中的每一个元素是一个行向量和一个列向量的内积。这种方式每次得到C的一个元素矩阵外积与内积

第四种理解方式先将A抽象为行向量,将B抽象为列向量,从而将矩阵乘法变为了一种内积形式,内积的各个组成部分矩阵外积与内积又是一个外积。这种方式每次不是得到C的一个元素矩阵外积与内积,而是将C看作是多个矩阵相加组成的,每次计算得到一个加数矩阵。

第二种方式将矩阵A、B都抽象为行向量,行向量的每个组成是一个列向量,A乘以B的每一个列向量得到一个新的列向量,并且该列向量存在于A的列向量空间内,A乘以B相当于是对A进行了列变换。第三种方式则将A乘以B看作是对B进行了行变换。

如果想对一个矩阵进行行变换,可以左乘一个矩阵;相应的如果想对矩阵进行列变换,可以右乘一个矩阵。这种思想被应用到高斯消元的过程中。

 

最后我们总结一下矩阵C(C=AB)到底是什么,C是一个矩阵,是一个多面孔的矩阵。它既是列向量组成的行向量,每个列向量是A的列空间的线性组合,又是行向量组成的列向量,每个行向量是B的行空间的线性组合;它是一个内积,内积的每个成分是一个外积,同时它又是一个外积,外积矩阵的每一个元素是一个内积。

向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组;


向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量


点乘公式


对于向量a和向量b:


                                     矩阵外积与内积                      矩阵外积与内积


a和b的点积公式为:


矩阵外积与内积

要求一维向量a和向量b的行列数相同。


点乘几何意义


点乘的几何意义是可以用来表征或计算两个向量之间的夹角,以及在b向量在a向量方向上的投影,有公式:


矩阵外积与内积


推导过程如下,首先看一下向量组成:


矩阵外积与内积



定义向量:


矩阵外积与内积


根据三角形余弦定理有:


矩阵外积与内积


根据关系c=a-b(a、b、c均为向量)有:


矩阵外积与内积


即:

矩阵外积与内积


向量a,b的长度都是可以计算的已知量,从而有a和b间的夹角θ:


矩阵外积与内积


根据这个公式就可以计算向量a和向量b之间的夹角。从而就可以进一步判断这两个向量是否是同一方向,是否正交(也就是垂直)等方向关系,具体对应关系为:


     a·b>0    方向基本相同,夹角在0°到90°之间

     a·b=0    正交,相互垂直  

     a·b<0    方向基本相反,夹角在90°到180°之间 


叉乘公式


两个向量的叉乘,又叫向量积、外积、叉积,叉乘的运算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量组成的坐标平面垂直。


对于向量a和向量b:


矩阵外积与内积


a和b的叉乘公式为:


矩阵外积与内积


其中:


矩阵外积与内积


根据i、j、k间关系,有:


矩阵外积与内积


叉乘几何意义


在三维几何中,向量a和向量b的叉乘结果是一个向量,更为熟知的叫法是法向量,该向量垂直于a和b向量构成的平面。


在3D图像学中,叉乘的概念非常有用,可以通过两个向量的叉乘,生成第三个垂直于a,b的法向量,从而构建X、Y、Z坐标系。如下图所示: 


矩阵外积与内积


在二维空间中,叉乘还有另外一个几何意义就是:aXb等于由向量a和向量b构成的平行四边形的面积。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206568.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • django修改数据_java实现增删改查

    django修改数据_java实现增删改查前言在ORM框架中,所有模型相关的操作,比如添加/删除等。其实都是映射到数据库中一条数据的操作。因此模型操作也就是数据库表中数据的操作。添加一个模型到数据库中:添加模型到数据库中。首先需要创建一

    2022年7月29日
    5
  • MySQL索引失效的几种场景

    MySQL索引失效的几种场景

    2021年11月10日
    56
  • JVM垃圾回收机制【简单介绍】[通俗易懂]

    JVM垃圾回收机制【简单介绍】[通俗易懂]Java虚拟机(JVM)垃圾回收机制JVM中的垃圾回收计数是采用的一种自适应的技术(可以通过其工作方式将它“啰嗦地”称为:自适的、分代的、停止-复制、标记-清扫式垃圾回收器)在讲Java虚拟机的自适应回收机制前,有必要说一下其他比较单纯的垃圾回收机制,然后会比较容易地理解JVM的垃圾回收:1、引用计数一种简单但速度很慢的垃圾回收计数。​ 每个对象都含有一个引用计数器,当有引用连接至对…

    2022年6月8日
    47
  • Longest Common Prefix_LeetCode

    Longest Common Prefix_LeetCode1.思路:求strs数组的长度,当len==0,len==1分开考虑;i从1-min_len,以strs[0][i]作为对照,一旦出现strs[j][i]!=strs[0][i],结束循环,则输出之前判断好了的字符串。 classSolution:deflongestCommonPrefix(self,strs):""":typestrs…

    2022年5月6日
    43
  • MySql实现两个查询结果相除

    MySql实现两个查询结果相除

    2021年7月13日
    197
  • 配置静态路由,动态路由,默认路由模式_默认路由为网络和掩码

    配置静态路由,动态路由,默认路由模式_默认路由为网络和掩码一、什么是路由路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程[1]。路由工作在OSI参考模型第三层——网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。虽然路由器可以支持多种协议(如TCP/IP、IPX/SPX、AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议。路由器通常连接两个或多个由IP子网或点到点协议标识的…

    2022年9月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号