定义内积\点积的核心目的在于描述广义的角度(或称相关性)
u ⃗ ⋅ v ⃗ \vec{u} \cdot \vec{v} u⋅v
点积是人为定义的一种运算方式,描述了向量的长度和角度,其有两种等价的定义方式,代数定义和几何定义。
代数定义:
在线性空间中引入笛卡尔坐标系,坐标和向量一一对应,此时坐标等价于向量,通过对向量坐标的运算可获得点积结果。
二维向量
u ⃗ = [ u 1 u 2 ] , v ⃗ = [ v 1 v 2 ] \vec{u} =\begin{bmatrix}u_{1} \\u_{2} \end{bmatrix}, \quad \vec{v} =\begin{bmatrix}v_{1} \\v_{2} \end{bmatrix} u=[u1u2],v=[v1v2]
u ⃗ ⋅ v ⃗ = [ u 1 u 2 ] [ v 1 v 2 ] = u 1 v 1 + u 2 v 2 \vec{u} \cdot \vec{v} = \begin{bmatrix}u_{1} &u_{2} \end{bmatrix}\begin{bmatrix}v_{1} \\v_{2} \end{bmatrix} = u_{1}v_{1}+u_{2}v_{2} u⋅v=[u1u2][v1v2]=u1v1+u2v2
n维向量:
u ⃗ = [ u 1 u 2 ⋮ u n ] , v ⃗ = [ v 1 v 2 ⋮ v n ] \vec{u} = \begin{bmatrix}u_{1} \\u_{2} \\\vdots \\u_{n} \end{bmatrix}, \quad \vec{v} = \begin{bmatrix}v_{1} \\v_{2} \\\vdots \\v_{n} \end{bmatrix} u=⎣⎢⎢⎢⎡u1u2⋮un⎦⎥⎥⎥⎤,v=⎣⎢⎢⎢⎡v1v2⋮vn⎦⎥⎥⎥⎤
u ⃗ ⋅ v ⃗ = ∑ i = 1 n u i v i = u 1 v 1 + u 2 v 2 + ⋯ + u n v n \vec{u} \cdot \vec{v} = \sum_{i=1}^{n} u_{i} v_{i} = u_{1} v_{1} +u_{2} v_{2} +\dots+ u_{n} v_{n} u⋅v=i=1∑nuivi=u1v1+u2v2+⋯+unvn
几何定义
通过定义向量的长度和角度去描述向量。
u ⃗ ⋅ v ⃗ = ∣ u ⃗ ∣ ∣ v ⃗ ∣ cos θ \vec{u} \cdot \vec{v} =\left | \vec{u} \right | \left | \vec{v} \right |\cos \theta u⋅v=∣u∣∣v∣cosθ
定义向量长度的计算方式:
二 维 向 量 : ∣ u ⃗ ∣ = u 1 2 + u 2 2 = ( ∑ i = 1 2 u i 2 ) 1 2 n 维 向 量 : ∣ u ⃗ ∣ = u 1 2 + u 2 2 + ⋯ + u n 2 = ( ∑ i = 1 n u i 2 ) 1 2 \begin{aligned} &二维向量:\left | \vec{u} \right | =\sqrt{u_{1}^{2} + u_{2}^{2}} = (\sum_{i=1}^{2} u_{i}^{2})^{\frac{1}{2} } \\&n维向量:\left | \vec{u} \right | =\sqrt{u_{1}^{2} + u_{2}^{2}+\cdots + u_{n}^{2}} = (\sum_{i=1}^{n} u_{i}^{2})^{\frac{1}{2} } \end{aligned} 二维向量:∣u∣=u12+u22=(i=1∑2ui2)21n维向量:∣u∣=u12+u22+⋯+un2=(i=1∑nui2)21
(注:我们熟悉的欧几里得空间下的距离(长度)公式,其实是由点积运算给出的)
∣ u ⃗ ∣ = u 1 2 + u 2 2 = ( u ⃗ ⋅ u ⃗ ) 1 2 \left | \vec{u} \right | =\sqrt{u_{1}^{2} + u_{2}^{2}} =(\vec{u} \cdot \vec{u})^{\frac{1}{2} } ∣u∣=u12+u22=(u⋅u)21
有一个普遍的误区,认为点积结果是投影、分量,严格的讲,不正确,只有当向量与单位向量做点积时,结果的数值才与投影、分量相等,但点积结果同时包含了两者的长度、夹角信息,所以不可能等价于一个数字。
并且投影与分量也是不同的概念
投影以整个空间的单位长度为单位长度,分量以被投影向量的长度为单位长度
投 影 = 点 积 结 果 被 投 影 向 量 长 度 投影=\frac{点积结果}{被投影向量长度} 投影=被投影向量长度点积结果
u ⃗ 在 v ⃗ 方 向 上 的 投 影 = ∣ u ⃗ ∣ cos θ = u ⃗ ⋅ v ⃗ ∣ v ⃗ ∣ \vec{u}在\vec{v} 方向上的投影 =\left | \vec{u} \right | \cos \theta =\frac{\vec{u} \cdot \vec{v} }{\left | \vec{v} \right |} u在v方向上的投影=∣u∣cosθ=∣v∣u⋅v
分 量 = 点 积 结 果 被 投 影 向 量 长 度 2 = 点 积 结 果 被 投 影 向 量 与 自 己 的 点 积 分量=\frac{点积结果}{被投影向量长度 ^2}=\frac{点积结果}{被投影向量与自己的点积} 分量=被投影向量长度2点积结果=被投影向量与自己的点积点积结果
u ⃗ 在 v ⃗ 上 的 分 量 = u ⃗ ⋅ v ⃗ ∣ v ⃗ ∣ ∣ v ⃗ ∣ = u ⃗ ⋅ v ⃗ v ⃗ ⋅ v ⃗ \begin{aligned} \vec{u}在\vec{v} 上的分量 &=\frac{\vec{u} \cdot \vec{v} }{\left | \vec{v} \right |\left | \vec{v} \right |} \\ &=\frac{\vec{u} \cdot \vec{v} }{\vec{v} \cdot \vec{v} } \end{aligned} u在v上的分量=∣v∣∣v∣u⋅v=v⋅vu⋅v
因为代数定义仅仅运算数字,难以进行分析,所以我们从等价的几何定义分析其意义
u ⃗ ⋅ v ⃗ = ∣ u ⃗ ∣ ∣ v ⃗ ∣ cos θ \vec{u} \cdot \vec{v} =\left | \vec{u} \right | \left | \vec{v} \right |\cos \theta u⋅v=∣u∣∣v∣cosθ
由几何定义的表达式可知,点积的结果中包含了两个向量的长度和夹角信息
长 度 信 息 : ∣ u ⃗ ∣ ∣ v ⃗ ∣ 夹 角 信 息 : cos θ \begin{aligned} &长度信息: \left | \vec{u} \right | \left | \vec{v} \right | \\&夹角信息:\cos \theta \end{aligned} 长度信息:∣u∣∣v∣夹角信息:cosθ
其中的夹角信息很有价值,它反映了向量间的相关性(或者说接近程度),如果两个向量的夹角越小,说明形态很接近,相关性很强。(正是这条性质,使得点积/内积运算拥有了很大的威力)
不过三角函数已经可以描述角度了,为什么还要引入点积运算去描述角度的?
从几何意义的点积结果看,描述角度的是三角函数,确实如此,但问题在于,有可能三角函数不容易计算,甚至在高维空间、其他空间中,不一定存在这种可以直接计算出角度信息的三角函数运算法则,所以更广泛描述角度的方式是,先通过代数定义计算出点积结果,再计算长度信息,然后从点积结果中过滤掉长度信息,剩下的就是抽象的广义角度。
所以引入点积运算的目的是同时定义出长度和角度(但这导致点积运算不纯粹,因为点积结果融和了长度、角度信息)
必须注意的是,点积的结果融和了长度信息和夹角信息,因为相关性和向量的长度无关,所以当我们只关心相关性时,长度信息就变成了干扰,所以利用点积衡量相关性前,应该对向量做单位化(归一化、标准化)处理,剔除长度信息,只保留夹角信息。
1.不剔除长度信息,无法准确描述相关性:
a ⃗ = [ 1 1 ] , b ⃗ = [ 0 1 ] \vec{a} =\begin{bmatrix}1 \\1 \end{bmatrix}, \quad \vec{b} =\begin{bmatrix}0 \\1 \end{bmatrix} a=[11],b=[01]
a ⃗ ⋅ b ⃗ = [ 1 1 ] [ 0 1 ] = 1 2 a ⃗ ⋅ b ⃗ = [ 2 2 ] [ 0 1 ] = 2 \begin{aligned} &\vec{a} \cdot \vec{b}=\begin{bmatrix}1 &1 \end{bmatrix}\begin{bmatrix}0 \\1 \end{bmatrix}=1 \\ &2\vec{a} \cdot \vec{b}=\begin{bmatrix}2 &2 \end{bmatrix}\begin{bmatrix}0 \\1 \end{bmatrix}=2 \end{aligned} a⋅b=[11][01]=12a⋅b=[22][01]=2
2.剔除长度信息:单位化处理,将所有向量的长度(模长)均变换到1
a ′ ⃗ = a ⃗ ∥ a ⃗ ∥ = [ 1 1 ] 1 2 + 1 2 = [ 2 2 2 2 ] a ′ ′ ⃗ = 2 a ⃗ ∥ 2 a ⃗ ∥ = [ 2 2 ] 2 2 + 2 2 = [ 2 2 2 2 ] b ′ ⃗ = b ⃗ ∥ b ⃗ ∥ = [ 0 1 ] 0 2 + 1 2 = [ 0 1 ] \begin{aligned} &\vec{{a}' } = \frac{\vec{a} }{\left \| \vec{a} \right \| } = \frac{\begin{bmatrix}1 &1 \end{bmatrix}}{\sqrt{1^{2}+1^{2} } } =\begin{bmatrix}\frac{\sqrt{2} }{2} &\frac{\sqrt{2} }{2} \end{bmatrix} \\ &\vec{{a}''} = \frac{2\vec{a} }{\left \| 2\vec{a} \right \| } = \frac{\begin{bmatrix}2 &2 \end{bmatrix}}{\sqrt{2^{2}+2^{2} } } =\begin{bmatrix}\frac{\sqrt{2} }{2} &\frac{\sqrt{2} }{2} \end{bmatrix} \\ &\vec{{b}' } = \frac{\vec{b} }{\left \| \vec{b} \right \| } = \frac{\begin{bmatrix}0 &1 \end{bmatrix}}{\sqrt{0^{2}+1^{2} } } =\begin{bmatrix}0 &1 \end{bmatrix} \end{aligned} a′=∥a∥a=12+12[11]=[2222]a′′=∥2a∥2a=22+22[22]=[2222]b′=∥∥∥b∥∥∥b=02+12[01]=[01]
a ⃗ ′ ⋅ b ⃗ ′ = [ 2 2 2 2 ] [ 0 1 ] = 2 2 a ⃗ ′ ′ ⋅ b ⃗ ′ = [ 2 2 2 2 ] [ 0 1 ] = 2 2 \begin{aligned} &{\vec{a}}' \cdot {\vec{b}}' =\begin{bmatrix}\frac{\sqrt{2} }{2} &\frac{\sqrt{2} }{2} \end{bmatrix}\begin{bmatrix}0 \\1 \end{bmatrix}=\frac{\sqrt{2} }{2} \\&{\vec{a}}'' \cdot {\vec{b}}' =\begin{bmatrix}\frac{\sqrt{2} }{2} &\frac{\sqrt{2} }{2} \end{bmatrix}\begin{bmatrix}0 \\1 \end{bmatrix}=\frac{\sqrt{2} }{2} \end{aligned} a′⋅b′=[2222][01]=22a′′⋅b′=[2222][01]=22
定义函数内积运算(实数域下)
⟨ f ( x ) , g ( x ) ⟩ = ∫ a b f ( x ) g ( x ) d x \left \langle f(x),g(x) \right \rangle =\int_{a}^{b} f(x)g(x)dx ⟨f(x),g(x)⟩=∫abf(x)g(x)dx
从n维向量的点积理解函数内积
在 f ( x ) \ f(x) f(x)和 g ( x ) \ g(x) g(x)函数曲线上选部分点作为n维向量
f ⃗ = [ f 1 f 2 ⋯ f n ] g ⃗ = [ g 1 g 2 ⋯ g n ] \begin{aligned} \vec{f} = \begin{bmatrix}f_{1} &f_{2} &\cdots &f_{n} \end{bmatrix} \\ \vec{g} = \begin{bmatrix}g_{1} &g_{2} &\cdots &g_{n} \end{bmatrix} \end{aligned} f=[f1f2⋯fn]g=[g1g2⋯gn]
对n维向量做点积,得到点积结果
f ⃗ ⋅ g ⃗ = ∑ i = 1 n f i g i ( 1 ) \vec{f} \cdot \vec{g} =\sum_{i=1}^{n} f_{i}g_{i} \quad (1) f⋅g=i=1∑nfigi(1)
当 n → ∞ \ n\to\infty n→∞时,就是“函数的点积”
lim n → ∞ ∑ i = 1 n f i g i ( 2 ) \lim_{n \to \infty} \sum_{i=1}^{n} f_{i}g_{i}\quad (2) n→∞limi=1∑nfigi(2)
但此数列求和后发散,发散的数列没法计算,所以人为的对(1)式乘上 △ x \triangle x △x,转为求黎曼和,也就是黎曼积分。(乘 △ x \triangle x △x的原因分析见后文)
( ∑ i = 1 n f i g i ) △ x ( 3 ) (\sum_{i=1}^{n} f_{i}g_{i})\bigtriangleup x \quad (3) (i=1∑nfigi)△x(3)
对(3)式的 n \ n n求极限:
lim n → ∞ ( ∑ i = 1 n f i g i ) △ x = ∫ a b f ( x ) g ( x ) d x ( 4 ) \lim_{n \to \infty} (\sum_{i=1}^{n} f_{i}g_{i})\bigtriangleup x =\int_{a}^{b} f(x)g(x)dx \quad (4) n→∞lim(i=1∑nfigi)△x=∫abf(x)g(x)dx(4)
将(4)中右式的积分定义为内积的代数计算方式,并采用尖括号+逗号的书写方式代表这种运算:
⟨ f ( x ) , g ( x ) ⟩ = ∫ a b f ( x ) g ( x ) d x ( 5 ) \left \langle f(x),g(x) \right \rangle =\int_{a}^{b} f(x)g(x)dx \quad (5) ⟨f(x),g(x)⟩=∫abf(x)g(x)dx(5)
分析乘 △ x \triangle x △x的根本原因
(2)式到(3)式可能会难以理解,因为按照n维向量的推广,乘积+求和就已经完成推广了,为什么要额外引入一个 △ x \triangle x △x,如果直接凭空引入一个量,那这推广的内积真的是内积吗,它还具备点积的描述长度和角度的能力吗?
答案是肯定的
首先,引入 △ x \triangle x △x,一定程度上是因为(2)式发散不能用,取平均,求黎曼积分之后才变得可计算。
最重要的,其实是我们的目的,如果目的达到了,采用何种形式都是可以的。
当初定义点积运算的目的是为了描述长度、角度,所以如果由(5)式定义出的内积运算具备了同时描述长度和角度的能力,那它就是正确的
我们暂且认为(5)式是成立的,思考其长度定义
点积运算带来的长度定义:
∣ u ⃗ ∣ = ( u ⃗ ⋅ u ⃗ ) 1 2 = u 1 2 + u 2 2 \left | \vec{u} \right | =(\vec{u} \cdot \vec{u})^{\frac{1}{2} } =\sqrt{u_{1}^{2} + u_{2}^{2}} ∣u∣=(u⋅u)21=u12+u22
内积运算带来的长度定义:(长度被推广为范数,原有的两根竖线,变为四根)
∥ f ( x ) ∥ = ⟨ f ( x ) , f ( x ) ⟩ 1 2 = ∫ a b f ( x ) f ( x ) d x \left \| f(x) \right \| = \left \langle f(x),f(x) \right \rangle ^{\frac{1}{2} } =\sqrt{\int_{a}^{b} f(x)f(x)dx} ∥f(x)∥=⟨f(x),f(x)⟩21=∫abf(x)f(x)dx
此处推广的长度定义是符合认知的,两者结构一模一样
按照前文点积运算描述角度方式,只需得知点积结果、长度信息,即可反推出角度信息,而由(5)式定义的内积运算,有收敛的运算结果,也定义了长度的计算方式,自然可以反推出广义的角度信息,所以目的达到了,(5)式具备同时描述长度和角度的能力,它确实站得住脚。
我们人为乘上了 △ x \triangle x △x再取极限(相当于乘了一个常数),看似改变了推广的内积运算结构,会影响长度信息(不影响角度信息,因为角度代表相关性,而相关性和长度、大小无关),实际不然,因为长度不是绝对的,不同空间下的长度是不同的,这是一个相对量,一个按照内积运算所定义出来的量。所以当内积运算法则改变时,长度的定义也发生了变化
乘上 △ x \triangle x △x再取极限时,欧几里得空间的长度由点积运算定义,推广点积为内积运算后,欧几里得空间演变为内积空间,其长度由内积运算定义,原有的点积运算不再适用
以一个部分正弦展开的函数 f ( x ) f(x) f(x)为例,容易理解, f ( x ) f(x) f(x)是由基函数 s i n n π l sin\frac{n\pi }{l} sinlnπ的线性叠加组成
f ( x ) = ∑ n = 1 ∞ A n s i n n π l x f(x)=\sum_{n=1}^{\infty } A_{n} sin\frac{n\pi }{l} x f(x)=n=1∑∞Ansinlnπx
其傅里叶系数 A n \ A_{n} An为:
A n = 2 l ∫ 0 l f ( x ) s i n n π l x ⋅ d x ( 6 ) A_{n}=\frac{2}{l}\int_{0}^{l} f(x)sin\frac{n\pi }{l} x\cdot dx\quad (6) An=l2∫0lf(x)sinlnπx⋅dx(6)
和向量的分解完全一样,其实 A n \ A_{n} An就是 f ( x ) f(x) f(x)在各个基函数 s i n n π l sin\frac{n\pi }{l} sinlnπ上的分量 ( 分 量 = 内 积 结 果 基 函 数 的 长 度 2 = 内 积 结 果 基 函 数 与 自 己 的 内 积 ) (分量=\frac{内积结果}{基函数的长度^{2}}=\frac{内积结果}{基函数与自己的内积}) (分量=基函数的长度2内积结果=基函数与自己的内积内积结果)
A n = ⟨ f ( x ) , s i n n π l x ⟩ ∥ s i n n π l x , s i n n π l x ∥ 2 = ⟨ f ( x ) , s i n n π l x ⟩ ⟨ s i n n π l x , s i n n π l x ⟩ \begin{aligned} A_{n} &= \frac{\left \langle f(x),sin\frac{n\pi}{l}x \right \rangle } {\left \| sin\frac{n\pi}{l}x,sin\frac{n\pi}{l}x \right \| ^2} \\ &=\frac{\left \langle f(x),sin\frac{n\pi}{l}x \right \rangle } {\left \langle sin\frac{n\pi}{l}x,sin\frac{n\pi}{l}x \right \rangle } \end{aligned} An=∥∥sinlnπx,sinlnπx∥∥2⟨f(x),sinlnπx⟩=⟨sinlnπx,sinlnπx⟩⟨f(x),sinlnπx⟩
推导:
将 A n \ A_{n} An改写为:
A n = ∫ 0 l f ( x ) s i n n π l x ⋅ d x l 2 ( 7 ) A_{n}=\frac{\int_{0}^{l} f(x)sin\frac{n\pi }{l} x\cdot dx }{\frac{l}{2}}\quad (7) An=2l∫0lf(x)sinlnπx⋅dx(7)
其中 2 l \frac{2}{l} l2的由来:
l 2 = ∫ 0 l s i n n π l x ⋅ s i n n π l x ⋅ d x = ∥ s i n n π l x , s i n n π l x ∥ 2 = ⟨ s i n n π l x , s i n n π l x ⟩ ( 8 ) \begin{aligned} \frac{l}{2} &=\int_{0}^{l} sin\frac{n\pi }{l}x \cdot sin\frac{n\pi }{l}x\cdot dx \\ &=\left \| sin\frac{n\pi }{l}x,sin\frac{n\pi }{l}x \right \| ^2 \\ &=\left \langle sin\frac{n\pi }{l}x,sin\frac{n\pi }{l}x \right \rangle \quad (8) \end{aligned} 2l=∫0lsinlnπx⋅sinlnπx⋅dx=∥∥∥sinlnπx,sinlnπx∥∥∥2=⟨sinlnπx,sinlnπx⟩(8)
所以 2 l \frac{2}{l} l2就是基函数 s i n n π l x sin\frac{n\pi }{l}x sinlnπx与自己的内积结果、长度的平方
分母:
∫ 0 l f ( x ) s i n n π l x ⋅ d x = ⟨ f ( x ) , s i n n π l x ⟩ ( 9 ) \int_{0}^{l} f(x)sin\frac{n\pi }{l} x\cdot dx =\left \langle f(x),sin\frac{n\pi }{l} x \right \rangle \quad (9) ∫0lf(x)sinlnπx⋅dx=⟨f(x),sinlnπx⟩(9)
将(8)、(9)式代入(7)式中即可得到(6)式
加权余量法是建立在变分原理、求解微分方程近似解的一种方法。其核心部分,是令余量与权函数的内积为0。
其中伽辽金方法的精度最高,因为直接选取了构成近似函数的基函数作为权函数,在思维层面容易理解为何伽辽金方法的精度最高。
因为如果近似函数与构成它的基函数内积为0,说明近似函数在基函数上的分量为0,而近似函数本身就只是由基函数构成的,如果在各个基函数上分量为0,则只能可是其本身为0,才满足。
空间=集合+结构
集合可以是数,如常见的实数域、复数域
结构指最底层的运算法则,如加减乘除
几种运算法则:
加法运算:加减法
数乘运算:乘除法
范数运算:有多种定义,但本质是定义了距离(或称长度、大小)
内积运算:有多种定义,但本质是定义了角度,并且恰好自带了一种距离的定义
距离((或称长度、大小)是相对的概念,所以存在很多种范数运算
角度的本质是相关性(或称相似性、接近程度)
几种空间结构:
线性空间结构(简称线性结构) = 加法 + 数乘
内积空间结构 = 线性结构 + 内积运算
在内积空间中我们可以讨论长度、角度