Cantor-Bernstein 定理(给出双射!)
By 苏剑林 | 2014-09-19 | 49617位读者 | 引用几个有关集合势的“简单”证明
By 苏剑林 | 2014-10-01 | 84104位读者 | 引用我们这学期开设《实变函数》的课程,实变函数的第一章是集合。关于无穷集合的势,有很多异于直觉的结论。这些结论的证明技巧,正是集合论的核心方法。然而,我发现虽然很多结论跟我们的直觉相违背,但是仔细回想,它又没我们想象中那样“离谱”。而我们目前使用的教科书《实变函数论与泛函分析》(曹广福),却没有使用看来简单的证明,反而用一些相对复杂的定理,给人故弄玄虚的感觉。
一、全体实数不能跟全体正整数一一对应
这是集合论中的基本结论之一。证明很简单,如果全体实数可以跟全体正整数一一对应,那么$(0,1)$上的实数就可以跟全体正整数一一对应,把$(0,1)$上的全体实数表示为没有0做循环节的无限小数(比如0.1表示为0.0999...),那么设一种对应为:
$$\begin{aligned}&a_1=0.a_{11} a_{12} a_{13} a_{14}\dots\\
&a_2=0.a_{21} a_{22} a_{23} a_{24}\dots\\
&a_3=0.a_{31} a_{32} a_{33} a_{34}\dots\\
&\dots\dots
\end{aligned}$$
从费马大定理谈起(十):x^3+y^3=z^3+w^3
By 苏剑林 | 2014-10-10 | 24461位读者 | 引用在正式开始数学之前,我们不妨先说一个关于印度著名数学天才——拉马努金的轶事。拉马努金病重,哈代前往探望。哈代说:“我乘出租车来,车牌号码是1729,这数真没趣,希望不是不祥之兆。”拉马努金答道:“不,那是个有趣得很的数。可以用两个立方之和来表达而且有两种表达方式的数之中,1729是最小的。”(即$1729 = 1^3+12^3 = 9^3+10^3$,后来这类数称为的士数。)利特尔伍德回应这宗轶闻说:“每个整数都是拉马努金的朋友。”(来自维基百科)
从这则轶事中,我们发现,确实存在的某些整数,可以表示为两种不同的立方和,换句话说,不定方程:
$$x^3+y^3=z^3+w^3$$
实数集到无理数集的双射
By 苏剑林 | 2014-09-22 | 36602位读者 | 引用集合论的结果告诉我们,全体实数的集合$\mathbb{R}$跟全体无理数的集合$\mathbb{R} \backslash \mathbb{Q}$是等势的,那么,如何构造出它们俩之间的一个双射出来呢?这是一个颇考读者想象力的问题。当然,如果把答案给出来,又似乎显得没有那么神秘。下面给出笔者构造的一个例子,读者可以从中看到这种映射是怎么构造的。
为了构造这样的双射,一个很自然的想法是,让全体有理数和部分无理数在它们自身内相互映射,剩下的无理数则恒等映射。构造这样的一个双射首先得找出一个函数,它的值只会是无理数。要找到这样的函数并不难,比如我们知道:
1、方程$x^4 + 1 = y^2$没有除$x=0,y=\pm 1$外的有理点,否则将与费马大定理$n=4$时的结果矛盾。
2、无理数的平方根依然是无理数。
根据这些信息,足以构造一个正实数$\mathbb{R}^+$到正无理数$\mathbb{R}^+ \backslash \mathbb{Q}^+$的双射,然后稍微修改一下,就可以得到$\mathbb{R}$到$\mathbb{R} \backslash \mathbb{Q}$的双射。
怎么会这么巧!背后的隐藏信息
By 苏剑林 | 2015-01-21 | 36728位读者 | 引用假设我是一名中学数学老师,在给学生兴致勃勃地讲“素数”,讲完素数的定义和相关性质后,正当我接着往下讲时,有个捣蛋的学生提问,“老师,你能不能举一个三位数的素数?”。可是我手头上没有1000以内的素数表,我也没记住超过100的素数,那怎么办呢?我只好在黑板上写出几个三位数,比如173、211、463,然后跟学生说“让我们来检验这些数是不是素数”。最终的结果是:它们都是素数!然后会有学生疑问:怎么会这么巧?
素数的概率
首先的问题是,任意写一个三位数,它是素数的概率是多少?三位数的素数共有143个,三位数共有900个,于是概率应该是143/900,大约是六分之一。看起来挺低的,要“蒙中”似乎不容易。
从费马大定理谈起(十一):有理点与切割线法
By 苏剑林 | 2014-10-24 | 27050位读者 | 引用我们在这个系列的文章之中,探索了一些有关环和域的基本知识,并用整环以及唯一分解性定理证明了费马大定理在n=3和n=4时的情形。使用高斯整数环或者艾森斯坦整数环的相关知识,相对而言是属于近代的比较“高端”的代数内容(高斯生于1777年,艾森斯坦生于1823年,然而艾森斯坦英年早逝,只活到了1852年,高斯还活到了1855年。)。如果“顺利”的话,我们可以用这些“高端”的工具证明解的不存在性,或者求出通解(如果有解的话)。
然而,对于初等数论来讲,复数环和域的知识的门槛还是有点高了。其次,环和域是一个比较“强”的工具。这里的“强”有点“强势”的意味,是指这样的意思:如果它成功的话,它能够“一举破城”,把通解都求出来(或者证明解的不存在);如果它不成功的话,那么往往就连一点非平凡的解都求不出来。可是,有些问题是求出一部分解都已经很困难了,更不用说求出通解了(我们以后在研究$x^4+y^4 = z^4 + w^4 $的整数解的时候,就能深刻体会这点。)。因此,对于这些问题,单纯用环域的思想,很难给予我们(至少一部分)解。(当然,问题是如何才算是“单纯”,这也很难界定。这里的评论是比较粗糙的。)
算符的艺术:差分、微分与伯努利数
By 苏剑林 | 2014-10-27 | 38784位读者 | 引用两年前,笔者曾写过《算子与线性常微分方程》两篇,简单介绍了把线形常微分方程算符化,然后通过对算符求逆的方法求得常微分方程的通解。而在这篇文章中,笔者打算介绍关于算符类似的内容:差分算符、微分算符以及与之相关的伯努利数(Bernoulli数)。
我们记$D=\frac{d}{dx}$,那么$Df=\frac{df}{dx}$,同时定义$\Delta_t f(x)=f(x+t)-f(x)$,并且记$\Delta \equiv \Delta_1 =f(x+1)-f(x)$,这里我们研究的$f(x)$,都是具有良好性态的。我们知道,$f(x+t)$在$t=0$附近的泰勒展式为
$$\begin{aligned}f(x+t)&=f(x) + \frac{df(x)}{dx}t + \frac{1}{2!}\frac{d^2 f(x)}{dx^2}t^2 + \frac{1}{3!}\frac{d^3 f(x)}{dx^3}t^3 + \dots\\
&=\left(1+t\frac{d}{dx}+\frac{1}{2!}t^2\frac{d^2}{dx^2}+\dots\right)f(x)\\
&=\left(1+tD+\frac{1}{2!}t^2 D^2+\dots\right)f(x)\end{aligned}$$
在Python中使用GMP(gmpy2)
By 苏剑林 | 2014-10-28 | 68231位读者 | 引用之前笔者曾写过《初试在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。
最近评论