流形(Manifold)初步
欧几里得几何学(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)初步的更多相关文章
- 流形-Manifold
流形,也就是 Manifold .不知道你有没有为我在本文开头放上的那个地球的图片感到困惑?这是因为球面是一个很典型的流形的例子,而地球就是一个很典型的“球面”啦(姑且当作球面好啦). 有时候经常会在 ...
- FAQ: Machine Learning: What and How
What: 就是将统计学算法作为理论,计算机作为工具,解决问题.statistic Algorithm. How: 如何成为菜鸟一枚? http://www.quora.com/How-can-a-b ...
- [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 ...
- MIT牛人解说数学体系
https://www.douban.com/group/topic/11115261/ 在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进. 为什 ...
- 【zz】MIT牛人解说数学体系
作者:林达华 一.为什么要深入数学的世界 作为计算机的学生,我(原作者)没有任何企图要成为一个数学家.我学习数学的目 的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些. ...
- MIT牛人解说数学体系(转载)
原文网址:http://www.guokr.com/post/442622/ 在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进. 为什么要深入数学 ...
- MobileNet_v2
研究动机: 神经网络彻底改变了机器智能的许多领域,实现了超人的准确性.然而,提高准确性的驱动力往往需要付出代价:现代先进网络需要高度计算资源,超出许多移动和嵌入式应用的能力. 主要贡献: 发明了一个新 ...
- KNN-笔记(1)
1 - 背景 KNN:k近邻,表示基于k个最近的邻居的一种机器学习方法.该方法原理简单,构造方便.且是一个非参数化模型. KNN是一个"懒学习"方法,也就是其本身没有训练过程.只有 ...
- [数学]MIT牛人解说数学体系
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/study/science/mit_math ...
- 从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码
首发于公众号:计算机视觉life 旗下知识星球「从零开始学习SLAM」 这可能是最清晰讲解g2o代码框架的文章 理解图优化,一步步带你看懂g2o框架 小白:师兄师兄,最近我在看SLAM的优化算法,有种 ...
随机推荐
- 生成jvm快照文件
原文:https://blog.csdn.net/jijianshuai/article/details/79128033 -Xmx20m -Xms5m -XX:HeapDumpOnOutofMem ...
- springMVC初探视图解析器——InternalResourceViewResolver
springmvc在处理器方法中通常返回的是逻辑视图,如何定位到真正的页面,就需要通过视图解析器. springmvc里提供了多个视图解析器,InternalResourceViewResolver就 ...
- Mybatis学习笔记3 - 增删改查示例
1.接口定义 package com.mybatis.dao; import com.mybatis.bean.Employee; public interface EmployeeMapper { ...
- android 闹钟设置问题
Android开发中,alarmManager在5.0以上系统,启动时间设置无效的问题 做一个app,需要后台保持发送心跳包.由于锁屏后CPU休眠,导致心跳包线程被挂起,所以尝试使用alarmMana ...
- Naive Operations
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6315 学习博客:https://blog.csdn.net/SunMoonVocano/article ...
- java 与 数据库的连接
Eclipse中使用SQL server 2017数据库 一.准备材料 要能够使用数据库就要有相应的JDBC,所以我们要去Microsoft官网下载https://www.microsoft.com/ ...
- 性能测试工具Jmeter01-简介
Jmeter介绍: Apache JMeter是Apache组织的开放源代码项目,是一个纯Java桌面应用,用于压力测试和性能测试.最初被设计用于Web应用测试后来扩展到其它测试领域 Jmeter有啥 ...
- 配置python环境使用tushare股票数据
最近在做一个项目,主要是基于股票市场来验证一些model,看看能否做量化交易.那么如何获取数据呢?因为客户这边前期是不想花钱买数据的,只能自己想办法了,从sina和yahoo财经频道爬到一些数据,但是 ...
- 常见的25个顶级PHP模板引擎
为了找到一个好的模板引擎,我在互联网上进行搜索,目前已经整理出了以下名单: SmartySmarty的特点是将模板编译成PHP脚本,然后执行这些脚本.很快,非常灵活. Heyes Template C ...
- for循环笔记
JS获取元素方法——ById和ByTagName方法的区别 1.通过id获取,前面就只能是document,不能是其他的,但是ByTagName前面可以是document,也可以跟一个别的元素 #li ...