这个数学公式如何理解运用是什么意思?

  我曾经在另一个回答里面为了唯一表示n维空间中的m维子空间,引入“楔乘”这个运算:在四维或更高维的空间中,该如何定义转动?  虽然解释了其中的几何意义,但估计很多学过微分流形相关的书籍上的读者会觉得奇怪,为什么这里的定义和那些书上不一样呢?又为什么把楔乘结果的线性组合称为“反对称张量”呢?  这里将举例说明,其实在几何上给的楔乘的定义与微分流形相关书籍上用“全排列”给的楔乘定义是完全相同的。  建议读者在看后面的内容之前,需要先搞清楚我前面引入“楔乘”运算的回答的内容,搞清这个运算的几何意义。  后面的内容牵扯到了与线性代数相关的知识,建议先把线性代数掌握好,理解起来才会更容易。线性代数中的向量线性映射  微分流形相关的书籍首先定义了一个特殊的概念——张量,相当于对我们在《线性代数》中学的“线性变换”的拓展。  在《线性代数》中,我们学的“线性变换”,是指把线性空间中一个向量映射为另一个向量的映射法则f,而且这个映射法则满足线性性质:f(c\alpha+d\beta)=cf(\alpha)+df(\beta)\\   只要在线性空间中确定一组基向量 \{\mathbf{e}_1,\mathbf{e}_2,\cdots\mathbf{e}_n\} ,f对它们的作用满足:f(\mathbf{e}_1)=a_{11}\mathbf{e}_1+a_{12}\mathbf{e}_2+\cdots+a_{1n}\mathbf{e}_n\\ f(\mathbf{e}_2)=a_{21}\mathbf{e}_1+a_{22}\mathbf{e}_2+\cdots+a_{2n}\mathbf{e}_n\\ \cdots\cdots\\ f(\mathbf{e}_n)=a_{n1}\mathbf{e}_1+a_{n2}\mathbf{e}_2+\cdots+a_{nn}\mathbf{e}_n   线性映射即可写成一个矩阵:\mathbf{A}=\left(\begin{array}{cccc} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \cdots & \cdots & \cdots & \cdots\\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{array}\right)\\   利用这个矩阵,向量 \mathbf{u}=u_1\mathbf{e}_1+u_2\mathbf{e}_2+\cdots+u_n\mathbf{e}_n 到向量 \mathbf{v}=v_1\mathbf{e}_1+v_2\mathbf{e}_2+\cdots+v_n\mathbf{e}_n 的映射,可以用矩阵表示它们的系数的关系:\left(\begin{array}{c} v_1 \\ v_2 \\ \cdots \\v_n \end{array}\right) = \left(\begin{array}{cccc} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \cdots & \cdots & \cdots & \cdots\\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{array}\right) \left(\begin{array}{c} u_1 \\ u_2 \\ \cdots \\u_n \end{array}\right)\\
  在基向量的取定的前提下,只需要记录向量的系数和矩阵中的元素,即可充分记录几何中的元素信息。  我们把一个由n个实数组成的有序集合称为“向量”,把由n×n个有序实数组成的有n×n阵列结构的集合称为“矩阵”。矩阵元素为记录了一个向量到向量的映射法则。映射张量的引入  张量在几何上的定义并不直观,但是在深度学习中却作为一种运算法则被广泛应用,这里先说明它的运算法则,然后再解释它的几何意义。  深度学习里的映射张量是一个有着 n_1\times{}n_2\times\cdots\times{}n_m 阵列结构的数表,它的元素也是这样多。其中m称为张量的阶数(rank,虽然与“矩阵的秩”是同一个单词,但意义完全不一样),而 n_1, n_2, \cdots, n_m 则是张量的维度(dimension),阶数和维度统称为张量的形状(shape)。  例如,n维向量是一个1阶张量,它的维度是n,m×n矩阵是一个2阶张量,它的维度分别是m和n。张量的阶数越高,结构越复杂,元素就越多,包含的信息也就越丰富。  映射张量可以定义数乘运算,即它的每一个元素都统一乘以一个数。阶数相同,且各阶的维度对应相等的张量也可以定义加减运算。其中数乘运算对加减运算符合分配率。  由于张量有着复杂的结构,可以在上面定义各不相同的乘法运算。我们以最熟悉的2阶张量(即矩阵)为例,介绍几种常见的运算。先设A和B都是结构n×n的二阶张量:\mathbf{S}=\left(\begin{array}{cccc} s_{11} & s_{12} & \cdots & s_{1n}\\ s_{21} & s_{22} & \cdots & s_{2n}\\ \cdots & \cdots & \cdots & \cdots\\ s_{n1} & s_{n2} & \cdots & s_{nn} \end{array}\right), \mathbf{T}=\left(\begin{array}{cccc} t_{11} & t_{12} & \cdots & t_{1n}\\ t_{21} & t_{22} & \cdots & t_{2n}\\ \cdots & \cdots & \cdots & \cdots\\ t_{n1} & t_{n2} & \cdots & t_{nn} \end{array}\right)\\   它们的张量积 P是一个n×n×n×n的四阶张量,张量积运算使用符号 \otimes 来表示:\mathbf{P}=\mathbf{S}\otimes\mathbf{T}\\   四阶张量P的结构意味着,P中的元素需要用4个脚标来区分,其中脚标为ijkl的元素数值为:p_{ijkl}=s_{ij}t_{kl}\\   由此可见,一个m_1 阶张量和一个m_2 阶张量的张量积是m_1+m_2 阶张量,张量积中的元素使用直接相乘即可得到。映射张量的点积运算  映射张量的张量积不难定义,而在实际应用中,张量的点积(dot)运算实际反映了它的本质意义:线性映射。以前面定义的二阶张量S和T为例,它们之间的点积运算即是矩阵乘法运算:\mathbf{D}=\mathbf{S}\cdot\mathbf{T}\\   根据矩阵运算的法则,D是一个二阶张量,它的每个分量有两个脚标,其中脚标为ij的元素数值为:d_{ij}=s_{i1}t_{1j}+s_{i2}t_{2j}+\cdots+s_{in}t_{nj}\\   这个点积运算可以拓展到任意两个张量,但是点积运算要求左侧张量最右侧的维度与右侧张量最左侧的维度相同。不难发现,一个 m_1 阶张量与一个 m_2 阶张量的点积运算可以得到一个 m_1+m_2-2 阶张量。  张量还有其它形式的乘法运算,如果大家有兴趣,可以参见tensorflow相关的文档:  张量的点积运算反映了它作为一种映射法则,因而映射张量的几何意义可以如下递归定义:一个1阶张量是一个向量一个2阶张量是一个向量到另一个1阶张量的线性映射法则一个3阶张量是一个向量到另一个2阶张量的线性映射法则一个4阶张量是一个向量到另一个3阶张量的线性映射法则……一个n阶张量是一个向量到另一个n - 1阶张量的线性映射法则……  不难发现,在张量的定义下,两个向量α和β的张量积是一个二阶张量,它作为映射法则,有如下的性质:(\alpha\otimes\beta)\cdot\gamma=(\beta\cdot\gamma)\alpha\\ \gamma\cdot(\alpha\otimes\beta)=(\gamma\cdot\alpha)\beta\\ (\alpha\otimes\beta)\cdot(\gamma\otimes\delta)=(\beta\cdot\gamma)\alpha\otimes\delta   另外,一个m阶张量也可以视为一个r阶张量(r < m)到一个(m - r)阶张量的线性映射,但这个映射就需要定义多重点积。请参见tensorflow官方文档中对tensordot函数的讲解:  如果你能驾驭张量运算,对于理解机器学习和微分流形都会有很大帮助。楔乘结果的唯一表示  如果我们要在纸上把一个张量的元素写出来,1阶张量可以横写为“行向量”,也可以竖写为“列向量”;2阶张量写成一个矩阵;3阶张量在平面的纸上就无法保持它原有的结构了,只能一层一层地写,更高阶的张量也只能按顺序来枚举它的分量了。  但是在计算机中,我们可以定义高维数组保持它的结构,因而要表示一个张量是很容易的。用基向量楔乘表示的楔乘运算能不能用这么规整的数组表示呢?在四维或更高维的空间中,该如何定义转动?  我在前面的回答中,以4维空间为例,用两个不共线的向量的楔乘唯一表示了二维子空间。这里换个写法:\mathbf{u}=u_1\mathbf{e}_1+u_2\mathbf{e}_2+u_3\mathbf{e}_3+u_4\mathbf{e}_4\\ \mathbf{v}=v_1\mathbf{e}_1+v_2\mathbf{e}_2+v_3\mathbf{e}_3+v_4\mathbf{e}_4 \mathbf{u}\wedge\mathbf{v}= \left|\begin{array}{cc} u_1 & u_2\\ v_1 & v_2 \end{array}\right|\mathbf{e}_1\wedge\mathbf{e}_2 +\left|\begin{array}{cc} u_1 & u_3\\ v_1 & v_3 \end{array}\right|\mathbf{e}_1\wedge\mathbf{e}_3 +\left|\begin{array}{cc} u_1 & u_4\\ v_1 & v_4 \end{array}\right|\mathbf{e}_1\wedge\mathbf{e}_4\\ +\left|\begin{array}{cc} u_2 & u_3\\ v_2 & v_3 \end{array}\right|\mathbf{e}_2\wedge\mathbf{e}_3 +\left|\begin{array}{cc} u_2 & u_4\\ v_2 & v_4 \end{array}\right|\mathbf{e}_2\wedge\mathbf{e}_4 +\left|\begin{array}{cc} u_3 & u_4\\ v_3 & v_4 \end{array}\right|\mathbf{e}_3\wedge\mathbf{e}_4   从中可以发现,要完整表示出这个楔乘结果,也必须使用两个下标作为分量。但是,每一项都有不止一种表示方法,以包含 \mathbf{e}_1\wedge\mathbf{e}_2 的这一项为例,它可以表示为:\left|\begin{array}{cc} u_1 & u_2\\ v_1 & v_2 \end{array}\right|\mathbf{e}_1\wedge\mathbf{e}_2 =-\left|\begin{array}{cc} u_1 & u_2\\ v_1 & v_2 \end{array}\right|\mathbf{e}_2\wedge\mathbf{e}_1\\ =\frac{1}{2}\left|\begin{array}{cc} u_1 & u_2\\ v_1 & v_2 \end{array}\right|\mathbf{e}_1\wedge\mathbf{e}_2 -\frac{1}{2}\left|\begin{array}{cc} u_1 & u_2\\ v_1 & v_2 \end{array}\right|\mathbf{e}_2\wedge\mathbf{e}_1
  根据楔乘运算的反交换率,这几种表示都是同一个量,那如何唯一表示呢?数学家们做出了统一的规定:楔乘的表示一定要体现出它的反对称性质,要求不同排列的脚标的数值要按奇偶性确定符号,且绝对值相等。  按照这一规则,可以表示为\mathbf{u}\wedge\mathbf{v}\\ =w_{11}\mathbf{e}_1\wedge\mathbf{e}_1+w_{12}\mathbf{e}_1\wedge\mathbf{e}_2+w_{13}\mathbf{e}_1\wedge\mathbf{e}_3+w_{14}\mathbf{e}_1\wedge\mathbf{e}_4\\ +w_{21}\mathbf{e}_2\wedge\mathbf{e}_1+w_{22}\mathbf{e}_2\wedge\mathbf{e}_2+w_{23}\mathbf{e}_2\wedge\mathbf{e}_3+w_{24}\mathbf{e}_2\wedge\mathbf{e}_4\\ +w_{31}\mathbf{e}_3\wedge\mathbf{e}_1+w_{32}\mathbf{e}_3\wedge\mathbf{e}_2+w_{33}\mathbf{e}_3\wedge\mathbf{e}_3+w_{34}\mathbf{e}_3\wedge\mathbf{e}_4\\ +w_{41}\mathbf{e}_4\wedge\mathbf{e}_1+w_{42}\mathbf{e}_1\wedge\mathbf{e}_2+w_{43}\mathbf{e}_4\wedge\mathbf{e}_3+w_{44}\mathbf{e}_4\wedge\mathbf{e}_4   其中这些系数满足:w_{11}=w_{22}=w_{33}=w_{44}=0\\ w_{ij} = -w_{ji} = \frac{1}{2}\left|\begin{array}{cc} u_i & u_j\\ v_i & v_j \end{array}\right
  这样表示变得非常规整。不难验证,即使把里面的楔乘符号“ \wedge ”替换成张量积符号“ \otimes ”,依然能够确保楔乘运算的“反交换率”,“结合率”,对加减运算的“分配率”等性质。  这些性质即是数学家记录楔乘结果规则的优势,而且替换以后会发现,可以使用“张量积”直接导出这些系数:\left(\begin{array}{cccc} w_{11} & w_{12} & w_{13} & w_{14}\\ w_{21} & w_{22} & w_{23} & w_{24}\\ w_{31} & w_{32} & w_{33} & w_{34}\\ w_{41} & w_{42} & w_{43} & w_{44} \end{array}\right) =\frac{1}{2}\left(\left(\begin{array}{c} u_1\\u_2\\u_3\\u_4 \end{array}\right) \otimes\left(\begin{array}{c} v_1\\v_2\\v_3\\v_4 \end{array}\right) -\left(\begin{array}{c} v_1\\v_2\\v_3\\v_4 \end{array}\right) \otimes\left(\begin{array}{c} u_1\\u_2\\u_3\\u_4 \end{array}\right)\right)\\   由于运算的同构性,数学家们干脆就把楔乘定义为了张量积的表示:\mathbf{u}\wedge\mathbf{v}=\frac{1}{2}(\mathbf{u}\otimes\mathbf{v}-\mathbf{v}\otimes\mathbf{u})\\   这样定义使得可以不再用基向量的楔乘来表示楔乘基向量,而统一使用了张量积来表示出了楔乘运算。在这样的定义下,两个向量的楔乘运算得到的系数构成一个反对称矩阵,这即是楔乘运的结果被称为“反对称张量”的由来。反对称张量的楔乘运算法则  前面规定了两个四维空间中的向量的楔乘运算用张量积的表示。这个规定可以拓展到任意有限维空间中的任意多个向量的楔乘。例如,设α,β和γ是n维空间中的三个向量,它们的楔乘可以这样写:\alpha\wedge\beta\wedge\gamma =\frac{1}{6}\left(\alpha\otimes\beta\otimes\gamma +\beta\otimes\gamma\otimes\alpha +\gamma\otimes\alpha\otimes\beta\right.\\ \left.-\beta\otimes\alpha\otimes\gamma -\gamma\otimes\beta\otimes\alpha -\alpha\otimes\gamma\otimes\beta\right)   可以看出,括号前面的分母即是括号里的项数n个向量的楔乘即是n!(n的阶乘)项,括号里面每一项都是这些向量的排列,其中奇排列取外,偶排列取正。  如果把向量α,β和γ表示成基向量的线性组合,可以发现,它们楔乘的结果的张量积表示系数构成一个3阶n维张量W,每个元素 w_{ijk} 有3个脚标,且当脚标重新排列时,有下面的关系:w_{ijk}=w_{jki}=w_{kij}=-w_{jik}=-w_{kji}=-w_{ikj}\\   即脚标的奇排列会变负号,偶排列不变,这种性质的张量称为反对称张量。在这里即解释了为什么楔乘的结果称为“反对称张量”。  对于任意一个张量T,我们把T的每个元素的脚标重新排列并放到脚标对应的位置,按照脚标排序的奇偶性加符号,所到一个新的张量。把这些张量加在一起,并除以相加的张量的总数,得到一个反对称张量,这个操作称为张量的反对称化,记为A(T)。  利用反对称化,也可以较为简洁地表达向量的楔乘:\alpha\wedge\beta\wedge\gamma=\mathcal{A}(\alpha\otimes\beta\otimes\gamma)\\   对于任意两个张量S和T,要表示它们的楔乘,则需要计算它们的项数。设S是k阶张量,T是l阶张量,把它们做张量积:\mathbf{S}\otimes\mathbf{T}\\   把这个张量积做反对称化会发现它总共有 C_{k+l}^k 项是重复的,因此,S和T的楔乘可以这样计算:\mathbf{S}\wedge\mathbf{T}=\frac{1}{k!l!}\mathcal{A}(\mathbf{S}\otimes\mathbf{T})\\ 总结  综上所述,虽然用“有向测度”定义的楔乘运算和微分流形相关教材中的定义方式差别很大,但它们在本质上是完全相同的。  也希望读者们能够能够通过看本回答真正理解反对称张量与楔乘的规则,并用这些知识做出新的发现。

我要回帖

更多关于 数学公式如何理解运用 的文章

 

随机推荐