转载自:http://blog.csdn.net/wangxiaojun911/article/details/17076465

欧几里得几何学(Euclidean Geometry)

两千三百年前,古希腊数学家欧几里得著成了《几何原本》,构建了被后世称为“欧几里得几何学”的研究图形的方法。欧几里得创立了当时颇为独特的公理系统,即首先提出一些显然的、不言自明的公理。

比如,他提出了“三角形的内角和一定等于一百八十度”的定理,他的许多几何计算也是基于此,并且看起来颇为正确。但是后来的数学家对此产生了质疑,认为这个定理是缘于经验而并非真理。那么,把不遵从欧几里德公里系统的几何学,也取了个相对应的名字,叫“非欧几里德几何学”(non-Euclidean Geometry)。

欧几里德几何对空间物体的刻画,是基于某个维度上的内积(Inner Product)。对于空间中的一些点或线,我们感兴趣的是它们的距离、角度等等属性,这可以通过求其内积获得。例如,在二维空间里两个向量X=(x1, x2)和Y=(y1, y2)的距离为x1*y1+x2*y2。也就是等于内积<X, Y>。此公式可以推广到三维空间,甚至是大于三维的空间。因此欧几里德空间也被称为“有限维实内积空间”。

然而,就如同三角形的内角和问题一样,在使用中也发现了欧几里德空间的局限性。这就必须先从拓扑学谈起。

拓扑学(Topology)

“拓扑学家就是不会区分甜甜圈和咖啡杯的人。” -John L. Kelley

“拓扑”这个词在希腊语中的意思是地貌。拓扑学是研究几何体连续形变中保持不变的性质。比如下面链接里介绍的“亏格”。无论怎么变形,亏格不同的对象都无法变成同一个模样。亏格就是一个拓扑不变量。
亏格

而连续的变换最后都能变成一样的两个物体,称为同胚(Homeomorphism)。 从这个角度上说,甜甜圈与有一只把手的杯子等价(都只有一个洞)。但是事实上,杯子无法捏成甜甜圈的模样,因为杯子都是瓷或塑料做的,它们都太硬。相对的,在拓扑学中研究的对象,都必须是“柔软”的,从某种意义上说就像可以流动的液体一样。然而,在传统的、基于内基的欧几里德空间(比如笛卡尔坐标系)中,得出甜甜圈等于杯子的结论是不可想象的。相应的,把基于欧几里德空间的几何学称为是“坚硬”的。

所以,在拓扑学中必须定义一个特殊的柔软的概念。

流形(Manifold)

流形这个名字来源于十九世纪德国数学家黎曼(Riemann )。流形的德语原名是Mannigfaltigkeit,意思是“多样性”。

下面一个问题是,该如何精确地描述这种柔软多变的流形呢?

这种灵感来源于地图集(Atlas)。假设你要做一份详细的中国地图, 有两个难点。第一是不可能把所有的地图细节包含在一张纸内,所以不同的城市要画在不同的页(Chart)上。然后,给出比例尺,再告诉读者从天津往西北方向的地图是北京等等。

第二个问题更加棘手,它源自于地图本身的局限性。我们很容易知道从上海往西走可以到乌鲁木齐。但是,假设从上海坐船往东,穿过北美、欧洲大陆,同样可以到达乌鲁木齐。用此逻辑,从任何一个地点出发,往任何方向前进,都可以回到原点,这是地图无法表达的。

把地图和拓扑的问题比较,某一张地图就好像一个笛卡尔坐标系,在局部的讨论中是成立的。就好比拿着北京地图从西直门走到西单,无论如何也是没有歧义的。但是扩大到整个地球(流形)就不成立了。

于是以地图集的概念描述一个流体:把流体的任何一个微小的局部看作是欧几里德空间,称为一个chart。无限多这样的chart拼接起来,就成了地图集atlas。

同时可以看出这样定义的流形,要求在某个任何小的空间里,它必须是"简单"的。试想可以把一个柿子看作一个流形,但某天它发霉了,长了一根毛(看作一条线),就不能看作流形了。因为考虑这个柿子长毛的那个微小区域,无法用一个chart描述。

事实上,地球的经纬度就可以看作一个坐标系。可以看出,在纬度最高的地方(南北极),方向是无法定义的。这也是欧几里德空间对于流体的局限性。

另外必须指出,对于同一个流体,可以通过选取不同的图(或者说是投影)来定义不同的地图集。

同在欧几里德空间里一样,流形也是有维度的,这个维度在局部里定义。如果流形的图是n维的,那么这个图被称为n维流形。比如球面的任意一个细小的局部是一个2维平面,那么球面就是一个2维流形。

从以上例子也可以看出,流形的维度同它在欧几里德空间的个体(3维)比较是下降了。直观来看,因为在曲面上的运动本来就也只有两个自由度。通常对于笛卡儿坐标系的曲面,可以找到对应的低维度流形坐标,这个过程叫做参数化(Parameterization)。

流形(Manifold)初步【转】的更多相关文章

  1. 流形-Manifold

    流形,也就是 Manifold .不知道你有没有为我在本文开头放上的那个地球的图片感到困惑?这是因为球面是一个很典型的流形的例子,而地球就是一个很典型的“球面”啦(姑且当作球面好啦). 有时候经常会在 ...

  2. FAQ: Machine Learning: What and How

    What: 就是将统计学算法作为理论,计算机作为工具,解决问题.statistic Algorithm. How: 如何成为菜鸟一枚? http://www.quora.com/How-can-a-b ...

  3. [ML] I'm back for Machine Learning

    Hi, Long time no see. Briefly, I plan to step into this new area, data analysis. In the past few yea ...

  4. MIT牛人解说数学体系

    https://www.douban.com/group/topic/11115261/ 在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进. 为什 ...

  5. 【zz】MIT牛人解说数学体系

    作者:林达华 一.为什么要深入数学的世界 作为计算机的学生,我(原作者)没有任何企图要成为一个数学家.我学习数学的目 的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些. ...

  6. MIT牛人解说数学体系(转载)

    原文网址:http://www.guokr.com/post/442622/ 在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进. 为什么要深入数学 ...

  7. MobileNet_v2

    研究动机: 神经网络彻底改变了机器智能的许多领域,实现了超人的准确性.然而,提高准确性的驱动力往往需要付出代价:现代先进网络需要高度计算资源,超出许多移动和嵌入式应用的能力. 主要贡献: 发明了一个新 ...

  8. KNN-笔记(1)

    1 - 背景 KNN:k近邻,表示基于k个最近的邻居的一种机器学习方法.该方法原理简单,构造方便.且是一个非参数化模型. KNN是一个"懒学习"方法,也就是其本身没有训练过程.只有 ...

  9. [数学]MIT牛人解说数学体系

    本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/study/science/mit_math ...

  10. 从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码

    首发于公众号:计算机视觉life 旗下知识星球「从零开始学习SLAM」 这可能是最清晰讲解g2o代码框架的文章 理解图优化,一步步带你看懂g2o框架 小白:师兄师兄,最近我在看SLAM的优化算法,有种 ...

随机推荐

  1. Android开发必知--WebView加载html5实现炫酷引导页面

    大多数人都知道,一个APP的引导页面还是挺重要的,不过要想通过原生的Android代码做出一个非常炫酷的引导页相对还是比较复杂的,正巧html5在制作炫酷动画网页方面比较给力,我们不妨先利用html5 ...

  2. vss搭建于操作

    1.下载的vvs2005,下载后先安装在服务器上,反正就是下一步下一步就对了 安装完成后,打开miscrosoft visual sourcesafe,---create  connection da ...

  3. asp.net用户检测的两种方式

    第一种方式(继承System.Web.UI.Page类,重写OnInit方法):    public class CheckSession : System.Web.UI.Page     {     ...

  4. 找回linux丢失的磁盘空间

    最近一台服务器空间总是报警,磁盘空间不足. 使用 df 命令查看,磁盘空间耗用接近 100%,将机器上过期的数据以及日志清理掉,但是空间很快又是接近 100%. 使用 du 查看,想找出磁盘空间被耗用 ...

  5. 搜索(DFS)

    不知道为什么~除了我室友其他的同学都觉得DFS很简单~且比BFS容易得多........我真心不觉得啊T T~我真心觉得BFS比DFS简单得多................= = 为了把DFS完全搞 ...

  6. Datediff函数 助你实现不同进制时间之间的运算

    在VB开发环境中实现时间之间的加减运算有很多种方法,前不久自己无意中发现了Datediff函数,它能够比较简单.全面地实现我们比较常用的时间之间的运算,今由自己的研究,搞清了它的一些用法,拿来和大家分 ...

  7. JMeter的基本介绍和入门

    1. 介绍 JMeter是Apache组织的开放源代码项目,能做功能测试和性能测试.它能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC),还能以多种形式展 ...

  8. 我是怎么拿到百度2016校招Offer的——IT技术类校招成功面经

    笔者是软件工程大四学生,属于保研失败群体,不想考研,所以选择了工作.从9月下保研失败到10月中成功拿到百度Offer,这其中的大起大落真是外人所无法体会的.这一段时间的面试经验,可以和大家分享一下.笔 ...

  9. mybatis05 用户添加

    User.xml 向用户表插入一条记录. 主键返回 需求:user对象插入到数据库后,新记录的主键要通过user对象返回,这样就可以通过user获取主键值. 解决思路: 通过LAST_INSERT_I ...

  10. HDU2088JAVA2

    Box of Bricks Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...