Alex Kritchevsky 在博客《Everything Is Logarithms》里动了一个很小的刀:把对数的底拿掉。
他写的不是我们平时省略底数的 log。这里的 logN 被当成一种抽象代数对象。普通对数变成一个比值:log_b(N)=logN/logb。
这个写法反常,也有用。它逼你意识到:对数的底,很多时候不是“公式的一部分”,更像测量时选的单位。
无底对数不是一个可计算的数
全文的核心就一行:log_b(N)=logN/logb。
这句话不能读快。Kritchevsky 的意思不是“以后 log 不写底也行”。他把 logN 看成坐标无关的对象,只有除以 logb,才得到普通意义上的数字。
| 写法 | 在文中的意思 | 不能误读成什么 |
|---|---|---|
| logN | 坐标无关的抽象对象 | 不是可单独计算的数字 |
| log_b(N)=logN/logb | 用 logb 作为单位测量 logN | 不是换个排版写旧公式 |
| log2、loge | bits、nats 这类单位 | 不是“省略底数”的普通 log |
| 无底指数 | 作者明确没有给出对应物 | 不能硬补一个 expN |
这和向量的类比很清楚。
一个向量本身不依赖坐标系。你选了基底,它才写成一串数。同一个对象,换一组基底,坐标就变了。
无底对数也是这个味道。logN 像对象本身,logb 像单位或基底,log_b(N) 是选定单位后的坐标。
但这只是类比,不是说对数真的等同于欧氏向量。作者抓住的是“坐标无关对象 vs 数值表达”这层结构。到这里为止,文章最稳,也最有启发。
类比最亮,也最容易跑过头
Kritchevsky 后面把这套直觉推到几个地方。
p-adic valuation ν_p(n) 可以看成一种“抽系数”。如果 n 的质因数分解里有 p^k,那么 ν_p(n)=k。换句话说,它盯着 p 这个方向,看 n 里面含有多少个 p。
这很像投影。不是完整向量空间里的正交投影,而是从一个分解里取出某个指定成分。
复分析里的 ord_a f 也类似。它看函数在 a 附近零点或极点的阶数。作者用 logf(z)/log(z-a) 的极限来解释:在局部展开里,抓住最主导的那一项。
再往后,他还谈到平移算子。向量可以生成平移,平移算子又可以通过取对数回到生成元。这让“向量—指数—对数”的关系看起来和前面的故事接上了。
这里要踩刹车。
这些例子共同展示了一种抽象手感:先有对象,再选基准,再抽取系数、坐标或局部主导项。它们确实相像。但相像不等于已经统一。
作者自己也承认,他不知道背后有没有一个完整统一理论。这个未完成感很重要。它保住了文章的诚实,也限制了读者的兴奋。
数学里最危险的快感,就是把“看起来像”当成“已经证明”。类比负责开门,定理负责验房。门开得漂亮,不代表房子已经归你。
谁该在意,接下来看三件事
我更在意的不是这个记号会不会进教材。概率不高。它毕竟是作者的个人记法,不是标准课程体系里的定义。
真正受影响的是两类人。
有微积分和线性代数基础的技术读者,可以把它当成一张学习便签。以后看到 log_b(N),先想“用 logb 测量 logN”,再回到换底公式。学信息论时,bits 和 nats 也会更顺:差别不是神秘常数,而是单位选择。
喜欢抽象类比的程序员和工程师,更适合把它用在笔记、讲解和建模直觉里。比如写文档时明确区分“对象”和“坐标表达”,比堆公式更能减少误读。但别把它搬进生产代码的命名规范,也别拿它替代标准教材符号。团队协作里,非标准记号的成本很实在:别人会读错。
接下来最该观察的不是它有没有“火”,而是三个变量。
| 观察点 | 说明什么 |
|---|---|
| 它能否稳定解释更多例子 | 类比是不是有扩展力 |
| 它能否接上已有代数结构 | 直觉有没有机会变成理论 |
| 它是否始终保留边界 | 会不会滑向玄学式统一 |
我不太买账的是那种“万物皆对数”的兴奋。这个标题好玩,真读时必须降温。文章有价值,恰恰因为它没有假装自己完成了统一理论。
孔子说“名不正则言不顺”。放到这里,“名”就是记号。
log_b(N) 这个写法太熟了,熟到我们忘了它遮住了什么:底数 b 不是装饰,它在决定你用什么单位读 logN。好记号像明窗,结构会自己透出来;坏记号像厚帘,把同一种关系拆成几套陌生词。
这也是数学写作里常见的旧问题。微分里的分量、数论里的赋值、复分析里的零点阶数,名字不同,语境不同,但都有“从对象里抽出某个方向或局部主导项”的影子。
不完全一样。不能硬并成一个理论。
可只要这篇文章让读者在下一次看公式时多问一句“这里选了什么单位、什么坐标、什么投影”,它就已经赢了。对数的底被拿掉后,露出来的不是一个新数字,而是符号如何训练我们的眼睛。
