27 Jun

Project Euler 454 :五天攻下“擂台”

进入期末了,很多同学都开始复习了,这学期我选的几门课到现在还不是很熟悉,本想也在趁着这段时间好好看看。偏生五天前我在浏览数学研发论坛的编程擂台时看到了这样的一道题目

设对于给定的$L$,方程
$$\frac{1}{x}+\frac{1}{y}=\frac{1}{n}$$
满足$0 < x < y \leq L$的正整数解共有$f(L)$种情况。比如$f(6)=1,f(12)=3,f(1000)=1069$,求$f(10^{12})$。

这道题目的来源是Project Euler的第454题:Diophantine reciprocals III(丢潘图倒数方程),题目简短易懂,但又不失深度,正符合我对理想题目的定义。而且最近在学习Python学习得不亦乐乎,看到这道题目就跃跃欲试。于是乎,我的五天时间就没有了,而且过程中几乎耗尽了我现在懂的所有编程技巧。由于不断地测试运行,我的电脑发热量比平时大了几倍,真是辛苦了我的电脑。最后的代码,自我感觉已经是我目前写的最精彩的代码了。在此与大家共享和共勉~

上述表达式是分式,不利于编程,由于$n=\frac{xy}{x+y}$,于是上述题目也等价于求$(x+y)|xy$(意思是$x+y$整除$xy$)的整数解。

点击阅读全文...

16 Feb

带点电荷的均匀杆

在讨论了倒立单摆的相关分析之后,胡雄大哥(笔者的一位好友)提出了一个问题:一根均匀杆,当然质量不可忽略,只有一个力(简单起见,可以先假设为恒力)作用在其中一个点上(简单起见,可以假设为端点),那么杆是怎么运动的?

其实笔者学了不少的经典力学,也分析了不少问题,但就是对于力矩、角动量等还是模模糊糊的,对于我来说,大多数经典力学问题就是“作用量+变分”,本题也不例外。为了让题目的实验意义更加明确,不妨将题目改成:

一根中性的均匀杆,它的一个端点带有一个点电荷,那么它(仅仅)在一个均匀电场中的运动是怎样的?

在这里,我们进一步简化,只考虑平面问题。杆属于刚体,为了描述杆的运动,我们需要描述杆上一点的运动,以及杆绕这一点的转动,也就是说,即使只考虑平面的情况,该系统也是有三个自由度的。设杆的带电荷那一端点的坐标为$(x,y)$,为了描述杆的转动,以这一端点为中心建立极坐标系,设杆的极角为$\theta$。设电势的函数为$U(x,y)$,因为只有一点带电(受力),因此势能是简单的。

点击阅读全文...

18 Jun

线性微分方程组:已知特解求通解

含有$n$个一阶常微分方程的一阶常微分方程组
$$\dot{\boldsymbol{x}}=\boldsymbol{A}\boldsymbol{x}$$
其中$\boldsymbol{x}=(x_1(t),\dots,x_n(t))^{T}$为待求函数,而$\boldsymbol{A}=(a_{ij}(t))_{n\times n}$为已知的函数矩阵。现在已知该方程组的$n-1$个线性无关的特解$\boldsymbol{x}_1,\boldsymbol{x}_2,\dots,\boldsymbol{x}_{n-1}$(解的列向量),求方程的通解。

这是我的一位同学在6月5号问我的一道题目,我当时看了一下,感觉可以通过李对称的方法很容易把解构造出来,当晚就简单分析了一下,发现根据李对称的思想,由上面已知的信息确实足以把通解构造出来。但是我尝试了好几天,尝试了几何、代数等思想,都没有很好地构造出相应的正则变量出来,从而也没有写出它的显式解,于是就搁置下来了。今天再分析这道题目时,竟在无意之间构造出了让我比较满意的解来~

点击阅读全文...

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\}$也构成了一个环,更特别的,它还是一个数域。

点击阅读全文...