22 Feb

炼钢.vs.做菜:淬火与过冷河

牛腩过冷河

牛腩过冷河

除了数学物理和中国象棋,我闲时也喜欢弄一下吃的。看到各种菜料经过自己的加工变成佳肴,也是一件美不胜收的事情;有时看到同样的菜料能够做出不同款式、不同味道的菜时,更是其乐无穷。作为广东人,我很自豪于其中一句话:“广东人吃所有东西——天上飞的,除了飞机;地上爬的,除了火车;水中游的,除了潜艇”。虽然不免有些夸张,但这句话充分显示了广东人(或者说岭南地区)饮食和烹饪的强大本领。我的厨房技术来源于我妈妈,小时候妈妈在家里做菜,由于是烧柴草生火,所以我得在灶前看好火。于是看火之时也在看妈妈做菜,久而久之,也会学会了一些做菜的方法。而现在,妈妈仍是家里的厨房好手,而我也不时进入厨房,做做自己喜欢吃的东西。谢谢我的好妈妈!

炼钢

本文叫“炼钢.vs.做菜”,这两者基本上是风牛马不相及,不过我却发现它们有一点点相似的技巧。已不记得什么时候了,在一本自然科学的书上,我曾看到过炼钢的两种技术:淬火和退火(后来发现还有正火、回火等,原理类似)。简单来说,淬火是将一块钢铁烧红,然后放进冷水中迅速冷却(也就是加热到一定温度,然后迅速冷却),如此重复,便可使得钢铁变硬,但同时也会更脆;退火则刚刚相反,它是将钢铁烧红后,让它自然冷却(有必要时,想办法降低冷却速度),如此一来,钢铁变软了,也变韧了。正火、回火均与退火类似,只是在细节上不同。通过淬火和退火的适当组合,可以生产出硬度和韧度都适当的钢铁。

点击阅读全文...

25 Feb

翻到新的维度,把积分解决!

一般来说,如果原函数容易找到的话,牛顿-莱布尼兹公式是定积分的通用方法。但是牛顿-莱布尼兹公式只适合连续函数的积分,如果积分区间含有奇点,那就不成立了。比如,我们考虑积分
$$\int_{-1}^1 \frac{1}{x^2}dx$$
当然,从严格的数学上来说,这种写法是不成立的,因为被积函数在原点没有意义。当然,从物理的角度来考虑,由于对称性,我们确信
$$\int_{-1}^1 \frac{1}{x^2}dx=2\int_{0}^1 \frac{1}{x^2}dx=\lim_{\varepsilon\to 0}2\int_{\varepsilon}^1 \frac{1}{x^2}dx$$
从而得出积分发散的结论。这种处理某种程度上是可以接受的,但是却不是让人满意的,因为它导致了分段。有什么办法可以直接处理这种情况呢?确实有的,同样引入参数,并且最终让参数为0,考虑带参数的积分
$$\int_{-1}^1 \frac{1}{x^2+\varepsilon^2}dx$$
只要参数为正,这个被积函数就在$\mathbb{R}$上处处连续了,也就是奇点消失了,这样子就可以用牛顿-莱布尼兹公式了
$$\int_{-1}^1 \frac{1}{x^2+\varepsilon^2}dx=\left.\frac{1}{\varepsilon}\arctan\left(\frac{x}{\varepsilon}\right)\right|_{-1}^{1}$$
考虑$\varepsilon\to 0$的情况,就自动得到了积分发散的结论。

点击阅读全文...

28 Feb

行列式的导数

在讨论曲线坐标系的积分时,通常都会出现行列式这个东西,作为“体积元”的因子。在广义相对论中,爱因斯坦场方程的作用量就带有度规的行列式,而在对其进行变分时,自然也就涉及到了行列式的求导问题。我参考了朗道的《场论》以及《数理物理基础--物理需用线性高等数学导引》,了解到相关结果,遂记录如下。

推导


\begin{equation}\boldsymbol{A}(t)=\left(a_{ij}(t)\right)_{n\times n}\end{equation}
是一个n阶矩阵,其中每个矩阵元素都是t的函数。其行列式为$|\boldsymbol{A}|$,自然地,考虑
\begin{equation}\frac{d}{dt}|\boldsymbol{A}|\end{equation}

点击阅读全文...

15 Mar

不求珍馐百味,但愿开水白菜

开水白菜 (1)

开水白菜 (1)

如果要用做菜来比喻人生的话,我觉得,人生最高的境界之一便是开水白菜。

点击阅读全文...

16 Aug

从费马大定理谈起(三):高斯整数

为了拓展整数的概念,我们需要了解关于环和域这两个代数结构,这些知识在网上或者相应的抽象代数教程中都会有。抽象地提出这两个代数结构,是为了一般地处理不同的数环、数域中的性质。在自然数集$\mathbb{N}$中,可以很方便定义和比较两个数字的大小,并且任意一个自然数的子集,都存在最小元素,这两点综合起来,我们就说$\mathbb{N}$是“良序”的(这也是数学归纳法的基础)。在良序的结构中,很多性质的证明变得很简单,比如算术基本定理。然而,一般的数环、数域并没有这样的“良序”,比如任意两个复数就不能比较大小。因此,一般的、不基于良序的思想就显得更为重要了。

环和域

关于环(Ring)的定义,可以参考维基百科上面的“环(代数)”条目。简单来说,环指的是这样一个集合,它的元素之间可以进行加法和乘法,并满足一些必要的性质,比如运算封闭性、加法可交换性等。而数论中大多数情况下研究的是数环,它指的是集合是数集的情况,并且通常来说,元素间的加法和乘法就是普通的数的加法和乘法。比如所有的实整数就构成一个数环$\mathbb{Z}$,这个数环是无限的;所有的偶整数也构成一个数环$2\mathbb{Z}$;对于素数$p$,在模$p$之下,数集$\{0,1,2,\dots,p-1\}$也构成了一个环,更特别的,它还是一个数域。

点击阅读全文...

18 Mar

倒立单摆之分离频率

Mathieu方程

在文章《有质动力:倒立单摆的稳定性》中,我们分析了通过高频低幅振荡来使得倒立单摆稳定的可能性,并且得出了运动方程
$$l\ddot{\theta}+[h_0 \omega^2 \cos(\omega t)-g]\sin\theta=0$$

由此对单摆频率的下限提出了要求$\omega \gg \sqrt{\frac{g}{h_0}}$。然而,那个下限只不过是必要的,却不是充分的。如果要完整地分析该单摆的运动方程,最理想的方法当然是写出上述常微分方程的解析解。不过很遗憾,我们并没有办法做到这一点。我们只能够采取各种近似方法来求解。近似方法一般指数值计算方法,然后笔者偏爱的是解析方法,也就是说,即使是近似解,也希望能够求出近似的解析解。

点击阅读全文...

9 Apr

趣题:与橡皮绳赛跑的蚂蚁

这是一道流传很广的趣题,也许不少读者已经听说过它,然而广为人知却不一定“广为人‘解’”,在此把题目给出来,写下我自己的答案,并且谈谈我对答案的看法。题目是这样子的:

与橡皮绳赛跑的蚂蚁
一只蚂蚁沿着一条长$l=100$米的橡皮绳以每秒1厘米的匀速由一端向另一端爬行。每过1秒钟,橡皮绳就拉长100米,比如10秒后,橡皮绳就伸长了1000米。假设橡皮绳可以任意拉长,并且拉伸是均匀的。蚂蚁也会不知疲倦的一直往前爬,在绳子均匀拉长时,蚂蚁的位置理所当然的相对匀速向前挪动,问,如此下去,蚂蚁能否最终爬到橡皮绳的另一端?

点击阅读全文...

11 Jun

用PyPy提高Python脚本执行效率

《两百万前素数之和与前两百万素数之和》中,我们用Python求了前两百万的素数和以及两百万前的素数和,并且得到了在Python 3.3中的执行时间如下:

两百万前的素数之和:
142913828922
time: 2.4048174478605646

前两百万的素数之和:
31381137530481
time: 46.75734807838953

于是想办法提高python脚本的执行效率,我觉得在算法方面,优化空间已经比较小了,于是考虑执行器上的优化。在搜索的无意间我看到了一个名词——Psyco!这是python的一个外部模块,导入后可以加快.py脚本的执行。网上也有《用 Psyco 让 Python 运行得像 C一样快》、《利用 psyco 让 Python 程序执行更快》之类的文章,说明Psyco确实是一个可行的选择,于是就跃跃欲试了,后来了解到Psyco在2012年已经停止开发,只支持到Python 2.4版本,目前它由 PyPy所接替。于是我就下载了PyPy

点击阅读全文...