圣诞节让我想到什么呢?应该是圣诞树吧。

圣诞树让我想起这个奇数组成的数列:1,3,5,7,9,
上面这张图可以看到圣诞树每多一层就加了个2,每一层又是这样的1357的树叶组成的一颗小树。(有兴趣的人可以用Python画一下这个圣诞树)
不就是奇数等差数列嘛,这有什么稀奇,你问。
其实这个平淡无奇的数列让我想起了莱布尼茨(Leibnitz)的求
的公式:
写个程序很容易验算,两边都乘以4,随着左边的数越来越多,右边也越来越接近
我们都知道出现
定是和圆有关系,可是左边都是奇数为分母的分数,怎么可能加加减减就出现圆了呢?(这个和欧拉公式一样,匪夷所思的把有理数和无理数联系在了一起。)
要理解这个问题,就需要想起高斯(Gauss)是怎么用方形来估算圆面积了。

假设上图相邻的点的距离是1,那么可以画一个半径为6的圆。
高斯说:想知道这个圆的面积只要去数圆里包含的点的个数就行了。逻辑很简单,就是每个小方框的面积都是1,所以有几个方框面积就是几。如果用f(r)来表示方框的个数(也就是圆里包含的点的个数),那么高斯就得到了不少和r对应的点的个数:
如果想知道
,只要数出点的个数f(r),然后直接套用公式:
当半径是10的时候,点的个数317,可以得到
大概是3.17.  半径是300的时候,可以计算出来
大概是3.141077。半径取的越大,得到的
就越精确。
那问题来了,怎么才能快速的数出来到底一个大圆里包含了多少点呢?
如果有个公式就好了,告诉我一个半径r, 通过公式算出来包含的点 f(r), 就可以迅速计算
了。
要想知道有多少点在圆内部,就需要知道有多少个点离原点的距离小于等于r,转化一下这个问题,就需要知道有多少个点的坐标(a,b)满足
.
要解决这个问题就要说起费马了,就是那个法国富二代,政府大律师,一边每天怀里抱着妞,一边就神奇的解决了很多著名数学难题的费马。当然费马最著名的是他并没有解决的那道难题,就是费马大定理(这个定理在他17世纪提出之后一直是著名的费马猜想,直到1995年才被证明)。
费马在1640年的圣诞节划重点,真的是圣诞节)写了封信给朋友(也是那时的科学全能大咖Marin Mersenne),证明了奇数素数p可以拆成两个数的平方和的充要条件就是这个奇数素数可以写成如下的形式:p=4k+1.
也就是说:

看到平方和就可以想到勾股定理了,那个p其实就可以是一个三角形的斜边的平方了。从几何角度来看,这恰恰就给出了在那个点阵图上一个坐标对应的点是否在圆内。例如:在坐标(53)的点离原点的距离是
, 这个点在半径为6的圆内,因为
.

可以看一下符合4k+1形式的数都长什么样,当c=0,1,2,3,4的时候,4k+1就分别是1,5,9,13…
下一个问题就是:任意一个整数,有多少种办法写出来它是两个数的平方和呢?有一个简单的计算方法,就是这个数的奇数因子里面那些能写成平方和的数减去那些不能写成平方和的数的个数之差的4倍。这个定理用英文写出来就是:The number of representations of an integer n as the sum of the squares of two integers is equal to four times the excess of the number of factors of n having the form 4k + 1 over the number of factors of the form 4k +3.  听上去很绕,但是举个例子就很简单了。例如一个整数18,用上面的定理算一下,得到可以有4种方法。18确实有4种办法写成平方和:(3,3), (-3,3), (3, -3), (-3,-3)。 另一个整数5,可以算出来有8种办法写成平方和,就是1的平方和2的平方的各种正负符号组合。
如果你现在还能follow的话,那我们离终点就不远了。
总结一下:给定一个半径,我们可以计算它对应的平方数,我们想知道从零到这个平方数,一共有多少种情况能表示成两个数的平方和。遍历一下从零到这个平方数,每个数都可以算出来可以表示成多少个两个数的平方和。所以合并一下

从这里就很容易得到之前说的莱布尼茨公式了。
380年前,费马在圣诞节给朋友写信发数学证明。很巧最新一期的纽约时报也说大部分的科学家圣诞节都在工作,爱因斯坦也不例外。
继续阅读
阅读原文