4 Dec

结果恒为整数的多项式

昨晚上初等数论的时候,有这么一道题

求证
$$\frac{1}{3}x^3+\frac{1}{5}x^5+\frac{7}{15}x$$
恒为整数,其中$x$是一个整数。

更一般地,可以得到
$$\sum_{p\in\mathbb{P}}\frac{1}{p}x^p + \left(1-\sum_{p\in\mathbb{P}}\frac{1}{p}\right)x$$
恒为整数,其中$\mathbb{P}$是有限个素数的集合,还有更多整数值函数问题。要证明这些函数的值恒为整数,可以通过同余分析,证明分子总能被分母整除。但是,更妙的、同时往往会更简单的方法是,将结果赋予必然为整数的意义——可以是计算上的,也可以是操作上的。

阅读剩余部分...

28 Oct

在Python中使用GMP(gmpy2)

之前笔者曾写过《初试在Python中使用PARI/GP》,简单介绍了一下在Python中调用PARI/GP的方法。PARI/GP是一个比较强大的数论库,“针对数论中的快速计算(大数分解,代数数论,椭圆曲线...)而设计”,它既可以被C/C++或Python之类的编程语言调用,而且它本身又是一种自成一体的脚本语言。而如果仅仅需要高精度的大数运算功能,那么GMP似乎更满足我们的需求。

了解C/C++的读者都会知道GMP(全称是GNU Multiple Precision Arithmetic Library,即GNU高精度算术运算库),它是一个开源的高精度运算库,其中不但有普通的整数、实数、浮点数的高精度运算,还有随机数生成,尤其是提供了非常完备的数论中的运算接口,比如Miller-Rabin素数测试算法、大素数生成、欧几里德算法、求域中元素的逆、Jacobi符号、legendre符号等[来源]。虽然在C/C++中调用GMP并不算复杂,但是如果能在以高开发效率著称的Python中使用GMP,那么无疑是一件快事。这正是本文要说的gmpy2

阅读剩余部分...

25 Oct

从费马大定理谈起(十二):再谈谈切线法

首先谈点题外话,关于本系列以及本博客的写作。其实本博客的写作内容,代表了笔者在这段时间附近的研究成果。也就是说,我此时在写这篇文章,其实表明我这段时间正在研究这个问题。而接下来的研究是否有结果,有怎样的结果,则是完全不知道的。所以,我在写这篇文章的时候,并不确定下一篇文章会写些什么。有些类似的话题,我会放在同一个系列去写。但不管怎样,这些文章可能并不遵循常规的教学或者学习思路,有些内容还可能与主流的思想方法有相当出入,请读者见谅,望大家继续支持!

上一篇我们谈到了切线法来求二次和三次曲线的有理点。切线法在寻找不高于三次的曲线上的有理点是很成功的,可是对于更高次的曲线有没有类似的方法呢?换句话说,有没有推广的可能性。我们从纯代数的角度来回复一下切线法生效的原因。切线法,更一般的是割线法,能够起作用,主要是因为如果有理系数的三次方程有两个有理数的根,那么第三个根肯定是有理数。如果只有一个已知的有理根,那么就可以让两个根重合为已知的那个根,从而割线变成了切线。

阅读剩余部分...

24 Oct

从费马大定理谈起(十一):有理点与切割线法

圆上的有理点.png我们在这个系列的文章之中,探索了一些有关环和域的基本知识,并用整环以及唯一分解性定理证明了费马大定理在n=3和n=4时的情形。使用高斯整数环或者艾森斯坦整数环的相关知识,相对而言是属于近代的比较“高端”的代数内容(高斯生于1777年,艾森斯坦生于1823年,然而艾森斯坦英年早逝,只活到了1852年,高斯还活到了1855年。)。如果“顺利”的话,我们可以用这些“高端”的工具证明解的不存在性,或者求出通解(如果有解的话)。

然而,对于初等数论来讲,复数环和域的知识的门槛还是有点高了。其次,环和域是一个比较“强”的工具。这里的“强”有点“强势”的意味,是指这样的意思:如果它成功的话,它能够“一举破城”,把通解都求出来(或者证明解的不存在);如果它不成功的话,那么往往就连一点非平凡的解都求不出来。可是,有些问题是求出一部分解都已经很困难了,更不用说求出通解了(我们以后在研究$x^4+y^4 = z^4 + w^4 $的整数解的时候,就能深刻体会这点。)。因此,对于这些问题,单纯用环域的思想,很难给予我们(至少一部分)解。(当然,问题是如何才算是“单纯”,这也很难界定。这里的评论是比较粗糙的。)

阅读剩余部分...

10 Oct

从费马大定理谈起(十):x^3+y^3=z^3+w^3

Ramanujan.jpg在正式开始数学之前,我们不妨先说一个关于印度著名数学天才——拉马努金的轶事。拉马努金病重,哈代前往探望。哈代说:“我乘出租车来,车牌号码是1729,这数真没趣,希望不是不祥之兆。”拉马努金答道:“不,那是个有趣得很的数。可以用两个立方之和来表达而且有两种表达方式的数之中,1729是最小的。”(即$1729 = 1^3+12^3 = 9^3+10^3$,后来这类数称为的士数。)利特尔伍德回应这宗轶闻说:“每个整数都是拉马努金的朋友。”(来自维基百科

从这则轶事中,我们发现,确实存在的某些整数,可以表示为两种不同的立方和,换句话说,不定方程:
$$x^3+y^3=z^3+w^3$$

阅读剩余部分...

1 Sep

从费马大定理谈起(九):n=3

现在可以开始$n=3$的证明了。在实整数范围内n=3的证明看起来相当复杂,而且跟n=4的证明似乎没有相通之处。然而,如果我们在$\mathbb{Z}[\omega]$中考虑$x^3+y^3+z^3=0$无解的证明,就会跟n=4时有很多类似的地方,而且事实上证明比n=4时简单(要注意在实整数范围内的证明,n=4比n=3简单。费马完成了n=4的证明,但是没完成n=3的证明。)。我想,正是这样的类似之处,才让当初还没有完成证明的数学家拉梅就自信他从这条路可以完成费马大定理的证明。(不过,这自信却是失败的案例:拉梅的路不能完全走通,而沿着这条路走得更远的当属库默,但即便这样,库默也没有证明费马大定理。)

证明跟$n=4$的第二个证明是类似的。我们先往方程中添加一个单位数,然后证明无论单位数是什么,方程在$\mathbb{Z}[\omega]$中都无解。这是一个很妙的技巧,让我们证明了更多的方程无解,但是却用到了更少的步骤。事实上,存在着只证明$x^3+y^3+z^3=0$无解的证明,但需要非常仔细地分析里边的单位数情况,这是相当麻烦的。本证明是我参考了Fermats last theorem blogspot上的证明,然后结合本系列n=4的第二个证明,简化而来,主要是减少了对单位数的仔细分析。

阅读剩余部分...

30 Aug

从费马大定理谈起(八):艾森斯坦整数

Gotthold_Eisenstein.jpg是时候向n=3进军了,为了证明这个情况,我们需要一个新的数环:艾森斯坦整数(Eisenstein Integer)。艾森斯坦是德国著名数学家,同时代的高斯曾经评价:“只有三个划时代的数学家:阿基米德,牛顿和艾森斯坦。”足见艾森斯坦的成就斐然。事实上,阅读费马大定理的研究史,同时也是在阅读数学名人录——没有超高的数学,几乎不可能在费马大定理中有所建树。

基本定义

跟高斯整数一样,艾森斯坦整数也是复整数的一种,其中,高斯整数是以1和$i$为基,$i$其实是一个四次单位根,也就是$x^4-1=0$的一个非实数根,因此高斯整数也叫做四次分圆整数;而艾森斯坦整数以1和$\omega$为基,$\omega$是三次单位根,也就是$x^3-1=0$的一个非实数根。任意一个艾森斯坦整数都可以记为$a+b\omega,\,a,b\in\mathbb{Z}$,艾森斯坦整数环记为$\mathbb{Z}[\omega]$,也称为三次分圆整数环

阅读剩余部分...

23 Aug

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

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

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

阅读剩余部分...