兔年快乐,送大家分形兔子一只

    考虑复数域上的迭代公式 zn+1 = zn^2 + (- 0.123 + 0.745 i) 。取不同的初始值 z0 ,迭代后 zi 的发散速度是不一样的。对于复平面上的每个点,以它为初始值的数列发散速度越快,就染越深的颜色表示;如果以它为初始值数列发散缓慢甚至收敛,则用相对较浅的颜色来表示。那么,整个图形将会是什么样子呢?本人纯手工打造 Mathematica 代码两行,为大家送上这幅神奇的图形:

  

    难以置信,简单的公式竟然生成了如此复杂的分形图形,看上去仿佛是大大小小的兔子竖着耳朵跳出来给大家拜年一样。这个图形叫做 Douady 兔子,是由法国数学家 Adrien Douady 发现的。它是一种 Julia 集

蛋疼研究之怎样刷屏最快?

    最近在做网站测试时,遇到了需要在输入框输入 3000 字的测试用例。联想到平时聊天时经常复制粘贴一堆笑脸刷屏讨 MM 欢心的行为,不由想到了一个有趣的问题:为了输入一定数量的字符,最少需要按多少个键?

    大家最常用的策略或许是, 先输一些字符,然后全选复制,粘贴到一定规模后,再全选复制,粘贴到一个新的数量级,如此反复。注意到进入全选状态(并且复制后),第一次粘贴将会覆盖掉选中的部分,第二次粘贴才会增加原来的文本长度。当然,全选复制后按一次向右键也可以消除选中状态,不过却并没有节省按键次数。因此我们规定,在输入字符时只有四种原子操作:

      1. 按一个按键,输入一个字符
      2. 按 Ctrl + A ,全选
      3. 按 Ctrl + C ,复制
      4. 按 Ctrl + V ,粘贴

Read more…

N体问题的30个周期性解

突然想到在网上查查三体问题进展究竟如何,于是摸到了这么一个地方:

   http://www.maia.ub.es/dsg/nbody

上面这个地方提供了多体问题中颇具代表性的 47 个解的数据,用的 gnuplot 格式。我选择了其中 30 个,用 Mathematica 读出数据,生成了 30 个直观的 gif 动画。大家将会看到,在引力的作用下,多颗星体可能会形成的一些极其诡异的轨道。后面的解越来越不平凡,可见多体问题之难。图片总共 7 M,服务器表示压力很大,转载勿盗链图片。

Read more…

1 4 6 4 1不是唯一答案,我们还有Rascal三角

    如果有人问你,三角形

  

    的下一行数是什么,你一定会毫不犹豫地说,下一行是 “1 4 6 4 1” ——这是 Pascal 三角,每个数都等于两肩的数之和。不过,最近 The College Mathematics Journal 上的一篇论文却给出了一个同样合理的正确答案: 1 4 5 4 1 。理由同样对称而美观:每个数都等于两肩的数之积加 1 ,除以头顶上(再上一行的对应位置上)的数。例如,第 2 个数 4 就等于 (1*3 + 1) / 1 ,而第 3 个数 5 则等于 (3*3 + 1) / 2 。我们不妨就紧跟 Pascal 的脚步,把它取名为 Rascal 三角吧。
    有网友肯定会说了,你就瞎掰吧, Rascal 三角形的生成规则里有除法,这会让三角形里面充斥着大量的分数的。你错了,这才是 Rascal 三角形的神奇之处:尽管每个数都是由两数相除得来的,但它们保证都是整数!你能看出这是为什么吗?

  

Read more…

指数级增长毕竟是指数级增长

    最近,一道 Google 校园招聘面试题红遍了整个中文网络:

    现在北京有一套房子,价格 200 万,假设房价每年上涨 10% ,一个软件工程师每年固定能赚 40 万。如果他想买这套房子,不贷款,不涨工资,没有其他收入,每年不吃不喝不消费,那么他需要几年才能攒够钱买这套房子?
    A. 5年
    B. 7年
    C. 8年
    D. 9年
    E. 永远买不起

    并不让人感到意外,这道题的答案选 E 。这背后的数学道理就是,线性的增长速度毕竟是赶不上指数级的增长速度的。我用 Mathematica 画了一个简单的图,按照题目所给数据模拟了 50 年内的房价和收入情况。可见,尽管底数仅仅是 1.1 ,指数级增长的威力也一如既往的令人震撼。

 
    
 
    唉⋯⋯什么时候工资也能成比地增长就好了。