线性袋鼠之内积溯源

只有考试结束之后我才能真正地学习,考试之前我都在应考。
—— 一只又在考场上被自己蠢哭的 lsq

奇怪的问题

线性代数教材上有一个乍看之下很难理解的现象。

按数学中常见的习惯,nn 维复空间 Cn\mathbb{C}^n 上的标准内积 ,\langle \cdot, \cdot \rangle 定义为:

u,v=k=1nukvk\langle \mathbf{u}, \mathbf{v} \rangle = \sum_{k=1}^n u_k \overline {v_k\raisebox{0.67em}{}}

而同时有 Hermite 二次型的定义:

f(u)=j=1nk=1naj,kujukf(\mathbf{u}) = \sum_{j=1}^n \sum_{k=1}^n a_{j,k} \overline {u_j\raisebox{0.67em}{}} u_k

这两个本该密切相关的定义,却在不同的元素上取了共轭 —— 对于内积,是后面的 vkv_k;对于二次型,是前面的 uju_j

当然也可以采用另一组定义,在此定义下 u,v\langle \mathbf{u}, \mathbf{v} \ranglef(u)f(\mathbf{u}) 中取共轭的元素都变成了另一个,上面看到的「不一致性」仍然存在。

于是在这个奇怪的问题上纠结了很久,有了一些奇妙的想法,详细记录在此。不过鬼知道是不是里面又双叒叕写错了什么咯(掩面


未加说明的情况下,约定:

  • uku_kvkv_k 分别表示 Cn\mathbb{C}^n 中向量 u\mathbf{u}v\mathbf{v} 的第 kk 维分量;
  • aj,ka_{j,k} 表示正定 Hermite 矩阵 A\mathbf{A} 的第 jj 行第 kk 列元素;

简单的解释

事实上,u,v=vHu\langle \mathbf{\mathbf{u}}, \mathbf{v} \rangle = \mathbf{v}^\mathsf{H}\mathbf{u},而 f(u)=uHAuf(\mathbf{u}) = \mathbf{u}^\mathsf{H}\mathbf{A}\mathbf{u},所以它们同为广义的二次型 QA(u,v)=vHAuQ_\mathbf{A}(\mathbf{u}, \mathbf{v}) = \mathbf{v}^\mathsf{H}\mathbf{A}\mathbf{u} 的特例。

至于取共轭的「位置」不同,不过是写法造成的假象而已。改成下面的形式便一目了然。

u,v=vHIu=j=1nk=1nvjδj,kukf(u)=uHAu=j=1nk=1nujaj,kuk\begin{aligned} \langle \mathbf{u}, \mathbf{v} \rangle = \mathbf{v}^\mathsf{H}\mathbf{I}\mathbf{u} &= \sum_{j=1}^n \sum_{k=1}^n \overline {v_j\raisebox{0.67em}{}} \delta_{j,k} u_k \\ f(\mathbf{u}) = \mathbf{u}^\mathsf{H}\mathbf{A}\mathbf{u} &= \sum_{j=1}^n \sum_{k=1}^n \overline {u_j\raisebox{0.67em}{}} a_{j,k} u_k \end{aligned}

(其中 Kronecker 函数 δj,k\delta_{j,k} 等于单位阵 I\mathbf{I} 的第 jj 行第 kk 列元素。)

复杂的解释

vHAu\mathbf{v}^\mathsf{H}\mathbf{A}\mathbf{u} 这个形式当然不是拍脑袋乱写的,数学家偏爱这个形式,其背后还有更本质的原因。[物理学上的习惯似乎是相反的,不过那样的原因(量子力学的 Dirac 符号)就与本文无关啦。]

为什么有共轭和共轭对称?

首先,标准内积里为什么有共轭?

回头看实空间上的点积,它实质上是 Euclid 范数 u2=kuk2\Vert \mathbf{u} \Vert^2 = \sum_k u_k^2 推广到两个向量的情形。

而在复空间上也需要有一个类似物,它需要满足正定性 u20\Vert \mathbf{u} \Vert^2 \geq 0。在一维情形下,复数的模 z2=zz|z|^2 = z \cdot \overline {z\raisebox{0.67em}{}} 当然是首选的定义。将其推广至 nn 维,即可定义 u2=kuk2=ukuk\Vert \mathbf{u} \Vert^2 = \sum_k |u_k|^2 = u_k \cdot \overline {u_k\raisebox{0.67em}{}}。共轭就是从这里产生的。

换一个角度,内积为什么满足的是共轭对称性 u,v=v,u\langle \mathbf{u}, \mathbf{v} \rangle = \overline {\langle \mathbf{v}, \mathbf{u} \rangle \raisebox{0.82em}{}},而非对称性 u,v=v,u\langle \mathbf{u}, \mathbf{v} \rangle = \langle \mathbf{v}, \mathbf{u} \rangle

不妨回到标准内积,试着把表达式中的实部与虚部分开。

Reu,v=k=1nReukRevk+ImukImvkImu,v=k=1nImukRevkReukImvk\begin{aligned} \operatorname{Re} {\langle \mathbf{u}, \mathbf{v} \rangle} = \sum_{k=1}^n \operatorname{Re} u_k \operatorname{Re} v_k + \operatorname{Im} u_k \operatorname{Im} v_k \\ \operatorname{Im} {\langle \mathbf{u}, \mathbf{v} \rangle} = \sum_{k=1}^n \operatorname{Im} u_k \operatorname{Re} v_k - \operatorname{Re} u_k \operatorname{Im} v_k \end{aligned}

可以发现,实部 Reu,v\operatorname{Re} {\langle \mathbf{u}, \mathbf{v} \rangle} 相当于 nnR2\mathbb{R}^2 上的点积之和;而虚部 Imu,v\operatorname{Im} {\langle \mathbf{u}, \mathbf{v} \rangle} 则等于 nnR2\mathbb{R}^2 上的叉积之和,刻画了由 v\mathbf{v}u\mathbf{u} 在「nn 维复空间中的旋转角度」—— 例如当两个向量每一维分量的幅角均相等时,Imu,v=0\operatorname{Im} {\langle \mathbf{u}, \mathbf{v} \rangle} = 0;当 u\mathbf{u} 每一维分量的幅角均为 v\mathbf{v} 对应分量逆时针旋转 9090 度时,Imu,v\operatorname{Im} {\langle \mathbf{u}, \mathbf{v} \rangle} 取到最大值 uv\Vert \mathbf{u} \Vert \cdot \Vert \mathbf{v} \Vert

而在更一般的内积定义中,自然也希望结果的实部和虚部分别有对应的性质。共轭对称性正是来源于叉积的反交换律,或者更广义的「复空间中的旋转角度」之反交换律。

这么看,「共轭」的性质确实很优秀呢。

为什么共轭取在第二个向量上?

要解决这个问题,不得不探寻内积的另一层本质,而从最简单的点积开始总是不会错的。点积的本质是什么?

当然可以说,它表示「u\mathbf{u}v\mathbf{v} 上的投影乘上 v\mathbf{v} 的原长」,但这并不够深入。

3Blue1Brown 在这个视频里详细论述了一个观点:点积是将由 v\mathbf{v} 定义的一个 RnR\mathbb{R}^n \rightarrow \mathbb{R} 的线性变换作用在了 u\mathbf{u} 上。这个变换将任一向量 u\mathbf{u} 变换为一个标量 vTu\mathbf{v}^\mathsf{T}\mathbf{u}

在这个视角下,一个内积函数与一个向量也能共同确定一个线性变换。也就是说,「内积」是一个将向量映射到一个线性变换的算子。这不过是一次函数 Curry 化:二元运算 CnCnC\mathbb{C}^n \rightarrow \mathbb{C}^n \rightarrow \mathbb{C} 与上述算子 Cn(CnC)\mathbb{C}^n \rightarrow (\mathbb{C}^n \rightarrow \mathbb{C}) 是等价的。

一个正定 Hermite 矩阵 A\mathbf{A} 便定义了这样一个线性算子,它将一个向量 v\mathbf{v} 映射为 vHA\mathbf{v}^\mathsf{H}\mathbf{A} 在自然基下所对应的线性变换。将这个变换作用于 u\mathbf{u},即是之前所见的 vHAu\mathbf{v}^\mathsf{H}\mathbf{A}\mathbf{u} 这一形式。它实际上也是 Cn\mathbb{C}^n 上内积的一般形式(Hermite 形式)。

从而共轭之所以取在 v\mathbf{v} 上,是因为我们希望 u\mathbf{u} 作为被变换的元素保留其原始状态,而将所有的运算放进 CnC\mathbb{C}^n \rightarrow \mathbb{C} 这个线性变换中去。至于 u\mathbf{u} 放在 v\mathbf{v} 前面的原因,大概也是觉得「先写被变换的元素,再指出变换」在这个二元运算当中比较符合直觉吧。

参考

  1. 室友在 blog 里记录的这个问题,后续利用对偶空间的解释确实更加简洁~
  2. 3B1B:点积和对偶性
  3. Wikipedia:半双线性形式
  4. MathOverflow:内积的几何本质?← 标准内积实部与虚部含义的内容来源于这个回答中的见解。

要是数学也爱我该多好…… QAQ

作者:Shiqing
链接:https://kawa.moe/2019/06/hermite-innerprod/
版权:文章在 CC BY-NC-SA 4.0 许可证下发布。转载请注明来自 quq