数学思维游戏两则:Gabriel喇叭、世界末日论

    看到新词就上一下Wikipedia确实是一个好习惯。前一篇日志的那个pdf里作者提到了Gedankenexperiment(Thought experiment),上Wikipedia一查果然学到了牛B的新东西。好多物理定律其实完全是由思维实验推导出来的,难以置信仅仅是思考竟然就能得出物理世界遵从的各种法则。经典的物理思维实验有Newton大炮、Galileo斜塔实验、Schrödinger的猫猫、Maxwell的妖怪等等。还有,Turing机也是一个伟大的思维实验。

   
    数学上的不少悖论(特别是涉及到维度和无穷的悖论)都是相当有趣的思维实验。Gabriel喇叭是y=1/x在[1,+∞)上的图象沿x轴旋转一周所形成的旋转体。这个简单的三维图形有一个奇特的性质:它的表面积无穷大,却只有有限的体积。为了证实这一点,只需注意到:
   
    Gabriel喇叭会导出一个非常诡异的悖论:如果你想用涂料把Gabriel喇叭的表面刷一遍,你需要无穷多的涂料;然而把涂料倒进Gabriel喇叭填满整个内部空间,所需要的涂料反而是有限的。
    有网友一定会问,那有没有什么二维图形,面积有限大,周长却无限长呢?答案是肯定的,Koch雪花就是这样一个经典的例子。不过,通过分形构造出来的这类图形似乎并不存在涂料悖论,因为递归到一定深度时分形图形的尺度将小于表面涂料的厚度,因此表面大小不能永无止境地算下去,涂满表面所需的涂料不再是无穷多。当考虑到涂料厚度时,原先的悖论也可以解释清楚了:填充内部空间仅仅涂满了图形的内表面,一旦考虑到涂料的厚度,它和外表面的区别就出来了。

Read more…

是否存在只在一点连续的函数?

    有人突然问到我,有不有可能构造一个函数,它只在一个点连续,其余地方处处不连续。函数构造是一个非常诱人的问题,我非常喜欢那些具有各种不可思议的性质的函数,那些令人吃惊的特性往往违背了大多数人的直觉和常识,这些都是茶余饭后闲谈的绝佳话题。前面提到的这个问题就是一个很有趣的问题。永远不要想当然地以为只在一点连续的函数不存在,各种怪相函数可谓无奇不有。仔细考虑了一下,我想这个函数应该和Dirichlet函数有点联系吧,毕竟很多与连续性相关的函数其原型都是Dirichlet函数,比如满足“无理点处处连续、有理点处处不连续”的爆米花函数就有Dirichlet函数的影子。然后我就突然想到,我彻底火星了,而且还是超级乌龙火星——这个玩意儿我自己还在Blog上写过,只是当时我并没注意到罢了。我曾经在描述Hilbert曲线时写到:

    你知道吗,除了常函数之外还存在其它没有最小正周期的周期函数。考虑一个这样的函数:它的定义域为全体实数,当x为有理数时f(x)=1,当x为无理数时f(x)=0。显然,任何有理数都是这个函数的一个最小正周期,因为一个有理数加有理数还是有理数,而一个无理数加有理数仍然是无理数。因此,该函数的最小正周期可以任意小。如果非要画出它的图象,大致看上去就是两根直线。请问这个函数是连续函数吗?如果把这个函数改一下,当x为无理数时f(x)=0,当x为有理数时f(x)=x,那新的函数是连续函数吗?
    …………
    有了Cauchy定义,回过头来看前面的问题,我们可以推出:第一个函数在任何一点都不连续,因为当ε< 1时,δ范围内总存在至少一个点跳出了ε的范围;第二个函数只在x=0处是连续的,因为此时不管ε是多少,只需要δ比ε小一点就可以满足ε-δ定义了。

    类似地,我们可以扩展出只在两个点、只在三个点连续的函数。只需把有理点上的f(x)=x换成f(x)=(x-a)(x-b)(x-c),我们便得到一个只在a, b, c三点连续的函数。

经典证明:Cantor-Bernstein-Schroeder定理

    明天考英语,单词还没背。先冒死更新一个^_^
    我们称一个从集合A到集合B的映射是“单射”的,如果A中的任两个相异元素都不会映射到B里的同一个元素。如果一个A→B的映射是单射的,并且B里的所有元素都被射了(满射),那么这个映射就是“双射”的。Cantor-Bernstein-Schroeder定理是说,假如存在一个从集合A到集合B的单射函数f,以及一个从集合B到集合A的单射函数g,那么A与B之间一定存在一个双射函数(即能建立起一一对应的关系,两个集合有相等的势)。这个结论并不是显然的。对于无穷集合,我们可以构造出很多这样的例子,两个映射A→B和B→A都是单射,但都不是满射的。例如,给定一个正方形和正方形外的一条直线,把正方形放到直线上滚一圈所形成的对应关系是一个从正方形上的所有点到直线上的点的一个单射函数,而连接直线上的点和正方形一边中点后与正方形的另一个交点构成了一个从直线到正方形的单射关系(如图)。那么,根据Cantor-Bernstein-Schroeder定理,我们一定可以找到一种函数,使得直线上的所有点和正方形上的所有点有一一对应的关系。

  

Read more…

两个与无穷级数有关的悖论

    我们想要计算无穷级数Σ(1/n)*(-1)^(n+1) = 1 – 1/2 + 1/3 – 1/4 + 1/5 – 1/6 …。首先我们需要说明,这个无穷级数是收敛的。注意到,从1的后面开始,每减去一个数后紧接着都会加上一个比它小的数,因此不管你加到哪儿,它的和始终不会超过1;另外,从1-1/2之后开始,每加一个数紧接着都会减去一个比它小的数,因此无论加到什么位置,整个和始终大于1/2。这说明,这个级数是收敛的,并且它收敛到1/2和1之间的某个数(事实上这个数是ln(2) )。

    好了,令这个无穷级数为S,现在对S进行这样的变换:

S = 1 – 1/2 + 1/3 – 1/4 + 1/5 – 1/6 + …
  = (1 + 1/3 + 1/5 + 1/7 + …) – (1/2 + 1/4 + 1/6 + 1/8 + …)
  = (1 + 1/3 + 1/5 + 1/7 + …) – (1/2 + 1/4 + 1/6 + 1/8 + …) + (1/2 + 1/4 + 1/6 + 1/8 + …) – (1/2 + 1/4 + 1/6 + 1/8 + …)
  = (1 + 1/2 + 1/3 + 1/4 + …) – 2 * (1/2 + 1/4 + 1/6 + 1/8 + …)
  = (1 + 1/2 + 1/3 + 1/4 + …) – (1 + 1/2 + 1/3 + 1/4 + …)
  = 0

    但刚才不是说了S是大于1/2的么?这怎么可能呢?

Read more…

矩阵、随机化与分形图形

    Stetson大学的一个非常可爱的MM(以后本Blog将简称她为Stetson MM)和我分享了一个很神奇的东西。她们正在做一个线性代数的课题研究,题目的大致意思是“用矩阵来构造分形图形”。Stetson MM叫我试着做下面这个实验:对于一个坐标点(x,y),定义下面4个矩阵变换:
    
    然后,初始时令(x,y)等于(0,0),按照 T1 – 85%, T2 – 6%, T3 – 8%, T4 – 1% 的概率,随机选择一个变换对该点进行操作,生成的点就是新的(x,y);把它画在图上后,再重复刚才的操作,并一直这样做下去。我心里觉得奇怪,这为什么会得到分形图形呢?于是我写了一个简单的Mathematica程序:
list = {{0, 0}};
last = {{0}, {0}};
For[i = 0, i < 50000, i++, r = Random[];    If[r < 0.85, last = {{0.83, 0.03}, {-0.03, 0.86}}.last + {{0}, {1.5}},      If[r < 0.91, last = {{0.2, -0.25}, {0.21, 0.23}}.last + {{0}, {1.5}},        If[r < 0.99, last = {{-0.15, 0.27}, {0.25, 0.26}}.last + {{0}, {0.45}},          last = {{0, 0}, {0, 0.17}}.last + {{0}, {0}}        ]      ]    ];    list = Append[list, First[Transpose[last]]]; ] ListPlot[list, PlotStyle -> PointSize[0.002]]

    程序运行的结果真的是令我大吃一惊:竟然真的是一个分形图形!!我不禁再次对数学产生了一种崇敬和畏惧感!!

   

Read more…