log 到底是做什麼用的?從乘法變加法的翻譯機開始
很多學生覺得 log 只是為了應付「解 2^x=7」這種考題。但 log 的真正身份是把乘法翻譯成加法的機器,這個性質貫穿計算尺、放射性衰變、地震規模、分貝,甚至統計物理的熵。本文說明這台翻譯機為什麼在科學裡到處都用得到。
《log 的應用系列》:①總覽:乘法變加法的翻譯機 | ②半對數圖與指數衰變 | ③冪律與雙對數圖 | ④分貝、地震規模、視星等 | ⑤熵為什麼要取 log
log 只是為了應付考試嗎?
高中生學對數(logarithm),最常見的抱怨是:「除了解 $2^x=7$ 這種方程式,log 到底還能幹嘛?」
這個問題問得很合理,因為課本通常只教了 log 的運算規則,卻沒有解釋這些規則背後為什麼會長這樣。這篇文章想說的是:log 從來不是一種「很難算的函數」,而是一台把乘法世界翻譯成加法世界的機器。而這個翻譯機的用途,遠遠超出考試範圍——物理、化學、統計、金融,到處都看得到它的身影。
直覺:在計算機發明之前,人們怎麼算大數字乘法?
在電子計算機出現之前,工程師和科學家要計算兩個大數字的乘積(例如 $2384\times5721$),手算非常容易出錯。他們的解決辦法是:先把乘法問題「翻譯」成加法問題,算完加法,再「翻譯」回來。
這正是計算尺(slide rule)的原理,也是十七世紀對數表被發明的初衷。想像有一把尺,上面的刻度不是均勻的 $1,2,3,4,\ldots$,而是照著 $\log1,\log2,\log3,\log4,\ldots$ 的位置刻的。要計算 $a\times b$,只要把代表 $a$ 和 $b$ 的刻度長度相加,再從對數尺上讀回對應的數字,就得到答案——因為刻度上的「長度相加」,對應的正是「數字相乘」。
這個小故事已經把 log 的核心精神講完了:log 的工作,就是把「乘」這個動作,翻譯成「加」這個動作。
正式說法:log 是乘法與加法之間的翻譯規則
課本教的對數律,其實就是這個翻譯規則的正式版本:
\[\log(xy)=\log x+\log y\] \[\log\left(\frac{x}{y}\right)=\log x-\log y\] \[\log(x^n)=n\log x\]這三條規則看起來是三件事,其實是同一件事的三種寫法:乘除變加減,指數變乘法。換句話說,log 把「乘法的世界」裡的每一個動作,都翻譯成「加法的世界」裡對應的動作:
| 乘法世界的動作 | 加法世界的對應動作 |
|---|---|
| 兩數相乘 $xy$ | 兩數相加 $\log x+\log y$ |
| 兩數相除 $x/y$ | 兩數相減 $\log x-\log y$ |
| 取 $n$ 次方 $x^n$ | 乘上 $n$ 倍 $n\log x$ |
大學代數會把這件事講得更精確:$\log$ 是正實數(在乘法下)與所有實數(在加法下)之間的一個同構(isomorphism)——一個既一一對應、又完全保留運算結構的「翻譯字典」。這聽起來很抽象,但意思就是我們剛才說的:只要 log 把每個數字翻譯過去,乘法世界裡發生的任何事,翻譯過去以後都會變成加法世界裡對應的事,而且不會漏掉、也不會翻譯錯。
這才是 log 存在的真正理由:現實世界裡有太多「不斷相乘」的現象,而人腦處理加法遠比處理乘法直覺——log 幫我們把難的乘法問題,換成好處理的加法問題。
應用一:指數衰變——把彎曲的曲線拉直
半衰期一文推導過放射性衰變的公式:
\[N(t)=N_0e^{-\lambda t}\]這是一條指數曲線,一開始下降很快,後來變得平緩——不容易用眼睛判斷兩筆資料的衰變速率是否一致。但兩邊同取自然對數:
\[\ln N(t)=\ln N_0-\lambda t\]$\ln N$ 對 $t$ 作圖,得到的是一條直線,斜率就是 $-\lambda$!原本要用肉眼判斷的彎曲曲線,透過 log 直接變成國中生都會判讀的直線斜率問題。這就是為什麼物理實驗室的示波器、資料分析軟體常常內建「semi-log plot(半對數圖)」——只要看到資料畫出來是直線,就知道背後藏著指數關係。
同樣的技巧不只用在放射性衰變,RC 電路的電容放電、阻尼振動的振幅衰減、藥物在血液中的代謝,全部都是 $e^{-\lambda t}$ 的形式,全部都可以用這招「取 log 拉直線」。這個技巧的完整推導與實例計算,見《半對數圖與指數衰變》。
應用二:冪律——log-log 圖上的斜率就是次方數
除了指數關係,另一種在自然界到處都是的關係叫冪律(power law):
\[y=Ax^n\]兩邊取 log:
\[\log y=\log A+n\log x\]如果把 $\log y$ 對 $\log x$ 作圖(也就是雙對數座標,log-log plot),同樣會得到一條直線,而且斜率直接就是次方數 $n$。天文學家想知道恆星光度跟質量的關係、生物學家想知道代謝率跟體重的關係、統計物理學家想研究臨界現象的尺度律,用的都是這一招:資料一畫成雙對數圖是直線,斜率讀出來就是答案,完全不需要用複雜的迴歸方法去猜測次方數。這個技巧最有感的一個例子——為什麼財富分布會有這麼長的尾巴——見《冪律與雙對數圖》。
應用三:跨越好幾個數量級的量——分貝、地震規模、星等
有些物理量的變化範圍大到誇張。人耳能感知的聲音強度,從最安靜到最吵可以相差 $10^{12}$ 倍;地震釋放的能量,從輕微有感到毀滅性的差距可以是天文數字;星星的亮度,最亮和最暗的恆星也能差上億倍。這種尺度的數字,人腦完全無法直觀比較。
解法還是同一招:取 log。
分貝(decibel, dB)把聲音強度 $I$ 轉換成
\[L=10\log_{10}\left(\frac{I}{I_0}\right)\ \text{dB}\]強度相差 $10$ 倍,分貝只增加 $10$;強度相差 $10^{12}$ 倍,分貝只增加 $120$——原本天差地遠的數字,被壓縮成人腦可以直接比較大小的範圍。地震規模(如芮氏規模)與恆星視星等用的是同一種邏輯:每差一個單位,代表的物理量其實是差了固定倍數(地震規模每差 $1$,能量約差 $32$ 倍)。這些量表面上看起來只是「一個數字」,骨子裡全部都是對數尺度。三種量表的完整定義與計算範例,見《分貝、地震規模、視星等》。
應用四(進階):統計物理的熵——為什麼偏偏是 log?
這是 log 最深刻的一個應用,牽涉到大學普通物理或統計力學的內容,這裡只講直覺,有興趣的讀者可以之後銜接熱力學課程。
統計物理定義熵(entropy)為
\[S=k_B\ln\Omega\]其中 $\Omega$ 是系統的微觀狀態數(系統內部粒子有多少種排列方式)、$k_B$ 是波茲曼常數。問題來了:為什麼偏偏要取 log?直接用 $\Omega$ 當作熵不行嗎?
關鍵在於:如果把兩個獨立的系統 $A$、$B$ 合併成一個系統,合併後的微觀狀態數是相乘的:
\[\Omega_{AB}=\Omega_A\times\Omega_B\](這很合理:$A$ 系統的每一種排列,都可以搭配 $B$ 系統的每一種排列,組合數當然是相乘。)但物理上,我們希望熵是一個廣延量(extensive quantity)——合併後的熵,應該等於兩個系統熵的相加:
\[S_{AB}=S_A+S_B\]微觀狀態數用乘的,熵卻要用加的——這正好是我們整篇文章的主題:乘法要變成加法,就交給 log。取自然對數之後:
\[S_{AB}=k_B\ln\Omega_{AB}=k_B\ln(\Omega_A\Omega_B)=k_B\ln\Omega_A+k_B\ln\Omega_B=S_A+S_B\]完全吻合!$S=k_B\ln\Omega$ 這條式子裡的 log,不是波茲曼隨手加上去的裝飾,而是唯一能把「微觀狀態數的乘法結構」轉換成「巨觀熵的加法結構」的數學工具。這也是為什麼統計力學裡幾乎所有重要的量——像是自由能 $F=-k_BT\ln Z$($Z$ 是配分函數)——都帶著一個 log:它們全部都在把某種乘法結構,翻譯成物理上需要的加法結構。這條路徑跟古典熱力學裡完全不需要 log 的熵定義是什麼關係,見《熵為什麼要取 log》。
總結:log 的三層理解
| 層次 | 對 log 的理解 |
|---|---|
| 國中視角 | log 是指數的反函數:$\log_a x=y\iff a^y=x$ |
| 高中計算視角 | log 可以把乘除、次方變成加減、乘法,方便計算 |
| 大學以後的視角 | log 是把「乘法結構」轉換成「加法結構」的自然映射,這個結構在物理、統計、工程裡反覆出現 |
一旦理解了第三層,很多公式就不再是「科學家莫名其妙塞了一個 $\ln$ 進去」,而是會發現:只要現象的底層是「東西一直相乘」(不管是機率相乘、衰減因子相乘、還是微觀狀態數相乘),而我們想描述的量需要具備可加性,log 幾乎是自己長出來的,不是誰硬塞進去的。
下次再看到考卷上的 $\log_2 8=3$,不妨想成:這是在說「$2$ 的世界裡連乘三次,翻譯到加法世界就是加了三次」——log 從頭到尾,都只是在做這件事。