这里是 Hackghost 的个人博客,可能会写一些关于数学的各种题目,也许会有很多无意义的吐槽~ 反正就是随便写写也不会在意有没有人看 ~ 这里的内容遵循 CC-BY-NC-SA 3.0 协议

Error Correcting Code

编码理论中的校验码与纠错码是两种在通信中应用的编码,对于一定长度的编码,前者可以在通信出错之后检测出错误,而后者可以在通信过程出错之后检测并改正错误。编码理论和很多数学分支有关系,近年来的研究甚至已经用到了代数几何。这篇文章主要探讨纠错码的代数理论。

纠错码的问题中,我们主要是在原来的码字中做一个代数变换,把信息的长度增加,来获得对于一定程度错误的纠正能力。

奇偶校验码:举例说明一下,对于 \(F_2\) 中的长度为 \(3\) 的向量空间。如果把整数 \(0,1,2,3,4,5,6,7\) 用 \((000),(001),\ldots,(111)\) 传输,末尾加上一位奇偶校验码,使得新的四元向量的数字 \(1\) 的个数是偶数个,那么就是一个奇偶校验码。

虽然四维空间 \(F^4_2\) 中有 \(16\) 个向量,但是奇偶校验码中只有 \(8\) 个合法的码字。在正常的传输中,如果出了 \(1\) 个错误,那么是可以检测出错误的(然而两个就不行了)。

重复码:对于一个码字,我们把这个信号重复三次,就是一个简单的重复码。对于长度为 \(3\) 的二元码,我们重复三次得到一个长度为 \(9\) 的码,九维空间中向量有 \(2^9\) 个,但是有效的码字只有 \(8\) 个。这个时候可以对有一个或两个(不相同位置)错误的情况下纠正错误。

Motion of Pendulum

没想到跨年的方式是尝试解决一个微分方程的问题,本来这个方程看起来非常人畜无害,结果一上手才知道有多难玩得转。有这样一个系统

其中 $k,b$ 是参数。这个方程描述的是一个具有恒定的外力矩和与速度成正比的摆的运动的趋势。这样一个系统,不出意外的具有周期解,而且有可能会在一些参数下“停下来”,也就是这个系统的两个吸引子。然而,周期解和稳定解究竟吸引盆有多大,是一个很难处理的问题。

最终讨论了好久,也就只能做出来一个数值解。一开始我们低估了问题的难度,想要直接用 Lyapunov 函数去估计吸引盆,然而 Lasalle 定理要求对正不变集有一定的估计,这个问题一样是很困难的。也就是说我们的努力以失败告终。请教了一个学理论力学的同学,他也觉得,定性判断比较简单而且符合直觉,如果想要定量地确定哪个参数会有多大的吸引效应,真的非常困难 – 一般就要求助于 MatLab。

最终这个问题,我们只能打好多个问号。也许是一个混沌效应?也许是可以化为偏微分方程去解决的?貌似我不能有一个好的解释。

附论文

On Complex Differential System

最近微分方程课程有一个大作业,话题是探究复微分方程的特性,struggle 了三周,终于搞出来了一篇小论文。其实核心思想就是对一个复系统,可以局部线性逼近。探索问题大概是先给定具体的微分系统样例去研究,然后让从特殊的性质推出这个一般的想法,体会到了解决 open problem 和改进数学结构的快感。

其实探索问题得出的结论倒是不难,问题在于中间提出的命题不一定是对的。最大的一个歧途在于,我提出的“在 $z^\prime=f(z)$ 中,$f$ 关于 $z$ 解析,并且解也是解析的才可以逼近”这个想法,浪费了大家很多时间,因为 $z$ 的解是处处解析的并不是必要的。然而在解是解析的情况下我们依然能够做出来,所以就有了一个“数学家假设黎曼猜想成立证明了一个定理,然后发现假设黎曼猜想不成立也可以证明这个定理”这样的笑话了。

这次论文是我写的稿,有的地方不严密,比如 Cauchy-Riemann 条件的证明,没有用微分形式,以及一些其他定理的叙述不严谨,都被组里的大佬改正了。被小组的聚聚带飞了一回,真的是爽死了。

附论文

Minimizing maximum of inner product of $n$ Unit Vectors in $\mathbb{R}^n$

昨晚 zhy 和我讨论这样一个问题,

假如 $n$ 维欧氏空间中有 $n$ 个向量,它们夹角最小值记为 $t$,那么 $t$ 的最大值是多少?

于是可以表述成

假如 $n$ 维欧氏空间中有 $n$ 个向量,它们内积最大值记为 $t$,那么 $t$ 的最小值是多少?

大概一眼看去,就觉得这个问题嘛,最优解一定是对称的,所以记 $n$ 个单位向量为 ${e_i}, i = 1, 2, \ldots, n$,然后记内积最大值为 $t$,那么 $<e_i, e_j>\leq t, i\neq j$。

Convergence of Euler Method

最近微分方程课上有一个关于微分方程数值解的小组作业,这里记录一下微分方程数值解的稳定性问题。关于一个微分方程 $x^\prime(t)=f(t,x)$,给定初值 $x(0)=x_0$,称为一个初值问题。这个作业使用的 Euler 方法的想法可以看作是 Taylor 展开

取了一阶近似然后累加的结果。Euler 法的意思就是求一个数组,让 $y_{k+1}=y_k + \Delta t f(t_k, y_k)$ 不断累加,就可以取到 $y(t)$ 的近似解。

然而由于 Euler 方法比较粗糙,得出的数值解就不一定收敛。尤其是我们研究的例子 $y^\prime=e^t \sin y$。这个方程有趣的地方是,它本身是可以给出解析解的,解就是 $\DeclareMathOperator{\arccot}{arccot}y=2\arccot(e^{-e^t+c})$,并且当 $t$ 趋于无穷的时候,$y$ 是收敛到 $\pi$ 的,但 Euler 方法在这个方程上却不收敛。

对于这个问题,A.B.H 大佬给出了一个漂亮的解释。现在我们关心的是 Euler 法计算出的计算值 $y_{k}$ 与理论值 $Y_k=y(t_k)$ 之间的绝对误差是怎么变化的。那么就设 $E_k=Y_k-y_k$。

Yet Another Hello World!

最近一年以来一直想要自己开一个博客来着,后来还是自己太懒了,就一直没有动手架博客。最近觉得自己不能再懒下去了,就打算开始写博客。虽然可能写的问题都会比较无聊没人看,或者比较幼稚,但是还是要记录一下的好。

于是和 2013 年那次开博客一样,还是摒弃动态博客,直接选择了静态博客。就选用了 Jekyll 这个框架,毕竟是 GitHub 上官方的博客框架,不至于会出现上次那种使用了比较小众的 Ruhoh,过了几年这个项目就死掉了的尴尬情况。其他的原因 Jekyll 也很成熟,加入了动态生成这些比较 fancy 的功能。于是用了半天时间在默认的主题上做了修改,并且加入了 Gitment 评论,就暂时算是可以用了吧。