角速度、轴矢量、2-矢量

大家对矢量应该都不陌生吧?是的,我们已经接触到不少的矢量了,如位移、速度、角速度、电场强度等。

但,我其实可以把矢量再细分为两类:一般的矢量和轴矢量,比如,位移、速度就是一般的矢量;而角速度、磁感应强度等则是轴矢量。

那么什么是轴矢量呢?它和一般矢量又有什么区别?在这篇文章中我们将讨论轴矢量的本质,我们会发现其实角速度和磁感应强度等只有在三维空间中才能定义为矢量,要想推广到其他维度必须把它们定义为2-矢量

2-矢量在几何上也大有用处,大家也可以去看一下wxy的这篇文章,从四维几何的角度引入2-矢量。 注:文中的黑体字母和有箭头的字母都表示向量。

重点内容

  • 轴矢量的定义
  • 角速度的推广与2-矢量
  • 外代数:楔积以及霍奇对偶
  • 四维空间中的双旋转

从角速度讲起

让我们从角速度开始吧。角速度我们应该都很熟悉,他就是一个长度等于角速度大小,方向根据旋转方向与右手螺旋定则确定的矢量。 那么它与普通的矢量有什么不一样?通过一个镜像变换我们就看以看出来了:

我们把一个旋转的盘子照一下镜子。我们发现盘子上任意一点的速度只是被简单的镜像了一下,但角速度矢量却除了被镜像了一下,还反了一下方向!这就是轴矢量与普通矢量不同的地方:在经历镜像(或者说反射)变换时,除了被镜像一下,方向还会被反一下,即它的各个分量会得到一个负号。

磁感应强度也是如此,只需用在上图中把盘子换成一个通有电流的环形导线:

我们把这种矢量叫做轴矢量,或者伪(赝)矢量。为什么叫伪矢量呢?这是因为有些文献把矢量定义成在参与坐标变换时必须满足一定条件的一堆数,即矢量的各个分量\(v_{i}\),这些分量要使矢量在变换前后不变,也就是说矢量是和坐标系无关的。而轴矢量是和坐标系有关的,在镜子外如果我们选择的是右手坐标系,那么在镜子内就成了左手坐标系,但这个坐标系的变换改变了角速度方向,因此轴矢量是和坐标系有关的矢量

这里我们可以提出两个问题:

  • 为什么像角速度这样的矢量会是轴矢量,这里面的根源是什么?
  • 在后面我们会发现只有在三维空间里面角速度等才可以定义成矢量,这暗示了角速度的本质不是矢量,那么是什么呢?

其实文章的开头已经回答了第二个问题:这个量就是2-矢量。那么这又是一个什么东西呢?它的性质又是什么呢?下面我们就来讨论一下2-矢量。

角速度的另一种表示

我们以角速度为例子来引出2-矢量。大家想过角速度在其他维度中的推广没有?我们先不看难想的四维空间,先来看一下二维空间中的角速度。

请问这个逆时针旋转的圆盘,它的角速度是什么样的?我想很多物理书上都说它是垂直于纸面向上的。然而我们知道,二维空间里面根本就不存在这个“垂直于纸面向上”的方向,所以这种说法其实是不对的。

在二维空间中物体的转动方向就只有顺时针和逆时针两种,所以实际上用一个标量就可以描述了。更准确地,一个伪标量,因为和三维情形一样,照了镜子以后会反号。

那么圆盘上任何一点的线速度呢?三维空间里面是\(\vec{v}=\vec{\omega}\times\vec{r}\),如果我们认为二维角速度是标量,那么我们可以把这个表达式“降维”成 \(\vec{v}=\omega(-y,x)\) 好了,二维我们已经知道可以定义成(伪)标量了,那么,四维呢?情况就复杂了,因为四维还涉及到了双旋转,标量和矢量都不行了,只能用二阶张量,即一种可以表示成矩阵的量。我们发现这样类比下去维度越高就会越复杂,那么,有没有一种简单的,对所有维度都一样的表达呢?

答案是有的,我们可以从线速度的表达式入手。我们不妨把线速度换一种写法:

\[\vec{v}=\begin{pmatrix} 0 & -\omega \\ \omega & 0 \end{pmatrix} \begin{pmatrix}x \\ y\end{pmatrix}\]

其中最右边的那个列向量就是向径,而那个矩阵就是我们想要的东西,它就是2-矢量的矩阵表示。而且我们发现这个定义在三维空间也行得通,如\(\vec{\omega}=(1,1,1)\),那么它的线速度按照上面的方式就可以表示为

\[\vec{v}=\begin{pmatrix}0 & -1 & 1 \\ 1 & 0 & -1 \\ -1 & 1 & 0 \end{pmatrix} \begin{pmatrix}x \\ y \\ z\end{pmatrix}\]

同样是一个矩阵乘以向径的列向量,只是矩阵的阶数变了而已。我们已经发现这个矩阵的一个性质了:它是反对称的。 好了,为了更深入地探讨2-矢量,我们需要了解一下它的定义以及性质。

外代数

2-矢量其实是外代数中的n-形式的一种特殊情况,我们先来看一下它的定义。 对于两个矢量\({\bf a}\)和\({\bf b}\),定义楔积“\(\land\)”为一种2-矢量: \({\bf\omega}={\bf a}\land{\bf b}\) 其中楔积满足以下几个性质:

  • 线性性,即常数可以提出来,以及分配律: \((c{\bf a})\land{\bf b}={\bf a}\land(c{\bf b})=c({\bf a}\land{\bf b})\) \(({\bf a}+{\bf b})\land{\bf c}={\bf a}\land{\bf c}+{\bf b}\land{\bf c}\)
  • 反对称性: \({\bf a}\land{\bf b}=-{\bf b}\land{\bf a}\)

所以矢量和它自己的楔积总是为0 比如,有两个矢量\({\bf a}_{1}=a{\bf e}_{x}+b{\bf e}_{y}\)和\({\bf a}_{2}=c{\bf e}_{x}+d{\bf e}_{y}\),那么它们的楔积就为

\[\begin{align} {\bf a}_{1}\land{\bf a}_{2}&=ad{\bf e}_{x}\land{\bf e}_{y}+bc{\bf e}_{y}\land{\bf e}_{x}\\ &=(ad-bc){\bf e}_{x}\land{\bf e}_{y} \end{align}\]

其中\({\bf e}_{x}\land{\bf e}_{y}\)就是2-矢量的单位基底,就类似于矢量的基底一样。在二维空间中有1个,三维空间中有3个。

那么这样定义出来的2-矢量的几何意义是什么呢?我们知道,标量,即0-形式就是一个点,矢量,即1-形式就是一条线,那么,2-矢量就是一个面了。 图片来自维基百科|"width: 400px" 我们发现其实\({\bf a}\land{\bf b}\)就类似于矢量之间的叉乘\({\bf a}\times{\bf b}\),它的“方向”也是由右手螺旋定则确定的。如果我们用2-矢量来表示角速度,那么它的“方向”就表示物体的旋转方向,大小就是角速度的大。感觉比用矢量表示角速度自然多了。为了求出角速度2-矢量,我们可以先找出物体旋转所在面中的两个相互垂直的单位矢量,然后作楔积,再乘以角速度大小。比如对于角速度\(\vec{\omega}=(0,0,\omega)\),它的2-矢量为\({\bf\omega}=\omega{\bf e}_{x}\land{\bf e}_{y}\)。

2-矢量的内积

我们知道矢量基底的内积定义为 \(\langle{\bf e}_{i},{\bf e}_{j}\rangle=\begin{cases}0 (i\neq j)\\1 (i=j)\end{cases}=\delta_{ij}\) 类比这个定义,2-矢量基底的内积定义为 \(\langle{\bf e}_{i}\land{\bf e}_{j},{\bf e}_{k}\land{\bf e}_{l}\rangle=\delta_{ik}\delta_{jl}-\delta_{ij}\delta_{kl}\) 这个定义就可以保证只有当基底完全一样时内积才不为0,如果基底中参与楔积的两个矢量一样,只是顺序不一样,那么就等于-1,如\(\langle{\bf e}_{x}\land{\bf e}_{y},{\bf e}_{y}\land{\bf e}_{x}\rangle=-1\)。 那么矢量基底\({\bf e}_{i}\)与2-矢量基底\({\bf e}_{j}\land{\bf e}_{k}\)的内积怎么定义?遗憾的是,内积只能定义在同阶形式之间,如果不同阶就只能定义张量内积

其实2-矢量也是一种张量。那么什么是张量呢?这个不是一两句话就说的清楚的。在张量代数里面楔积可以写成

\[{\bf a}\land{\bf b}={\bf a}{\bf b}-{\bf b}{\bf a}\]

上式中的\({\bf a}{\bf b}\)既不是矢量内积也不是矢量外积,而是一种新的运算:并矢积,它的运算法则和矩阵一样只满足线性性而不满足交换律。于是我们可以定义2-矢量与矢量的张量内积: \(({\bf a}\land{\bf b})\cdot{\bf c}=({\bf a}{\bf b}-{\bf b}{\bf a})\cdot{\bf c}=({\bf b}\cdot{\bf c}){\bf a}+({\bf a}\cdot{\bf c}){\bf b}\) 所以,对于2-矢量的基底与基矢量我们有\(({\bf e}_{i}\land{\bf e}_{j})\cdot{\bf e}_{i}=-{\bf e}_{j}\)以及\(({\bf e}_{i}\land{\bf e}_{j})\cdot{\bf e}_{j}={\bf e}_{i}\)

与叉乘的关系

我们下一步希望把线速度公式\(\vec{v}=\vec{\omega}\times\vec{r}\)改写成用角速度2-矢量来表示,而这个式子里面有一个叉乘。为了看出叉乘与楔积的关系我们不妨把它们的表达式写出来:

\[\begin{align} \vec{\omega}\times\vec{r}&=(\omega_{y}r_{z}-\omega_{z}r_{y})\vec{e}_{x}\\ & +(\omega_{z}r_{x}-\omega_{x}r_{z})\vec{e}_{y}\\ & +(\omega_{x}r_{y}-\omega_{y}r_{x})\vec{e}_{z}\\ &=\Sigma_{ij}\omega_{i}r_{j}\epsilon_{ijk}\vec{e}_{k} \end{align}\] \[\begin{align} \vec{\omega}\land\vec{r}&=(\omega_{y}r_{z}-\omega_{z}r_{y})\vec{e}_{y}\land\vec{e}_{z}\\ & +(\omega_{z}r_{x}-\omega_{x}r_{z})\vec{e}_{z}\land\vec{e}_{x}\\ & +(\omega_{x}r_{y}-\omega_{y}r_{x})\vec{e}_{x}\land\vec{e}_{y}\\ &=\Sigma_{ij}\omega_{i}r_{j}\vec{e}_{i}\land\vec{e}_{j} \end{align}\]

其中\(\epsilon_{ijk}\)称为置换张量,它满足\(\epsilon_{xyz}=1\)并且交换任意两个下标就反号,如果有相同的下标就为0。 是不是感觉这两个式子很像,只是最后的矢量基底不一样?我们希望能建立一种像\({\bf e}_{y}\land{\bf e}_{z}\to{\bf e}_{x}\)的对应关系。这种对应关系就叫做霍奇对偶,记为“\(\star\)”,在三维空间中我们有:\(\star(\vec{e}_{x}\land\vec{e}_{y})=\vec{e}_{z}\),\(\star(\vec{e}_{y}\land\vec{e}_{z})=\vec{e}_{x}\),\(\star(\vec{e}_{z}\land\vec{e}_{x})=\vec{e}_{y}\),即\(\star(\vec{e}_{i}\land\vec{e}_{j})=\epsilon_{ijk}\vec{e}_{k}\),只要保证那三个角标是xyz的循环排列就可以。所以我们得到楔积与叉乘的关系了:

\[\vec{a}\times\vec{b}=\star(\vec{a}\land\vec{b})\]

由于\(\star{\bf a}=a_{x}{\bf e}_{y}\land{\bf e}_{z}+a_{y}{\bf e}_{z}\land{\bf e}_{x}+a_{z}{\bf e}_{x}\land{\bf e}_{y}={1 \over 2}\Sigma_{ijk}a_{i}\epsilon_{ijk}{\bf e}_{j}\land{\bf e}_{k}\),根据我们张量内积的定义,经过一番运算后我们可以得出\((\star{\bf a})\cdot{\bf b}=-\star({\bf a}\land{\bf b})\)

角速度2-矢量的定义

好了,我们已经准备好所有的材料了,根据上面的两个公式我们可以把线速度的计算公式写成 \(\vec{v}=(-\star\vec{\omega})\cdot\vec{r}\) 所以我们定义角速度2-矢量为:\({\bf\omega}=-\star\vec{\omega}\),这时线速度就可以写成\(\vec{v}={\bf\omega}\cdot\vec{r}\),角速度2的大小就是它自己与自己的内积,即\(\vert\omega\vert=\langle\omega,\omega\rangle\),然后利用基底的内积公式计算。由于这些基底都是正交的,所以最终它的大小和矢量的模类似,就是各个分量的平方和的根。如\({\bf\omega}=a{\bf e}_{y}\land{\bf e}_{z}+b{\bf e}_{z}\land{\bf e}_{x}+c{\bf e}_{x}\land{\bf e}_{y}\),那么\(\vert\omega\vert=\sqrt{a^2+b^2+c^2}\)

现在我们已经可以回答上面提出的第一个问题了:我们发现角速度矢量和角速度2-矢量就是一个霍奇对偶的关系,而霍奇对偶中就会引入伪张量\(\epsilon_{ijk}\),这就导致了角速度矢量为轴矢量。

我们还发现n维空间中2-矢量的基底个数为\(C_{n}^{2}\)个,也就是说三维空间是唯一使得矢量基底数与2-矢量基底数一样的空间!这使得我们可以在矢量空间与2-矢量空间之间建立一种同构映射,即霍奇对偶。既然矢量和2-矢量都是同构的我们就随便用那个都可以,为了方便我们就选择了矢量。 三维空间真的是一个有很多巧合的空间,我感觉我们能生活在三维空间真的很幸运,不然我们在做物理题时角速度和磁感应强度还得写成矩阵。。。

矩阵表示

前面我们不是说过2-矢量可以表示成矩阵吗?我们可以利用张量代数中楔积的公式来做到这一点。还是以角速度\(\vec{\omega}=(1,1,1)\)为例,它的2-矢量为 \({\bf \omega}=-(\star{\bf e}_{x}+\star{\bf e}_{y}+\star{\bf e}_{z})=-{\bf e}_{y}\land{\bf e}_{z}-{\bf e}_{z}\land{\bf e}_{x}-{\bf e}_{x}\land{\bf e}_{y}\) 为了能写成矩阵形式,我们可以把矢量都看成列向量,然后把楔积写成\({\bf a}\land{\bf b}={\bf a}{\bf b}^{T}-{\bf b}{\bf a}^{T}\)。所以那三个基底分别为

\[{\bf e}_{y}\land{\bf e}_{z}=\begin{pmatrix}0&0&0\\0&0&1\\0&-1&0\end{pmatrix}\] \[{\bf e}_{z}\land{\bf e}_{x}=\begin{pmatrix}0&0&-1\\0&0&0\\1&0&0\end{pmatrix}\] \[{\bf e}_{x}\land{\bf e}_{y}=\begin{pmatrix}0&1&0\\-1&0&0\\0&0&0\end{pmatrix}\]

我们发现由于每个基底的矩阵都是反对称的,所以它们的线性叠加也一定是反对称的,因此角速度2-矢量的矩阵一定是一个反对称矩阵。 将上面三个矩阵代进去,我们得到角速度的矩阵表示,和我们最上面的一样:

\[{\bf\omega}=\begin{pmatrix}0&-1&1\\1&0&-1\\-1&1&0\end{pmatrix}\]

它和向径矢量的矩阵乘积就是线速度。

可能你会问为什么那个张量积可以转化为矩阵乘积?这其实很好理解,我们可以把角速度2-矢量写成张量的形式\({\bf\omega}=\Sigma_{ij}\omega_{ij}{\bf e}_{i}{\bf e}_{j}\),所以\(\vec{v}=\Sigma_{ijk}\omega_{ij}{\bf e}_{i}({\bf e}_{j}\cdot{\bf e}_{k}){\bf r}_{k}=\Sigma_{ijk}\omega_{ij}{\bf e}_{i}\delta_{ik}{\bf r}_{k}=\Sigma_{ij}\omega_{ij}{\bf e}_{i}{\bf r}_{i}\),因此线速度的第i分量为\(v_{i}=\Sigma_{j}\omega_{ij}{\bf r}_{j}\)。很明显,这就是矩阵乘积的定义式。

//注:这种指标记法在物理中用的很多,但如果你反应不过来可以老老实实地把它的每一项写出来验证。

其他轴矢量

根据公式\({\bf a}\times{\bf b}=\star({\bf a}\land{\bf b})\)我们可以猜测:只要是出现在叉乘中的矢量,它的本质就有可能是2-矢量。如果一个轴矢量a的定义为\(\vec{a}=\vec{b}\times\vec{c}\),我们可以对它取霍奇对偶再取相反数,然后利用上面的公式把他变成\(\vec{a}=\vec{b}\land\vec{c}\)。

比如,毕奥-萨伐尔定律 中将磁感应强度定义为\(d\vec{B}={\mu_{0}\over 4\pi}{I\vec{dl}\times\vec{r} \over r^3}\),所以磁感应强度2-矢量就是\(d{\bf B}={\mu_{0}\over 4\pi}{I\vec{dl}\land\vec{r} \over r^3}\)。因此我们可以用磁感应强度2-矢量把洛伦兹力写成\(\vec{F}=q{\bf B}\cdot\vec{v}\)。

还有一个量:旋度。由于它的定义式\({\bf curl}\vec{F}=\nabla\times\vec{F}\)中也出现了叉乘。有上面类似我们可以把“旋度2-矢量”写成\({\bf curl}\vec{F}=\nabla\land\vec{F}\)。然而数学上并不是这样表示的,标准的定义还用到了另一个东西:外微分算符(“d”),这就涉及到更多的外代数了,这里我就不介绍了,大家可以到维基百科上去看一下。

四维角速度与双旋转

既然角速度2-矢量是适用于任何维度的,那么我们现在就用它来研究一下四维空间中的旋转规律。 我们仍然使用角速度的矩阵表示,在四维空间它就该是一个四阶方阵。由于它是4x4的,所以就有可能可以被分块成两个反对称矩阵:

\[{\bf\omega}=\begin{pmatrix}{\bf A}&{\bf O}\\{\bf O}&{\bf B}\end{pmatrix}\]

代入线速度的公式我们发现

\[\begin{pmatrix}v_{x}\\v_{y}\end{pmatrix}={\bf A}\begin{pmatrix}x\\y\end{pmatrix}, \begin{pmatrix}v_{z}\\v_{t}\end{pmatrix}={\bf B}\begin{pmatrix}z\\t\end{pmatrix}\]

也就是说,物体在\(Oxy\)面中的坐标只会影响到它在\(Oxy\)面中线速度的分量,\(Ozt\)面中的坐标同样也只影响\(Ozt\)面中的速度。在\(Oxy\)面中的旋转与\(Ozt\)面中的旋转是完全独立的,就好像是两个不同的转动一样。而且,空间中除了旋转的轴点以外其他点都在旋转,此时根本就没有旋转轴之类的东西了!我们把这种旋转称为双旋转。类似地,六维空间中就有三旋转,八维空间中就有四旋转,2n维空间中就有n旋转。在我之前的文章中已经有双旋转的例子了,它就是洛伦兹变换,即时空的伪转动和空间的转动一起构成双旋转。

角速度2-矢量的矩阵表示还有这样一个好处:它和与这个角速度对应的旋转变换矩阵之间有一个映射关系,这个我在以后的文章中再继续讲。

对于文中外代数部分大家可以去看一下维基百科

原文转自 Hadroncfy’s Notebook