首页 > 代码库 > 共变导数(Covariant Derivative)

共变导数(Covariant Derivative)

原文链接

导数是指某一点的导数表示了某点上指定函数的变化率。

比如,要确定某物体的速度在某时刻的加速度,就取时间轴上下一时刻的一个微小增量,然后考察速度的增量和时间增量的比值。如果这个比值比较大,说明单位时间内速度的改变量大,反之就小。注意的是,只有当时间轴上的微小增量的极限趋于零时,这个比值才是考察的时刻的加速度(即速度的导数)。

可以看出,导数的定义与极限的概念是分不开的。而极限的表述最早是由法国人费马给出的。

共变导数则是在流体上定义导数的方法。

在基于欧几里得空间的笛卡尔坐标系里,对向量场求导数的方法与上文类似,即取两个空间坐标相近的点,然后考察其向量差与位置改变的比值。如果位置改变量是无穷小量,那么可以得到该点的导数。

但是,在流形的球面上,位置改变量的计算则根本不切实际,因为当移动一个向量的时候,随着路径的不同,结果根本就不一样。一个向量沿着球面转动一圈,因为曲率不为零,可能根本就不是原来那个向量了。换句话说,在曲面上的每个点上没有统一的坐标系,所以要把坐标系的变化考虑在内。或者说是共变导数是不依赖坐标系的求导方法。

联络(Connection)

联络描述了空间中某一点,对应于另外一点的空间转换。此表述隐含了一些假设。

首先曲面上每一点定义一个相互独立的空间,称为切空间(Tangent Space)。切空间是由该点的所有切向量(Tangent Vector)组成的空间, 这些切向量都是垂直于该点法线方向的向量。其次,定义在不同切空间中的切向量是不能相互运算,比如相加和相减的。因为曲率不加以考虑的话,这些运算都没有意义。

但是,这些不同点的切空间之间是有联系的,这些联系就叫联络。联络可以把无穷接近的两个切空间中的向量,转换到同一个切空间中。联络实际上是反映了切空间的弯曲程度。

有很多种实现联络的方法。但前提是,这些不同切空间中相应的向量的分量是需要可以相互对应的。

如何使用联络定义共变导数? 使用倒三角加上两个位于同一点的向量(比如v,u)来表示。可以写作Dvu,读作向量u沿着向量v的共变导数。定义参考向量v的意义在于,移动后的u向量要额外考虑它原本参考系中的变化(联络,即跟空间的结构变化有关),这是它与普通导数的最大区别。

共变导数(Covariant Derivative)