原文链接

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

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

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

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

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

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

联络(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. NIOGoodDemo

    Java NIO是在jdk1.4开始使用的,它既可以说成“新I/O”,也可以说成非阻塞式I/O.下面是java NIO的工作原理: 1. 由一个专门的线程来处理所有的 IO 事件,并负责分发. 2. ...

  2. java多线程(四)

    一个例子: Account.java 客户实体类 package com.asiainfo.test.thread8; /** * 账户类 * @author luke * */ public cla ...

  3. cpp 学习笔记

    1.C++中模仿gets是  getline(cin, string object) #include <bits/stdc++.h> #define IOS ios::sync_with ...

  4. Integer代码分析

    我们都知道Integer是int的封装类,提供了一些类型转换等工具方法,有一个-128-127的缓存,而且是final的. ----------------------------- 干货: Inte ...

  5. Qt 学习(3)

    Qt 修改 Windows 注册表项 在使用 FT232R 驱动(usb转串口设备)连接电脑时,下位机发送的数据会被转换器缓存起来,由串口转换器驱动设定的延时定时发送到 PC,这样就造成了一个问题:上 ...

  6. java学习第十二天

    1:Scanner的使用(了解) (1)在JDK5以后出现的用于键盘录入数据的类. (2)构造方法: A:讲解了System.in这个东西. 它其实是标准的输入流,对应于键盘录入 B:构造方法 Inp ...

  7. avalon教程-简介

    avalon是什么? avalon是一个MVVM框架, Modle-模型层,即为js中从后台接口中取出的数据,例如一个对象或者对象数组,并对这些数据进行一定的格式化.常见的返回数据是这样的{id : ...

  8. C#本期本周的算法

    C#根据当前时间获取,本周,本月,本季度等时间段 DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Conve ...

  9. JavaScript 函数 (function)

    //声明(有参数.有返回值) function fun() { var name = '小黑'; ) { name = arguments[]; //接受参数 } alert(name); retur ...

  10. 零基础逆向工程38_Win32_12_信号量_线程控制小结

    1 信号量 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用.[百度百科] 1.1 创建信号量 HANDLE Create ...