数值方法解方程之终极算法
By 苏剑林 | 2010-04-04 | 44693位读者 | 引用呵呵,做了一回标题党,可能说得夸张了一点。说是“终极算法”,主要是因为它可以任意提高精度、而且几乎可以应付任何非线性方程(至少理论上是这样),提高精度是已知的迭代式上添加一些项,而不是完全改变迭代式的形式,当然在提高精度的同时,计算量也会随之增大。其理论基础依旧是泰勒级数。
我们考虑方程$x=f(y)$,已知y求x是很容易的,但是已知x求y并不容易。我们考虑把y在$(x_0,y_0)$处展开成x的的泰勒级数。关键是求出y的n阶导数$\frac{d^n y}{dx^n}$。我们记$f^{(n)}(y)=\frac{d^n x}{dy^n}$,并且有
$$\frac{dy}{dx}=\frac{1}{(\frac{dx}{dy})}=f'(y)^{-1}$$
【龟猫记2】之“百合花开”
By 苏剑林 | 2010-02-10 | 19057位读者 | 引用[欧拉数学]素数倒数之和
By 苏剑林 | 2011-11-19 | 38070位读者 | 引用上一篇文章我通过欧拉数学的方式简单地讲了数论中的“黎曼ζ函数”和“金钥匙”。事实上,这把“金钥匙”与很多问题之间的联系已经被建立了起来,换句话说,“金钥匙”已经插入到了相应的“锁孔”中,数学家的工作就是要把这个金钥匙“拧动”,继而打开数学之门!
接下来我们看看如何证明所有素数的倒数之和发散的。在入正题之前,我们得需要看一个引理:
无限数列${a_n}$的每一项都大于0,那么$\sum\limits_{n=1}^{\infty} a_n$与$\prod\limits_{n=1}^{\infty} \left(1+a_n\right)$的敛散性相同。换句话说,两者互为充分必要条件!
【翻译】星空之夜:夏季恒星的色彩
By 苏剑林 | 2013-07-25 | 31939位读者 | 引用数学基本技艺之23、24(下)
By 苏剑林 | 2013-09-27 | 24232位读者 | 引用在上一篇文章中我们得到了第23题的解,本来想接着类似地求第24题,但是看着23题的答案,又好像发现了一些新的东西,故没有继续写下去。等到今天在课堂上花了一节课研究了一下之后,得到了关于这种拟齐次微分方程的一些新的结果,遂另开一篇新文章,与大家分享。
一、特殊拟齐次微分方程的通解
在上一篇文章中,我们求出了拟齐次微分方程$\frac{dy}{dx}=x+\frac{x^3}{y}$的解:
$$(2y+x^2)(x^2-y)^2=C$$
或者写成这样的形式:
$$(y+\frac{1}{2} x^2)(y-x^2)^2=C$$
素数之美2:Bertrand假设的证明
By 苏剑林 | 2014-08-09 | 22796位读者 | 引用有了上一篇文章的$\prod\limits_{p\leq n}p < 4^{n-1}$的基础,我们其实已经很接近Bertrand假设的证明了。Bertrand假设的证明基于对二项式系数$C_n^{2n}$的素因子次数的细致考察,而在本篇文章中,我们先得到一个关于素数之积的下限公式,然后由此证明一个比Bertrand假设稍微弱一点的假设。最后,则通过一个简单的技巧,将我们的证明推动至Bertrand假设。
二项式系数的素因子
首先,我们考察$n!$中的素因子$p$的次数,结果是被称为Legendre定理的公式:
$n$中素因子$p$的次数恰好为$\sum\limits_{k\geq 1}\left\lfloor\frac{n}{p^k}\right\rfloor$。
证明很简单,因为$n!=1\times 2\times 3\times 4\times \dots \times n$,每隔$p$就有一个$p$的倍数,每隔$p^2$就有一个$p^2$的倍数,每隔$p^3$就有一个$p^3$的倍数,每增加一次幂,将多贡献一个$p$因子,所以把每个间隔数叠加即可。注意该和虽然写成无穷形式,但是非零项是有限的。
两百万素数之和与“电脑病”
By 苏剑林 | 2014-10-17 | 15390位读者 | 引用原则上来讲,同样的算法,如果分别在Python和C++上实现,那么Python的速度肯定比不上C++的。但是Python还被称为“胶水语言”,它允许我们把主要计算的部分用C或C++等高效的语言编写好,然后它作为“粘合剂”把两者粘合在一起。正因为如此,Python才有了各种各样的扩展库,这些库中有不少是用C语言编写的。因此,我们在编写Python程序的时候,如果可以用这些现成的库,速度会快很多。本文就是用Numpy来改进之前的《两百万前素数之和与前两百万素数之和》的计算。
算法本身是没有变的,只是用了Numpy来处理数组计算,代码如下:
“噪声对比估计”杂谈:曲径通幽之妙
By 苏剑林 | 2018-06-13 | 174157位读者 | 引用说到噪声对比估计,或者“负采样”,大家可能立马就想到了Word2Vec。事实上,它的含义远不止于此,噪音对比估计(NCE, Noise Contrastive Estimation)是一个迂回但却异常精美的技巧,它使得我们在没法直接完成归一化因子(也叫配分函数)的计算时,就能够去估算出概率分布的参数。本文就让我们来欣赏一下NCE的曲径通幽般的美妙。
注:由于出发点不同,本文所介绍的“噪声对比估计”实际上更偏向于所谓的“负采样”技巧,但两者本质上是一样的,在此不作区分。
问题起源
问题的根源是难分难舍的指数概率分布~
指数族分布
在很多问题中都会出现指数族分布,即对于某个变量$\boldsymbol{x}$的概率$p(\boldsymbol{x})$,我们将其写成
$$p(\boldsymbol{x}) = \frac{e^{G(\boldsymbol{x})}}{Z}\tag{1}$$
其中$G(\boldsymbol{x})$是$\boldsymbol{x}$的某个“能量”函数,而$Z=\sum_{\boldsymbol{x}} e^{G(\boldsymbol{x})}$则是归一化常数,也叫配分函数。这种分布也称为“玻尔兹曼分布”。
最近评论