4 Jun

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

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

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

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

点击阅读全文...

22 Jul

初试在Python中使用PARI/GP

BoJone很喜欢Python,也很喜欢数论,所以就喜欢利用Python玩数论了。平时也喜欢自己动手写一些数论函数,毕竟Python支持大整数高精度运算,这点是非常好的;但是,在很多实际应用中,还是希望能有一个现成的数论函数库来调用。之前尝试过数学研发网的HugeCalc库,但是由于各种不熟悉不了了之。后来论坛上的无心老兄推荐了PARI/GP,小试一下,居然在Python上成功调用了。以后再也不用担心Python上的数论计算问题了,呵呵~

点击阅读全文...

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的第二个证明,简化而来,主要是减少了对单位数的仔细分析。

点击阅读全文...

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)

点击阅读全文...

21 Jan

怎么会这么巧!背后的隐藏信息

假设我是一名中学数学老师,在给学生兴致勃勃地讲“素数”,讲完素数的定义和相关性质后,正当我接着往下讲时,有个捣蛋的学生提问,“老师,你能不能举一个三位数的素数?”。可是我手头上没有1000以内的素数表,我也没记住超过100的素数,那怎么办呢?我只好在黑板上写出几个三位数,比如173、211、463,然后跟学生说“让我们来检验这些数是不是素数”。最终的结果是:它们都是素数!然后会有学生疑问:怎么会这么巧?

素数的概率

首先的问题是,任意写一个三位数,它是素数的概率是多少?三位数的素数共有143个,三位数共有900个,于是概率应该是143/900,大约是六分之一。看起来挺低的,要“蒙中”似乎不容易。

点击阅读全文...

3 Dec

正弦级数和余弦级数

在数学分析的级数理论中,有一类常见的题目,其中涉及到
$$\cos\theta+\cos 2\theta+\dots+\cos n\theta\tag{1}$$

$$\sin\theta+\sin 2\theta+\dots+\sin n\theta\tag{2}$$
之类的正弦或者余弦级数的求和,主要是证明该和式有界。而为了证明这一点,通常是把和式的通项求出来。当然,该级数在物理中也有重要作用,它表示$n$个相同振子的合振幅。在我们的数学分析教材中,通常是将级数乘上一项$\sin\frac{\theta}{2}$,然后利用积化和差公式完成。诚然,如果仅限在实数范围内考虑,这有可能是唯一的推导技巧的。但是这样推导的运算过程本身不简单,而且也不利于记忆,在大二的时候我就为此感到很痛苦。前几天在看费曼的书的时候,想到了一种利用复数的推导技巧。很奇怪,这个技巧是如此简单——写出来显得这篇文章都有点水了——可是我以前居然一直没留意到!看来功力尚浅,需多多修炼呀。

点击阅读全文...

26 Aug

fashion-mnist的gan玩具

fashion_mnist_demo

fashion_mnist_demo

mnist的手写数字识别数据集一直是各种机器学习算法的试金石之一,最近有个新的数据集要向它叫板,称为fashion-mnist,内容是衣服鞋帽等分类。为了便于用户往fashion-mnist迁移,作者把数据集做成了几乎跟mnist手写数字识别数据集一模一样——同样数量、尺寸的图片,同样是10分类,甚至连数据打包和命名都跟mnist一样。看来fashion mnist为了取代mnist,也是拼了,下足了功夫,一切都做得一模一样,最大限度降低了使用成本~这叫板的心很坚定呀。

叫板的原因很简单——很多人吐槽,如果一个算法在mnist没用,那就一定没用了,但如果一个算法在mnist上有效,那它也不见得在真实问题中有效~也就是说,这个数据集太简单,没啥代表性。

fashion-mnist的github:https://github.com/zalandoresearch/fashion-mnist/

点击阅读全文...