向量的内积外积哈达玛积

news/2024/7/5 7:42:29

1.向量的内积

1.1 定义

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

表示形式: A T B A^TB ATB < A , B > <A,B> <A,B>

1.2 求解方式

代数形式

向量的内积(点乘/数量积)。对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,如下所示,对于向量a和向量b:

a ⃗ = [ a 1 , a 2 , . . . a n ] \vec a=[a_1,a_2,...a_n] a =[a1,a2,...an] b ⃗ = [ b 1 , b 2 , . . . b n ] \vec b=[b_1,b_2,...b_n] b =[b1,b2,...bn]

a和b的点积公式为:
a ⃗ ⋅ b ⃗ = ∑ i = 1 n a i b i = a 1 b 1 + a 2 b 2 + . . . + a n b n \vec a·\vec b=\sum\limits^n\limits_{i=1}a_ib_i=a_1b_1+a_2b_2+...+a_nb_n a b =i=1naibi=a1b1+a2b2+...+anbn
这里要求一维向量a和向量b的行列数相同。注意:点乘的结果是一个标量(数量而不是向量)

举个栗子:

两个三维向量 [ 1 , 3 , − 5 ] \left[1,3,-5\right] [1,3,5] [ 4 , − 2 , − 1 ] [4,−2,−1] [4,2,1]的点积是:

[ 1 , 3 , − 5 ] ⋅ [ 4 , − 2 , − 1 ] = 1 ∗ 4 + 3 ∗ ( − 2 ) + ( − 5 ) ∗ ( − 1 ) = 4 − 6 + 5 = 3 \left[1,3,-5\right]·[4,−2,−1]=1*4+3*(-2)+(-5)*(-1)=4-6+5=3 [1,3,5][4,2,1]=14+3(2)+(5)(1)=46+5=3

几何形式

在欧几里得空间中,点积可以直观地定义为:

a ⃗ ⋅ b ⃗ = ∣ a ⃗ ∣   ∣ b ⃗ ∣ cos ⁡ θ    \vec{a} \cdot \vec{b} = |\vec{a}| \, |\vec{b}| \cos \theta \; a b =a b cosθ

这里 ∣ x ⃗ ∣ |\vec{x}| x 表示 x ⃗ \vec{x} x 的模(长度), θ \theta θ 表示两个向量之间的角度。

这样,两个互相垂直的向量的点积总是零。若 a ⃗ \vec{a} a b ⃗ \vec{b} b 都是单位向量(长度为1),它们的点积就是它们的夹角的余弦。那么,给定两个向量,它们之间的夹角可以通过下列公式得到:
cos ⁡ θ = a ⋅ b ∣ a ⃗ ∣   ∣ b ⃗ ∣ \cos{\theta} = \frac{\mathbf{a \cdot b}}{|\vec{a}| \, |\vec{b}|} cosθ=a b ab

1.3 几何意义

A ⃗ ⋅ B ⃗ = ∣ A ⃗ ∣   ∣ B ⃗ ∣ cos ⁡ θ    \vec{\mathbf A} \cdot \vec{\mathbf B} = |\vec{\mathbf A}| \, |\vec{\mathbf B}| \cos \theta \; A B =A B cosθ

欧氏空间中向量 A \mathbf A A在向量 B \mathbf B B上的标量投影是指: A B = ∣ A ∣ cos ⁡ θ A_B=|\mathbf A|\cos\theta AB=Acosθ

在这里插入图片描述

直观上看是:向量 A \mathbf A A在向量 B \mathbf B B的投影与 B \mathbf B B的模相乘之后的大小。

两个向量越是相似,内积就越大(夹角就越小)。

Q:为什么在度量两个向量的相似度时,选择使用cos值,而不是向量的内积呢?

A:cos有归一化的作用

2.向量的外积

2.1 定义

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

向量ab的外积a×b是一个向量,其长度等于|a×b| = |a||b|sin∠(a,b),其方向正交于ab。并且,(a,b,a×b)构成右手系。

对于向量a和向量b

a ⃗ = [ x 1 , y 1 , z 1 ] , b ⃗ = [ x 2 , y 2 , z 2 ] \vec a=[x_1,y_1,z_1], \vec b=[x_2,y_2,z_2] a =[x1,y1,z1],b =[x2,y2,z2]

向量a和向量b外积公式为:
a × b = ∣ i j k x 1 y 1 z 1 x 2 y 2 z 2 ∣ = ( y 1 z 2 − y 2 z 1 ) i − ( x 1 z 2 − x 2 z 1 ) j + ( x 1 y 2 − x 2 y 1 ) k a \times b = \left| \begin{array}{cccc} i & j & k \\ x_1 & y_1 & z_1\\ x_2 & y_2 & z_2 \end{array} \right|=(y_1z_2-y_2z_1)i-(x_1z_2-x_2z_1)j+(x_1y_2-x_2y_1)k a×b= ix1x2jy1y2kz1z2 =(y1z2y2z1)i(x1z2x2z1)j+(x1y2x2y1)k
其中 i = ( 1 , 0 , 0 ) , j = ( 0 , 1 , 0 ) , k = ( 0 , 0 , 1 ) i=(1,0,0), j=(0,1,0), k=(0,0,1) i=(1,0,0),j=(0,1,0),k=(0,0,1), 根据 i 、 j 、 k i、j、k ijk间关系,有:
a × b = ( y 1 z 2 − y 2 z 1 ,   − ( x 1 z 2 − x 2 z 1 ) , x 1 y 2 − x 2 y 1 ) a \times b = (y_1z_2-y_2z_1,\ -(x_1z_2-x_2z_1),\quad x_1y_2-x_2y_1) a×b=(y1z2y2z1, (x1z2x2z1),x1y2x2y1)

2.2 向量外积的几何意义

在三维几何中,向量a和向量b的外积结果是一个向量,有个更通俗易懂的叫法是法向量,该向量垂直于a和b向量构成的平面。
在这里插入图片描述

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

3.向量的哈达玛积

两个相同形状的矩阵,输出是具有同样形状的、各个位置的元素等于两个输入矩阵相同位置元素的乘积的矩阵。

若两个矩阵AB具有相同的维度 m × n m\times n m×n,则它们的阿达玛乘积$ A\circ B$是一个具有相同维度的矩阵,其元素值为:
( A ∘ B ) i j = ( A ) i j ( B ) i j . {\displaystyle (A\circ B)_{ij}=(A)_{ij}(B)_{ij}.} (AB)ij=(A)ij(B)ij.

4.总结

  • 向量内积的结果为标量
  • 向量内积的几何意义:向量 A \mathbf A A在向量 B \mathbf B B的投影与 B \mathbf B B的模相乘之后的大小。
  • 向量a和向量b的外积结果是一个向量(法向量),该向量垂直于a和b向量构成的平面。
  • 哈达玛积:基于矩阵(两个矩阵的维度完全相同) 对应位置元素相乘(卷积) element-wise product

本文仅作为个人学习记录所用,不作为商业用途,谢谢理解。

参考:https://zhuanlan.zhihu.com/p/348308540


http://lihuaxi.xjx100.cn/news/1010976.html

相关文章

[学习笔记]金融风控实战

参考资料&#xff1a; 零基础入门金融风控-贷款违约预测 导包 import pandas as pd import matplotlib.pyplot as plt# 读取数据 train pd.read_csv(train.csv) testA pd.read_csv(testA.csv) print(Train data shape:, train.shape) print(testA data shape:, testA.shape…

我的面试八股(JAVA并发)

程序计数器为什么是线程私有的? 程序计数器主要有下面两个作用&#xff1a; 字节码解释器通过改变程序计数器来依次读取指令&#xff0c;从而实现代码的流程控制&#xff0c;如&#xff1a;顺序执行、选择、循环、异常处理。在多线程的情况下&#xff0c;程序计数器用于记录…

Redis 客户端连接服务器失败

公司项目开发环境需要使用到 Redis&#xff0c;申请基础技术支撑平台的 Redis 中间件比较麻烦&#xff0c;项目组也不知道具体流程&#xff0c;而且时间可能比较长。 现在的情况是&#xff0c;项目因为 Redis 启动报错。 这种情况下&#xff0c;我们项目组就自行在虚拟机上临…

开心档之C++ 多态

目录 C 多态 实例 虚函数 纯虚函数 多态按字面的意思就是多种形态。当类之间存在层次结构&#xff0c;并且类之间是通过继承关联时&#xff0c;就会用到多态。 C 多态意味着调用成员函数时&#xff0c;会根据调用函数的对象的类型来执行不同的函数。 下面的实例中&#x…

【第0篇】从0-1自建个人博客系统【web端,admin管理端,express后端,Nginx部署】--vue3技术 reac+hook技术 umi4

【第0篇】从0-1自建个人博客系统【web端&#xff0c;admin管理端&#xff0c;后端】 文章完整地址&#xff1a;http://www.huxunxun.top/lookArtical?artical_id18 【序言】 我是一个微小的前端开发工程师。 我本不应该是一个前端开发的&#xff0c;我大学学的是计算机科学与…

2023年4月10日下午总结和近日感悟

技术和钱 人生&#xff0c;活到现阶段&#xff0c;已于一月前&#xff0c;深感技术就是这么回事&#xff0c;不再像以前那样为学习某样东西而不问来由&#xff0c;闷头去学&#xff08;也许是因为即将步入下一个人生阶段&#xff09;。虽然&#xff0c;乐于也想去接受新技术&a…

【每日一题】——负二进制转换

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e1; 读书笔记 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…

刷完这60个标准库模块,成为Python骨灰级玩家

python强大&#xff0c;主要是因为包多&#xff0c;且不说第三方包&#xff0c;单是标准库就已让人望而生畏。 如果从第一篇整理标准库的博客算起&#xff0c;如今已有三个年头。在整理标准库的过程中&#xff0c;查阅了大量资料和官方文档&#xff0c;很多中文资料都有一个共…