原文链接

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

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

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

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

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

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

联络(Connection)

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

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

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

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

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

共变导数(Covariant Derivative)的更多相关文章

  1. <<Differential Geometry of Curves and Surfaces>>笔记

    <Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...

  2. <Differential Geometry of Curves and Surfaces>(by Manfredo P. do Carmo) Notes

    <Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...

  3. Derivative of the softmax loss function

    Back-propagation in a nerual network with a Softmax classifier, which uses the Softmax function: \[\ ...

  4. 泛型类型的协变(covariant)和逆变

    官网:http://msdn.microsoft.com/zh-cn/library/dd799517.aspx 原文链接:http://book.51cto.com/art/201112/30857 ...

  5. Co-variant array conversion from x to y may cause run-time exception

    http://stackoverflow.com/questions/8704332/co-variant-array-conversion-from-x-to-y-may-cause-run-tim ...

  6. Derivative of Softmax Loss Function

    Derivative of Softmax Loss Function A softmax classifier: \[ p_j = \frac{\exp{o_j}}{\sum_{k}\exp{o_k ...

  7. 逆变(contravariant)与协变(covariant):只能用在接口和委托上面

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. 协变(covariant)和逆变(contravariant)

    我们知道子类转换到父类,在C#中是能够隐式转换的.这种子类到父类的转换就是协变. 而另外一种类似于父类转向子类的变换,可以简单的理解为“逆变”. 上面对逆变的简单理解有些牵强,因为协变和逆变只能针对接 ...

  9. 逆变(contravariant)与协变(covariant)

    逆变(contravariant)与协变(covariant)是C#4新增的概念,许多书籍和博客都有讲解,我觉得都没有把它们讲清楚,搞明白了它们,可以更准确地去定义泛型委托和接口,这里我尝试画图详细解 ...

随机推荐

  1. 使用EventBus实现兄弟组件之间的通信

    使用EventBus实现兄弟组件之间的通信 需求:为了实现菜单折叠的效果,例如http://blog.gdfengshuo.com/example/work/#/dashboard header组件和 ...

  2. RTT之内核服务函数

    一 延时函数: rt_thread_delay(t) //调用时进入系统调度. rt_kprintf()函数在kservice.c中实现,如果不使用设备驱动,则由自定义函数void rt_hw_con ...

  3. C++之构造函数、拷贝类型

    无参数的构造函数适合没初始化值的初始化对象,而引用拷贝适合创建对象时用另一个对象对其初始化,如果此时用的是浅拷贝则释放一个对象内存时系统会释放2次从而出错(因为它指向同一个内存),深拷贝就不存在这个问 ...

  4. 监听outlook新邮件

    using System; using System.Linq; using Microsoft.Office.Interop.Outlook; using System.Collections.Ge ...

  5. zookeeper开源客户端curator

    zookeeper的原生api相对来说比较繁琐,比如:对节点添加监听事件,当监听触发后,我们需要再次手动添加监听,否则监听只生效一次:再比如,断线重连也需要我们手动代码来判断处理等等.对于curato ...

  6. verilog if语句

    a.基本形式 1) if(表达式) 语句1: 2)if(表达式) 语句1: else 语句1 3) if(表达式1) 语句1: else   if(表达式2) 语句2: else   if(表达式3) ...

  7. FlashFXP出现“数据Socket错误,连接超时”解决方案

    把FlashFXP选项中的"使用被动模式"的勾去掉就正常了. 或者在路由上映射服务端设定的被动模式所使用的所有端口,server-u就10个左右,微软的ftp是多少个,偶就不清楚了 ...

  8. node搭环境(四)--webpack启服务运行VUE模块文件(手写简单脚手架)

    webpack启服务步骤: 1.新建空文件夹webpack-vue.在空文件夹右键点击- GIt Bath here--输入cnpm init--按程序走完会生成package.json文件 2.打开 ...

  9. Hibernate课程 初探多对多映射2-2 创建持久化类和映射文件

    生成实体类 和 cfg.xml配置 cfg.xml 参照一对多映射 实体类如下: Project 类 package com.ddwei.entity; import java.util.HashSe ...

  10. SpringMVC ------JstlView

    摘要: Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一 .Spring3.0后全面超越Struts,成为最优秀的MVC框架 .SpringMVC通过一套M ...