4 Jun

【备忘】访问Google的方法(更新)

6月13日:更新了一个新的可用IP,不知道能够用多久。

以前大家顶多看到利用这个技巧访问facebook、youtube之类的网站,现在无奈到连Google都得用这个方法访问了。

近日,笔者发现直接输入http://www.google.com.hk无法访问Google搜索,要知道对于学术来说,没有Google是多么严重的事情,很多有用的学术资料,尤其是外文资料,都得靠Google来搜。主观性来说,在学术方面,百度不可能赶得上Google,望其项背都不可能。

点击阅读全文...

15 Aug

从费马大定理谈起(一):背景简介

费马大定理,也叫做费马最后定理(Fermat Last Theorem),说的是

设$n$是大于2的正整数,则不定方程$x^n+y^n=z^n$没有全不为0的整数解。

Pierre_de_Fermat

Pierre_de_Fermat

稍微阅读过数学史的朋友应该知道,该定理首先于1637年由法国业余数学家费马(Pierre de Fermat)在阅读丢番图《算术》拉丁文译本时写在第11卷第8命题旁写道。他并附加道:“我发现了一个非常漂亮的证明,但这里没有足够的空间可容纳得下。”根据后世的考证,费马或许有办法证明n=3,4,5的情形,但不大可能给出一般性的证明,因为在20世纪90年代,怀尔斯用了130页的纸张,而且用到了复杂的现代理论,才完全证明了费马大定理。所以费马当时的这一断言,更可能只是一个归纳猜测。

点击阅读全文...

15 Aug

从费马大定理谈起(二):勾股数

费马大定理说的是$n > 2$的情况,但是我们可以从$n=2$出发,求解到勾股数组的一般表达式,并且从中得到证明费马大定理的原始思想。

互质解

我们在实整数,也就是$\mathbb{Z}$内求解。为了求解不定方程$x^2+y^2=z^2$,首先我们注意到,这是一道齐次方程,这告诉我们,如果存在某一组解,那么可以通过同除以公约数的方法,得到一组两两互质的解。换句话说,有解必有互质解,这是$x^n+y^n=z^n$的解的通性。那么,我们假设$(x,y,z)=(a,b,c)$ 是方程$x^2+y^2=z^2$的一个互质解。

点击阅读全文...

17 Aug

从费马大定理谈起(四):唯一分解整环

在小学的时候,数学老师就教我们除法运算:

被除数 = 除数 × 商 + 余数

其中,余数要小于除数。不过,我们也许未曾想到过,这一运算的成立,几乎是自然数$\mathbb{N}$所有算术(数论)运算性质成立的基础!在代数中,上面的运算等式称为带余除法(division algorithm)。如果在一个整环中成立带余除法,那么该整环几乎就拥有了所有理想的性质,比如唯一分解性,也就是我们说的算术基本定理。这样的一个整环,被称为唯一分解整环(Unique factorization domain)。

欧几里得整环

Euklid-von-Alexandria_1

Euklid-von-Alexandria_1

唯一分解定理说的是在一个整环之中,所有的元素都可以分解为该整环的某些“素元素”之积,并且在不考虑元素相乘的顺序和相差单位数的意义之下,分解形式是唯一的。我们通常说的自然数就成立唯一分解定理,比如$60=2^2\times 3\times 5$,这种分解是唯一的,这看起来相当显然,但实际上唯一分解定理相当不显然。首先,并不是所有的整数环都成立唯一分解定理的,我们考虑所有偶数组成的环$2\mathbb{Z}$,要注意,在$2\mathbb{Z}$中,2、6、10、30都是素数,因为它们无法分解成两个偶数的乘积了,但是$60=6\times 10=2\times 30$,存在两种不同的分解,因此在这样的数环中,唯一分解定理就不成立了。

点击阅读全文...

23 Aug

从费马大定理谈起(七):费马平方和定理

本想着开始准备n=3的证明,但这需要引入Eisenstein整数的概念,而我们已经引入了高斯整数,高斯整数的美妙还没有很好地展示给读者。从n=4的两个证明可以知道,引入高斯整数的作用,是把诸如$z^n-y^n$的式子进行完全分解。然而,这一点并没有给我们展示多少高斯整数的神奇。读者或许已经知道,复分析中很多简单的结果,如果单纯用实数描述出来,便会给人巧夺天工的感觉,在涉及到高斯整数的数论中也是一样。本文就让我们来思考费马平方和定理,以此再领会在高斯整数中处理某些数论问题时的便捷。——我们从费马大定理谈起,但又并不仅仅只谈费马大定理。

费马平方和定理:奇素数$p$可以表示为两个整数的平方和,当且仅当该素数具有$4k+1$的形式,而且不考虑相加顺序的情况下,表示法是唯一的。

点击阅读全文...

19 Sep

Cantor-Bernstein 定理(给出双射!)

学过集合论的朋友应该会知道,按照定义,判断两个集合的“势”相同的最直接的方法就是给出这两个集合之间的一个双射。然而,这样的双射往往不容易想到,比如

请给出一个$[0,+\infty)$到$(0,+\infty)$的双射

但是,直观地看,这两个集合的势一定是相当的,而且这两个集合之间的双射有无穷多个。然而,大多数的我们却很难想出一个双射来。当我们看到构造出来的双射时,第一反应往往是:这样的证明是怎么想到的!?比如,上述问题的答案之一是:

点击阅读全文...

7 Oct

班门弄斧:Python的代码能有多简洁?

此文很水,高手略过...

Python以它的开发效率而闻名,优秀的开发效率自然意味着它能够用更少的代码实现更多的功能。那么,对于同一个问题,Python的代码能有多简洁?而我们怎么平衡开发效率和运行效率?笔者学了几个月Python,略懂一点,在此班门弄斧一翻。

在此,我们来编程计算
$$\sum_{n=0}^{10} n^2$$
这当然是一道非常简单的习题。按照一般思路,写出来的最自然的代码就是:

s=0
for i in range(11):
    s = s + i**2

print(s)

点击阅读全文...

16 Sep

生成函数法与整数的分拆

我们在高中甚至初中,都有可能遇到这样的题目:

设$x,y,z$是非负整数,问$x+y+z=2014$有多少组不同的解?(不同顺序视为不同的解)

难度稍高点,可以改为

设$x,y,z$是非负整数,$0\leq x\leq y\leq z$,问$x+y+z=2014$有多少组不同的解?

这些问题都属于整数的分拆问题(广为流传的哥德巴赫猜想也是一个整数分拆问题)。有很多不同的思路可以求解这两道题,然而,个人认为这些方法中最引人入胜的(可能也是最有力的)首推“生成函数法”。

关于生成函数,本节就不多作介绍了,如果缺乏相关基础的朋友,请先阅读相关资料了解该方法。不少数论的、离散数学的、计算机科学的书籍中,都介绍了生成函数法(也叫母函数法)。本质上讲,母函数法能有诸多应用,是因为$x^a\times x^b=x^{a+b}$这一性质的成立。

点击阅读全文...