线性规划之单纯形法 在 Codeforces 有人问了我两个优化问题,一个是非线性规划(具体说是凸优化问题)。一般来说非线性规划没有什么具体的算法,但是凸优化,可以转化成凸包,然后转换成线段(如果是二维的)上的最值问题就搞定了。另一个是线性规划(所有线性规划其实也是特殊的凸优化),线性规划有著名的单纯形算法,7 年前就学过,但一直没写过代码。趁这次机会重新学习一下单纯形算法,并给出代码。英文版解答 参考教材:运筹学 2020-11-06 #algorithm
基于快速数论变换的多项式 快速 Fourier 变换(FFT),被称为 20 世纪最伟大的十大算法之一。所以很多软件都有对应的 FFT,例如 Python 的 scipy.fftpack 中就有关于 FFT 的包。所以个人写 FFT 就没有那么必要了。但是 NTT(快速数论变换) 的包一般都没多少,而且会写 NTT 必然就会写 FFT 了。大约在 5 年前,在 miskcoo 博文:从多项式乘法到快速傅里叶变换 学会并且写 2020-06-02 #math #algorithm #cpp #python
$x^2 \equiv a \mod n$ 何时有解 显然,我们只需考虑 \(0 \leq a < n\) 的情形。这个问题应该很早就被人考虑好了,不过无所谓吧(反正只是个博文而已)。以下内容都是独立完成的。并可看作 二次剩余和 Gauss 互反律 这篇博文的延续。最后再给出方程的一个解(如果存在的话)。 2020-05-28 #math #sagemath
Grossman 常数 考虑由如下递推关系确定的实数数列 \(\lbrace A_n \rbrace\): \[ \begin{aligned} A_{n+2} = \frac{A_n}{1+A_{n+1}} \\ A_0=1,\; A_1=x \end{aligned} \] 可以证明,有且仅有一个 \(x=x_0\) 使得 \(\lbrace A_n \rbrace\) 收敛。这个 \(x_0 = 0.7373383 2020-05-16 #math
$GL_n(\mathbb{Z}_m)$ 的阶数 由线性无关性,我们不难知道 \(|GL_n(\mathbb{Z}_p)| = \prod_{i=0} ^{n-1} (p^n-p^i)\),但是 \(|GL_n(\mathbb{Z}_m)|\) 却是一个相对复杂的问题,它本质上是在考虑有限 Abel 群的自同构群的阶数问题。它又跟递推数列模 \(m\) 的周期密切相关。 2020-04-25 #math