对数

log_a b 就是在问『a 的几次方等于 b』。换上这层表示之后,乘法变加法、幂变乘法,很多难算的东西一下子变简单。

9 分钟思维方法: 换表示

同一个对象换一种写法,难题可能自动变简单

这一片为什么存在

你会算 2^10 = 1024。但反过来问『2 的几次方等于 1024』,手上就没工具了——指数藏在右上角,加减乘除够不着它。这一片给你一把把指数拽下来的钳子;拽下来之后,很多原本要硬算的东西会自己塌成一行加法。

内容

先别管符号。写下 2 的幂:2, 4, 8, 16, 32, 64, 128, 256, 512, 1024。你平时是从左往右读它——给指数,得数。对数只是反过来读同一张表:给数,问指数。1024 对应 10,那么 log_2 1024 = 10。就这么多。log_a b 不是一个新运算,它是这张老表的另一种读法。

真正值钱的是换了读法之后发生的事。看表里的 8 和 32:8 = 2^3,32 = 2^5,它们的积 256 = 2^8,而 3 + 5 = 8。在指数位置上,乘法自动变成了加法。这不是巧合,是 a^m · a^n = a^(m+n) 的镜像。四百年前航海天文表的计算量就是被这一条压下去的:把两个大数换成它们的对数,加起来,再换回去。滑尺、分贝、pH、里氏震级,用的都是这一手。

也正因为对数读的是『指数位置』,它只认得乘法。log(a·b) 有公式,log(a+b) 没有——加法在指数世界里没有对应物,硬套一定算错。同理 log a / log b 是两个读数的比值,它恰好等于 log_b a(换底公式),跟 a − b 毫无关系。

还有一件事表已经告诉你了:2 的幂永远是正数。往左走,2^0 = 1、2^(−1) = 0.5、2^(−10) = 1/1024,越来越小但永远到不了 0。所以 0 和负数根本不在这张表里;log 0 不是等于某个古怪的值,是压根不存在。

至于 ln 和 lg,它们不是两种运算,只是这张表的底换成了 e 和 10。规则一模一样,换底公式负责把它们互相翻译。

定义:设 a > 0 且 a ≠ 1,b > 0。log_a b = c 的意思就是 a^c = b。这里 a 是底(用谁的幂表),b 是真数(表里那个数),c 是读出来的指数。b ≤ 0 时无定义,因为 a^c 恒为正。

三条运算律,都是指数律的镜像:
1. log_a(xy) = log_a x + log_a y —— 乘变加
2. log_a(x/y) = log_a x − log_a y —— 除变减
3. log_a(x^k) = k · log_a x —— 幂变乘

换底公式:log_a b = log_c b / log_c a,其中 c 是任意合法的新底。取 c = e 就得到 log_a b = ln b / ln a。

记号:ln = log_e,lg = log_10。只是 a 取了不同值,运算律完全共用。注意律 2 左边是 log_a(x/y),商在 log 里面;log_a x / log_a y 是另一个东西,按换底公式它等于 log_y x。

跟着做一遍

解 4^x = 32。不许用计算器,也不要试数。

  1. 两边都是 2 的幂,先换成同一个底:4 = 2^2,32 = 2^5。
  2. 左边变形:4^x = (2^2)^x = 2^(2x)。
  3. 方程现在写成 2^(2x) = 2^5,两边已经是同一种表示。
  4. 2^t 严格单调,同底同值必然同指数,于是 2x = 5。
  5. x = 5/2。
  6. 用对数语言复述同一件事:x = log_4 32 = ln 32 / ln 4 = (5·ln 2)/(2·ln 2) = 5/2。
  7. 验算:4^(5/2) = (4^(1/2))^5 = 2^5 = 32。✓

结果

x = 5/2 = 2.5。真正做事的不是解方程的技巧,而是把 4 和 32 都改写成 2 的幂——换到同一种表示上,方程自己就散了。

它在树上的位置

概念不是一篇一篇平铺的。下面两组是这一片真实的上下游:它靠着什么,又撑起了什么。

读完之后

这一页是产品里的一天。产品是那棵树:你学到哪、哪块在衰减、明天该学什么。一篇读物回答不了这三个问题,树才回答。

看看那是什么意思