电影“源代码”和黎曼面的构造
这是两个看上去风马牛不相及的话题。一个是今年(2011年)的一部北美票房冠军电影“源代码”;另一个是数学当中比较专门的研究对象,黎曼曲面[1]。但是看完这个电影之后我的第一个反应就是想到了某种黎曼曲面的构造。于是有了本文。
(电影剧情)Stevens上尉在战火中几乎牺牲,可是由先进的科技保留了脑部。他实际上参与了一项先进的美国军方的计划,代码“Source code”.这天早些时候,一辆列车在芝加哥被恐怖主义分子炸毁,列车上一位历史教师Sean的大脑也得到保留。上尉可以侵入这位教师的大脑,从而对列车爆炸前8分钟的一切加以复原。上尉本人就如同生活在那个世界之中一样。通过这种方式,美国军方希望借助Stevens上尉的帮助,追查到恐怖分子的下落。
上尉历经好多次爆炸,每一个轮回都有进展,逐渐的确定了恐怖分子的身份,出色的完成了任务,而且还避免了进一步更加严重的袭击。但是“源代码”这部电影真正优秀的地方在于此后的情节发展。在那个世界,他从来没有能够拯救这列火车上的人,尤其就坐在他对面的姑娘。Stevens在列车上的经历太过真实,促使他请求再次进入这个世界,同时在八分钟时刻准时关闭生命给养设备,结束他的生命(他本人已经处于濒死状态)。
结果,当他再次进入该世界,把恐怖分子制服之后,虽然抱有毫无根据的希望,他陪着全车人,静等死亡的来临。然而,尽管在前面那个世界当中,Stevens已经被关闭了给养,真正意义上死亡了,在这列火车上,他居然继续活了下去。这个“source code”不仅仅重现列车爆炸前得8分钟短短时间,而实际上,它创造了一个平行的世界,在这个世界当中,另有一个Stevens在美国军方的实验室当中,等待自己的任务。而这个世界中的历史教师sean,实际上也是Stevens本人。显然,还有无穷多个平行的世界在这些之外。
作为一个小成本制作,这个电影剧情非常精彩巧妙。很多观众在观赏电影之后都会意犹未尽,仔细思考这些个平行宇宙到底如何联系到了一起。如果你真的用心把整个电影想明白了,那么恭喜你,你已经搞懂了一种“黎曼曲面”的构造方法,而黎曼曲面是非常重要的一类数学对象。
下边我们尽量简单的介绍这个概念。首先说明什么是指数函数。当时,指数函数定义为:
简单的作图思考后我们发现,上述函数将复数平面上的带域映射为全复平面去掉正实数轴:
.注意到
,在整个复平面上,这个函数不是一一的。它是一个周期函数,一个典型的多对一的函数。这样的函数显然是没有逆函数的。如果我们希望与实数范围内的理论统一,我们只能说,它的逆函数,对数函数,是一个多值函数。
由于在局部,指数函数显然有逆函数,所以我们做这样一件事情:将函数的值域扩大(比复平面大),扩大成一个一维的复流形,从而,如果将原函数看成是从复数域映射到这个流形上的,它就变成可逆的了。这个流形本身就是一个黎曼面。而我们关心的就是这个黎曼面的构造[2]。
我们定义函数的无穷多个单叶域如下:
由前面的分析,将每一个
映射为沿着实数轴割开的区域
。为了加以区分,我们定义
的像为
.我们想象这样无穷多个沿着正实数轴切开的复平面
按照他们的编号
一个挨着一个放置在一起。这时我们将每一个
的两个切口交错着粘合在一起。比如,
被切开的正实数轴分为两个边沿,分别为上边和下边。将下边和
的上边粘合在一起,将上边跟
的下边沿粘合在一起。
按照这样的手续得到的一张曲面是一个一维复流形。我们定义它为,整个复平面在
的映射下就映到S上,而且显然这个是一一的,即是可逆的。
这个电影的结构,如此精确的对应上述Riemann面得构造,那被割开的正实数轴,就像是Stevens上尉,成为两个平行的世界之间的连接。而就像在Riemann面得任何一点的局部看上去就像是一个复平面的样子(见流形的定义),在任何平行世界之中,无人会感知道另一个世界的存在。
并不是说,电影的导演一定受过某些高等数学的熏陶。而实际上,这部电视是其导演前作“Moon”的经验之上的一部超越式作品。但是,本文提到的这么漂亮的异曲同工使我们更容易向外行的人士介绍数学是怎样一门学问。前不久我碰到一些朋友,他们问我,数学就是处理数字么?我说不是,数学研究的范围很广,我无法简单说清楚。现在我特想把这个电影推荐给别人看。看懂之后,我再告诉他们,喜欢这个平行世界的故事么。抛开人物和其他因素不谈,如果你对故事中的这个平行宇宙的结构着迷,那么你会喜爱数学的。
附注:[1]:本文中出现的只是Riemann曲面的一个特殊的例子。更一般的定义见链接的Wiki的主页。
[2]:方企勤,复变函数教程。61页到62页
[3]:类似有趣的电影作品还有:“Triangle”(恐怖游轮),非常推荐。
那个指数的定义是不是有笔误?
已更改,谢谢!