Quantum revolution eve - Newton universe collapse visualization

量子革命前夜——當牛頓的宇宙開始崩解

系列:量子力學遇見東方哲學 #01/12 | 閱讀時間:25分鐘 | Python (NumPy, Matplotlib, SciPy)

作者:Wina @ Code & Cogito


絕望的行為

1900年12月14日,柏林。冬日的寒風吹過威廉皇帝大街,德國物理學會的會議室裡,一位42歲的物理學家正要發表一個會改變世界的公式。

他的名字叫馬克斯·普朗克(Max Planck)。

此刻,他的雙手微微顫抖。不是因為緊張,而是因為憤怒——對自己的憤怒。他即將宣布的這個公式,完美地解決了困擾物理學界多年的「黑體輻射問題」。但代價是:他必須引入一個荒謬的假設。

「能量不是連續的,」他在報告中說,聲音低沉,「能量是一份一份的、不可分割的小包裹。」

E = hv

這個看似簡單的公式,其中的 h(普朗克常數,6.626×10⁻³⁴焦耳·秒)將會撕裂牛頓建立的宇宙秩序。

會後,普朗克對兒子說了一句話,這句話後來成為科學史上最著名的自白之一:

「這是一個絕望的行為。我天性保守,不喜歡懷疑的冒險…但我與這個問題已經搏鬥了六年。我知道它必須得到解決,無論付出什麼代價。我願意犧牲我的一切信念…」

普朗克不知道,他剛剛點燃了一場革命的導火線。

這場革命將會告訴人類:你以為的世界,不是真正的世界。


經典物理的輝煌宮殿

要理解量子革命有多震撼,我們得先看看它推翻的是什麼。

牛頓的完美宇宙(1687-1900)

1687年,艾薩克·牛頓出版了《自然哲學的數學原理》(Philosophiae Naturalis Principia Mathematica)。這本書用三個運動定律和一個萬有引力定律,解釋了從蘋果落地到行星運行的一切。

牛頓的宇宙是一座精密的時鐘

第一定律(慣性定律):
物體會保持靜止或勻速直線運動,除非受外力作用。

第二定律(F=ma):
力等於質量乘以加速度。給我初始條件,我能算出物體的軌跡。

第三定律(作用與反作用):
你推我一把,我也推你一把。宇宙是對稱的、可預測的。

萬有引力定律:
F = G(m₁m₂)/r²
任何兩個物體之間都有引力,引力只依賴於質量和距離。

這套理論美得令人窒息。1758年,哈雷彗星如牛頓預測的那樣準時回歸。1846年,天王星軌道的異常讓人算出了海王星的位置——還沒看到它,就知道它在哪裡。

到了19世紀末,物理學家開始相信:宇宙的基本法則已經找到了。

拉普拉斯的決定論妖精

1814年,法國數學家拉普拉斯(Pierre-Simon Laplace)說出了經典物理最狂妄的宣言:

「假設有一個智慧體,它能知道宇宙中每個原子在某一時刻的位置和動量,並且能用牛頓定律進行計算,那麼對它而言,未來和過去一樣確定。沒有什麼是不確定的,一切都像現在一樣清楚呈現。」

這個「智慧體」後來被稱為「拉普拉斯妖」(Laplace’s demon)。

它的意思很簡單:宇宙是一台已經上好發條的機器。過去決定現在,現在決定未來,一切都是鐵定的。

這個世界觀對哲學的衝擊是巨大的:
沒有自由意志:你的每個「決定」都是粒子運動的必然結果
沒有創造性:未來已經「內含」在現在
沒有偶然:所謂的「運氣」只是無知

但它也給了人類巨大的信心:只要計算能力足夠,我們可以知道一切。

馬克士威的電磁統一(1865)

1865年,詹姆斯·馬克士威(James Clerk Maxwell)完成了另一個驚人的統一:電、磁、光原來是同一種東西。

他的四個方程式(馬克士威方程組)描述了電磁場如何產生、如何傳播:

nabla·E = rho/epsilon_0        (高斯定律)
nabla·B = 0                    (磁場無源)
nabla x E = -dB/dt             (法拉第定律)
nabla x B = mu_0 J + mu_0 epsilon_0 dE/dt  (安培-馬克士威定律)

這些方程預測:電磁波的速度 c 約等於 3×10⁸ m/s

等等…這不就是光速嗎?

馬克士威意識到:光就是電磁波!

1887年,赫茲用實驗證實了電磁波的存在。馬克士威去世了,但他的理論勝利了。

19世紀末的物理學盛世

到了1890年代,物理學家相信:

  • 力學:牛頓三定律搞定
  • 引力:萬有引力定律搞定
  • :馬克士威方程搞定
  • 熱力學:三大定律搞定
  • 統計力學:玻爾茲曼搞定

著名物理學家開爾文勳爵(Lord Kelvin)在1900年的演講中說:

「物理學的大廈已經建成。未來的物理學家只需要在小數點後面多加幾位數字。」

但他話鋒一轉:

「不過,晴朗的天空中還飄著兩朵小小的烏雲…」

他不知道,這「兩朵小烏雲」即將變成摧毀整座宮殿的颶風。


三朵不祥的烏雲

第一朵烏雲:黑體輻射問題

想像一個完美的黑色物體——它吸收所有照射到它的光,不反射任何東西。現在把它加熱。

實驗觀察:
– 溫度低時,發紅光(紅外線)
– 溫度高時,發白光(可見光)
– 溫度更高時,發藍光(紫外線)

很自然的規律對吧?鐵匠鋪裡的鐵塊就是這樣:黑色 → 紅色 → 黃色 → 白色。

問題是:經典物理預測的是什麼?

根據經典理論(瑞利-金斯公式),能量應該在所有頻率上均勻分佈。這意味著:
– 加熱物體會發出無限多的紫外光
– 能量會無限大

這被稱為「紫外災難」(Ultraviolet Catastrophe)。

但實驗告訴我們:沒有無限能量。加熱的物體不會炸成宇宙。

經典物理失敗了。

第二朵烏雲:邁克生-莫雷實驗(1887)

19世紀的物理學家相信:光波需要介質傳播,就像聲波需要空氣一樣。他們假設宇宙中充滿了一種叫「以太」(ether)的物質。

1887年,邁克生(Albert Michelson)和莫雷(Edward Morley)設計了一個精密實驗:地球繞太陽公轉,速度約30 km/s。如果以太存在,我們應該能測到「以太風」——就像你騎車時感受到的風。

結果:什麼都沒測到。

他們把儀器精度提高到可以測量地球軌道速度的1/100,還是沒測到。

以太不存在?那光在什麼裡面傳播?

這個問題直接導致了愛因斯坦的狹義相對論(1905),但那是另一個故事。

第三朵烏雲:光電效應(1887)

同樣是1887年,赫茲在證實電磁波存在的實驗中,意外發現了一個奇怪現象:

當紫外光照射到金屬表面時,金屬會射出電子。這叫「光電效應」(photoelectric effect)。

奇怪的是:
1. 光越強,射出的電子越多(這個正常)
2. 但電子的能量只跟光的頻率有關,跟光的強度無關(這個不正常!)
3. 低於某個頻率,再強的光也射不出電子(這個更不正常!)

經典理論說:光是波,波的能量跟振幅(強度)有關。強光應該給電子更多能量。

但實驗說:不對。

紅光再強也沒用,微弱的紫外光就能打出電子。

經典理論又失敗了。


普朗克的「不情願革命」

黑體輻射的絕望

普朗克是個徹頭徹尾的經典物理學家。他信仰熱力學,相信宇宙的有序性。他是那種會為了一個小數點爭論三天的人。

但黑體輻射問題卡住了他六年。

他試過所有經典方法:
– 電磁理論 ❌
– 統計力學 ❌
– 熱力學第二定律 ❌

1900年10月,他放棄了理論推導,決定「先把數學弄對」。他用一個經驗公式擬合實驗數據:

rho(v,T) = (8 pi h v³/c³) x 1/(e^(hv/kT) – 1)

這個公式完美符合實驗!

但問題是:它意味著什麼?

普朗克盯著這個公式兩個月,終於意識到:只有一種解釋說得通。

能量不是連續的,是一份一份的。

能量量子化

普朗克提出:能量只能以「能量子」(quantum)的形式存在:

E = nhv

其中:
n = 0, 1, 2, 3, … (整數)
h = 6.626×10⁻³⁴ J·s (普朗克常數)
v = 頻率

這意味著:
– 你不能有「半個」能量子
– 能量像樓梯,不像斜坡
– 最小單位存在:deltaE = hv

對於紫外光(高頻率),一個能量子很大,需要很多能量才能「躍升」到下一階,所以輻射少。

對於紅外光(低頻率),一個能量子很小,容易躍升,所以輻射多。

這就是為什麼沒有「紫外災難」——高頻輻射太「貴」了,系統付不起。

普朗克的掙扎

但普朗克自己並不真正相信這個假設。

他覺得這只是「數學技巧」,是為了讓公式work的權宜之計。他花了接下來的十年試圖用經典理論重新解釋他的公式。

失敗了。

1931年,普朗克回憶說:

「我的徒勞無功嘗試把作用量子以某種方式融入經典理論,持續了很多年,耗費了我大量的精力。有些同事看到了悲劇的成分。但我不這麼想,因為我從中獲得了深刻的洞見。」

他點燃了革命,卻試圖撲滅它。


愛因斯坦的勇氣

1905年,一個26歲的專利局職員改變了一切。

光量子假說

阿爾伯特·愛因斯坦(Albert Einstein)讀了普朗克的論文,但他走得更遠。

普朗克說:能量的吸收和發射是量子化的,但光本身還是波。

愛因斯坦說:不對。光本身就是粒子。

他提出:光是一團團的「光量子」(後來叫「光子」,photon),每一團的能量是:

E = hv

不是 nhv(很多份),而是 hv(單份)。

光量子就像子彈,一顆顆地打在金屬上。

解釋光電效應

用光量子假說,光電效應立刻解釋清楚了:

  1. 光量子的能量 = hv
  2. 金屬的束縛能(work function)= W₀
  3. 如果 hv < W₀,光量子能量不夠,打不出電子
  4. 如果 hv > W₀,多餘的能量變成電子的動能:KE = hv – W₀

所以:
頻率決定電子能量(每顆光量子的能量)
強度決定電子數量(光量子的數量)

完美!

1921年,愛因斯坦因為「光電效應的解釋」獲得諾貝爾物理學獎。諷刺的是,他更有名的相對論還在爭議中,但光量子假說已經被實驗確認無疑。

波粒二象性

但這帶來了一個深刻的矛盾:

光是波,還是粒子?

雙縫實驗(1801年,楊格)證明:光是波(有干涉條紋)。

光電效應證明:光是粒子(一顆顆光子)。

兩者都對。

這就是「波粒二象性」(wave-particle duality)——20世紀物理學最詭異的發現之一。

光既是波,也是粒子。或者說:光超越了我們「波」和「粒子」的分類框架。


Python分析:看見量子的誕生

理論說得夠多了。讓我們用Python重現這些歷史性的發現。

模型1:黑體輻射——「紫外災難」的視覺化

首先,我們需要定義兩個公式:普朗克的量子公式,以及經典物理的瑞利-金斯公式。

import numpy as np
import matplotlib.pyplot as plt
from scipy.constants import h, c, k

# 設定中文字體
plt.rcParams['font.sans-serif'] = ['Microsoft JhengHei', 'Arial']
plt.rcParams['axes.unicode_minus'] = False

def planck_law(wavelength, T):
    """普朗克公式(量子理論)"""
    return (8 * np.pi * h * c / wavelength**5) / (np.exp(h * c / (wavelength * k * T)) - 1)

def rayleigh_jeans_law(wavelength, T):
    """瑞利-金斯公式(經典理論)"""
    return 8 * np.pi * k * T / wavelength**4

兩個公式的差別在哪?

經典的瑞利-金斯公式假設能量可以無限分割——結果在短波長(紫外區)預測出無限大的輻射強度。普朗克公式則加入了量子化的約束——能量是一份一份的,高頻輻射太「貴」,所以不會無限爆炸。

接下來,我們設定太陽表面的溫度(5000K),計算兩種理論各自的預測:

def visualize_blackbody_radiation():
    """視覺化黑體輻射:經典 vs 量子"""

    wavelength_nm = np.linspace(100, 3000, 1000)
    wavelength_m = wavelength_nm * 1e-9
    T = 5000  # 類似太陽表面溫度

    planck_intensity = planck_law(wavelength_m, T)
    rayleigh_intensity = rayleigh_jeans_law(wavelength_m, T)

為什麼選5000K?因為這接近太陽表面溫度。每個人每天都看到太陽,卻不知道經典物理無法解釋它為什麼不會在紫外線中爆炸。

現在把結果畫出來:

    fig, ax = plt.subplots(figsize=(12, 8))

    # 量子理論(藍色實線)
    ax.plot(wavelength_nm, planck_intensity * 1e-13,
            'b-', linewidth=2.5, label='普朗克公式(量子理論)')

    # 經典理論(紅色虛線)——只畫長波長,短波長會爆炸
    mask = wavelength_nm > 500
    ax.plot(wavelength_nm[mask], rayleigh_intensity[mask] * 1e-13,
            'r--', linewidth=2, label='瑞利-金斯公式(經典理論)')

    # 標記紫外災難區與可見光區
    uv_region = wavelength_nm < 400
    ax.fill_between(wavelength_nm[uv_region], 0,
                     np.max(planck_intensity * 1e-13) * 1.2,
                     alpha=0.2, color='purple',
                     label='紫外災難區(經典理論預測無限大)')

    visible_region = (wavelength_nm >= 380) & (wavelength_nm <= 750)
    ax.fill_between(wavelength_nm[visible_region], 0,
                     np.max(planck_intensity * 1e-13) * 1.2,
                     alpha=0.1, color='yellow', label='可見光區')

注意紅色虛線——我們只畫了500nm以上的部分。如果把它延伸到紫外區,曲線會衝向無窮大。

這就是「紫外災難」的視覺化證據。

    ax.set_xlabel('波長(nm)', fontsize=14)
    ax.set_ylabel('輻射強度(任意單位)', fontsize=14)
    ax.set_title(f'黑體輻射:經典理論的「紫外災難」 vs 量子理論的拯救\n溫度 T = {T} K',
                 fontsize=16, fontweight='bold')
    ax.legend(fontsize=12, loc='upper right')
    ax.grid(True, alpha=0.3)
    ax.set_xlim(100, 2000)
    ax.set_ylim(0, np.max(planck_intensity * 1e-13) * 1.1)

    ax.text(200, np.max(planck_intensity * 1e-13) * 0.9,
            '經典理論在此區域預測\n輻射強度趨於無限大!\n→ 「紫外災難」',
            fontsize=11, bbox=dict(boxstyle='round', facecolor='red', alpha=0.3))

    ax.text(800, np.max(planck_intensity * 1e-13) * 0.6,
            '普朗克公式完美符合實驗\n→ 能量必須是量子化的!',
            fontsize=11, bbox=dict(boxstyle='round', facecolor='blue', alpha=0.3))

    plt.tight_layout()
    plt.savefig('blackbody_radiation.png', dpi=300, bbox_inches='tight')
    plt.show()

最後,我們用維恩位移定律和斯特藩-玻爾茲曼定律驗算一些具體數字:

    peak_wavelength = 2.898e-3 / T
    print(f"\n【維恩位移定律】")
    print(f"溫度 T = {T} K")
    print(f"峰值波長 lambda_max = {peak_wavelength*1e9:.1f} nm")

    stefan_boltzmann = 5.67e-8
    total_power = stefan_boltzmann * T**4
    print(f"\n【斯特藩-玻爾茲曼定律】")
    print(f"總輻射功率 proportional to T^4 = {total_power:.2e} W/m2")

# 執行
visualize_blackbody_radiation()

這個分析揭示了什麼?

藍色曲線(普朗克)完美描述了實驗數據。紅色曲線(經典)在長波長還勉強可以,但在紫外區徹底失敗。

如果沒有量子化,宇宙會在紫外線中爆炸。

經典物理的宏偉大廈,就這樣被一條曲線擊穿。


模型2:光電效應——愛因斯坦的光量子

接下來模擬光電效應。我們先設定五種金屬的功函數(束縛能):

def photoelectric_effect_simulation():
    """光電效應互動模擬"""

    metals = {
        '鈉 (Na)': 2.28,
        '鋁 (Al)': 4.08,
        '銅 (Cu)': 4.70,
        '鋅 (Zn)': 4.31,
        '銀 (Ag)': 4.73
    }

    wavelengths = np.linspace(200, 600, 100)
    frequencies = c / (wavelengths * 1e-9)
    photon_energies = h * frequencies / 1.6e-19  # 轉換為eV

功函數是什麼?

每種金屬對電子的「束縛力」不同。鈉只需要2.28 eV就能打出電子,銀需要4.73 eV。光子的能量必須大於功函數,才能把電子踢出來。

這解釋了為什麼紅光再強也打不出銅的電子——每顆光子的能量不夠。

現在畫兩張圖,揭示光電效應的核心悖論:

    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 6))

    # 左圖:不同金屬的截止頻率
    colors = ['blue', 'green', 'red', 'orange', 'purple']

    for (metal, work_function), color in zip(metals.items(), colors):
        kinetic_energy = photon_energies - work_function
        kinetic_energy[kinetic_energy < 0] = 0

        ax1.plot(wavelengths, kinetic_energy,
                linewidth=2, label=f'{metal} (W0={work_function} eV)', color=color)

        cutoff_wavelength = h * c / (work_function * 1.6e-19) * 1e9
        ax1.axvline(cutoff_wavelength, color=color, linestyle='--', alpha=0.5)
        ax1.text(cutoff_wavelength, 5, f'{cutoff_wavelength:.0f}nm',
                rotation=90, va='bottom', fontsize=9, color=color)

    ax1.set_xlabel('光的波長(nm)', fontsize=13)
    ax1.set_ylabel('光電子動能(eV)', fontsize=13)
    ax1.set_title('光電效應:頻率決定電子能量\nKE = hv - W0',
                  fontsize=14, fontweight='bold')
    ax1.legend(fontsize=10, loc='upper right')
    ax1.grid(True, alpha=0.3)
    ax1.set_xlim(200, 600)
    ax1.set_ylim(0, 6)
    ax1.axvspan(380, 750, alpha=0.1, color='yellow', label='可見光')

左圖清楚顯示:每種金屬都有自己的「截止波長」。波長太長(頻率太低),光子能量不夠,曲線直接歸零。

經典理論完全無法解釋這個現象——如果光是波,為什麼強光打不出電子?

    # 右圖:光強度 vs 電子數(非能量)
    intensities = np.array([1, 2, 5, 10])
    wavelength_fixed = 300  # nm
    photon_energy_fixed = h * c / (wavelength_fixed * 1e-9) / 1.6e-19

    work_function_Na = metals['鈉 (Na)']

    if photon_energy_fixed > work_function_Na:
        electron_counts = intensities * 100
        electron_energy = photon_energy_fixed - work_function_Na

        bars = ax2.bar(intensities, electron_counts, width=0.8,
                      color='skyblue', edgecolor='navy', linewidth=2)

        for bar, count in zip(bars, electron_counts):
            ax2.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 10,
                    f'{int(count)}個電子\n每個能量{electron_energy:.2f}eV',
                    ha='center', fontsize=10,
                    bbox=dict(boxstyle='round', facecolor='yellow', alpha=0.5))

    ax2.set_xlabel('光強度(相對值)', fontsize=13)
    ax2.set_ylabel('射出的電子數', fontsize=13)
    ax2.set_title(f'光電效應:強度決定電子數量(非能量)\n金屬:鈉,光波長:{wavelength_fixed}nm',
                  fontsize=14, fontweight='bold')
    ax2.grid(True, alpha=0.3, axis='y')

    ax2.text(6, 800,
            '關鍵洞見:\n'
            '光強度上升 → 電子數量上升\n'
            '但每個電子的能量相同!\n'
            '電子能量只由光頻率決定\n\n'
            '經典波動理論無法解釋!\n'
            '→ 光必須是粒子(光量子)',
            fontsize=11, bbox=dict(boxstyle='round', facecolor='lightblue', alpha=0.7))

    plt.tight_layout()
    plt.savefig('photoelectric_effect.png', dpi=300, bbox_inches='tight')
    plt.show()

右圖揭示了另一個關鍵:光強度增加10倍,射出的電子數量增加10倍——但每個電子的能量完全相同!

如果光是波,強光應該給每個電子更多能量。但實驗說:不對。

光子像子彈,一顆一顆地打在金屬上。強度只代表子彈的數量,每顆子彈的威力由頻率決定。

最後,我們用一個虛擬實驗室來驗證:

    print("\n" + "="*60)
    print("【光電效應虛擬實驗室】")
    print("="*60)

    chosen_metal = '鋅 (Zn)'
    work_function = metals[chosen_metal]
    print(f"\n選擇:{chosen_metal}")
    print(f"功函數 W0 = {work_function} eV")
    print(f"截止波長 lambda_0 = {h * c / (work_function * 1.6e-19) * 1e9:.1f} nm")

    test_wavelengths = [200, 300, 400, 500]
    print("\n實驗結果:")
    print("-" * 60)
    print(f"{'波長(nm)':<10} {'光子能量(eV)':<15} {'電子動能(eV)':<15} {'結果'}")
    print("-" * 60)

    for wl in test_wavelengths:
        photon_e = h * c / (wl * 1e-9) / 1.6e-19
        ke = photon_e - work_function
        if ke > 0:
            result = f"射出電子!"
        else:
            result = f"無法射出"
        print(f"{wl:<10} {photon_e:<15.2f} {max(0, ke):<15.2f} {result}")

# 執行
photoelectric_effect_simulation()

執行結果:

選擇:鋅 (Zn)
功函數 W0 = 4.31 eV
截止波長 lambda_0 = 287.7 nm

波長(nm)   光子能量(eV)    電子動能(eV)    結果
------------------------------------------------------------
200        6.20            1.89            射出電子!
300        4.14            0.00            無法射出
400        3.10            0.00            無法射出
500        2.48            0.00            無法射出

看到了嗎?鋅的截止波長是287.7 nm。只有200 nm的深紫外光能打出電子,300 nm以上全部無效。

這就是量子世界的規則:能量是分立的,不是連續的。


模型3:決定論的終結——從牛頓到海森堡

最後,讓我們用一張圖回顧物理學世界觀的240年演變。

先建立時間軸上的關鍵事件:

def determinism_timeline():
    """視覺化物理學世界觀的轉變"""

    fig, ax = plt.subplots(figsize=(14, 10))

    events = [
        (1687, "牛頓\n《原理》", "確定論宇宙\nF=ma", 'blue', 1.0),
        (1814, "拉普拉斯\n妖精", "給我初始條件\n我知道一切", 'blue', 1.0),
        (1865, "馬克士威\n電磁理論", "統一電磁光\n宇宙是可知的", 'blue', 0.9),
        (1900, "普朗克\n量子假說", "能量量子化\nE=nhv", 'orange', 0.5),
        (1905, "愛因斯坦\n光量子", "光是粒子\nE=hv", 'orange', 0.4),
        (1913, "波耳\n原子模型", "電子軌道量子化\nn=1,2,3...", 'orange', 0.3),
        (1923, "德布羅意\n物質波", "粒子也是波\nlambda=h/p", 'red', 0.2),
        (1925, "海森堡\n矩陣力學", "告別可視化\n萬物皆矩陣", 'red', 0.1),
        (1926, "薛丁格\n波動力學", "波函數 psi\n機率詮釋", 'red', 0.1),
        (1927, "海森堡\n不確定性原理", "Dx·Dp >= h-bar/2\n確定性死亡", 'red', 0.0)
    ]

10個事件,橫跨240年。每個事件都有一個「確定性指數」——從1.0(完全確定)到0.0(完全不確定)。

注意一個驚人的事實:1687到1900年的213年間,確定性只下降了0.1。但1900到1927年的27年間,確定性暴跌了0.5。

量子革命的速度,比任何人預料的都快。

    years = [e[0] for e in events]
    certainties = [e[4] for e in events]

    # 背景漸變:藍→橘→紅
    for i in range(len(events)-1):
        ax.fill_between([events[i][0], events[i+1][0]], 0, 1,
                        alpha=0.3, color=events[i][3])

    # 確定性曲線
    ax.plot(years, certainties, 'k-', linewidth=3, label='「確定性」指數')
    ax.scatter(years, certainties, c=[e[3] for e in events],
              s=300, edgecolor='black', linewidth=2, zorder=5)

    # 標註事件
    for year, person, description, color, certainty in events:
        ax.text(year, certainty + 0.1, person,
               ha='center', fontsize=10, fontweight='bold')
        ax.text(year, certainty - 0.15, description,
               ha='center', fontsize=8, style='italic',
               bbox=dict(boxstyle='round', facecolor=color, alpha=0.3))

    # 三個時代
    ax.text(1750, 0.95, '經典時代\n「宇宙是時鐘」',
           fontsize=14, ha='center', fontweight='bold',
           bbox=dict(boxstyle='round', facecolor='lightblue', alpha=0.5))
    ax.text(1910, 0.45, '量子萌芽\n「能量是分立的」',
           fontsize=14, ha='center', fontweight='bold',
           bbox=dict(boxstyle='round', facecolor='lightyellow', alpha=0.5))
    ax.text(1926, 0.05, '量子革命\n「不確定性是本質」',
           fontsize=14, ha='center', fontweight='bold',
           bbox=dict(boxstyle='round', facecolor='lightcoral', alpha=0.5))

    ax.set_xlim(1680, 1935)
    ax.set_ylim(-0.2, 1.15)
    ax.set_xlabel('年份', fontsize=14)
    ax.set_ylabel('世界的「確定性」', fontsize=14)
    ax.set_title('從確定到不確定:物理學世界觀的240年演變',
                fontsize=16, fontweight='bold')
    ax.grid(True, alpha=0.3)
    ax.legend(fontsize=12, loc='upper right')
    ax.set_yticks([0, 0.5, 1.0])
    ax.set_yticklabels(['完全不確定\n(量子世界)', '半確定\n(過渡期)', '完全確定\n(經典世界)'])

    plt.tight_layout()
    plt.savefig('determinism_timeline.png', dpi=300, bbox_inches='tight')
    plt.show()

這張圖從藍色(確定)漸變到紅色(不確定),視覺化了人類對宇宙認知的巨變。

最後,用一張表格對比三個時代的世界觀:

    print("\n" + "="*70)
    print("【物理學的三個世界觀】")
    print("="*70)

    worldviews = [
        {'時代': '經典時代(1687-1900)', '代表人物': '牛頓、拉普拉斯',
         '核心信念': '確定論', '宇宙比喻': '精密時鐘',
         '因果': '過去決定未來', '自由意志': '幻覺(一切已註定)',
         '上帝角色': '第一推動者'},
        {'時代': '量子萌芽(1900-1925)', '代表人物': '普朗克、愛因斯坦',
         '核心信念': '能量不連續', '宇宙比喻': '故障的時鐘',
         '因果': '仍有因果,但有限制', '自由意志': '不確定',
         '上帝角色': '「不擲骰子」(愛因斯坦堅信)'},
        {'時代': '量子革命(1925-至今)', '代表人物': '海森堡、薛丁格、波耳',
         '核心信念': '根本不確定性', '宇宙比喻': '機率雲',
         '因果': '只有機率,無必然', '自由意志': '可能存在(有空間)',
         '上帝角色': '「確實擲骰子」(波耳)'}
    ]

    for wv in worldviews:
        print(f"\n{wv['時代']}】")
        for key, value in wv.items():
            if key != '時代':
                print(f"  {key:<10}: {value}")

# 執行
determinism_timeline()

圖:Blackbody Radiation
圖:Blackbody Radiation
圖:Determinism Timeline
圖:Determinism Timeline
圖:Photoelectric Effect
圖:Photoelectric Effect

這個分析揭示了什麼?

1814年:「給我初始條件,我知道一切。」

1927年:「你永遠無法同時知道位置和動量。」

113年間,人類從「全知」跌落到「根本無法全知」。

這不只是物理學的改變,是整個世界觀的崩塌。而這場崩塌,恰好與東方哲學兩千年前的洞見產生了驚人的共鳴。


東方哲學的回響

「道可道,非常道」

當普朗克在絕望中引入能量量子,當愛因斯坦說「光是粒子也是波」,當海森堡發現「不確定性是本質」——他們實際上在說:

我們對世界的描述,永遠無法完全捕捉世界本身。

這讓我想起老子《道德經》的開篇:

「道可道,非常道;
名可名,非常名。」

意思是:可以用語言描述的「道」,就不是永恆的道。可以命名的「名」,就不是永恆的名。

量子力學說:粒子在測量前沒有確定的狀態。
老子說:「道」在命名前沒有分別相。

量子力學說:觀察改變現實。
老子說:「天下皆知美之為美,斯惡已。」(一旦定義「美」,「醜」就產生了)

「有無相生」

老子又說:

「有無相生,難易相成,
長短相形,高下相傾。」

意思是:「有」和「無」互相依存,「難」和「易」互相成就。

波粒二象性不就是這樣嗎?
– 看「波」,就看不到「粒子」
– 看「粒子」,就看不到「波」
– 兩者互補,缺一不可

尼爾斯·波耳(量子力學哥本哈根詮釋的創立者)深受東方哲學影響。1947年,他被授予丹麥最高榮譽時,他選擇的家族徽章是什麼?

太極圖。

他在徽章上刻的拉丁文是:Contraria sunt complementa——「對立即互補」。

預告:下一集

量子力學花了25年,才讓西方科學家接受「世界不是確定的」。

但在2500年前,東方哲人就在說:
– 「色即是空,空即是色」(《心經》)
– 「萬物並作,吾以觀復」(《道德經》)
– 「夢裡明明有六趣,覺後空空無大千」(《永嘉證道歌》)

他們看到了什麼?

下一集,我們將探索:當量子力學的哥本哈根詮釋遇見京都禪學派,會發生什麼?


結語:革命的代價

1918年,普朗克獲得諾貝爾獎。頒獎詞說:「表彰他發現能量量子,為物理學開創新紀元。」

但普朗克的內心是複雜的。他點燃了革命,卻不確定這是對是錯。

1931年,在他73歲時,年輕的物理學家們已經建立了完整的量子力學體系——矩陣力學、波動力學、不確定性原理、機率詮釋。

這些理論徹底推翻了他珍視的經典世界觀。

有人問普朗克:「您後悔提出量子假說嗎?」

他說:

「一個新的科學真理不是透過說服對手,讓他們看到光明而獲勝的。而是因為對手終於死去,熟悉它的新一代成長起來。」

這句話有些悲涼,但也道出了真相:革命總是痛苦的,尤其對革命者自己。

普朗克打開了潘朵拉的盒子。

接下來的25年(1900-1925),物理學家將發現:
– 電子會「跳躍」而非「移動」
– 粒子可以同時在兩個地方
– 測量會「創造」現實
– 觀察者無法與世界分離

牛頓的宇宙——那座輝煌的、確定的、可預測的宮殿——正在崩塌。

而在廢墟中,一個更奇異、更神秘、更深刻的宇宙將會顯現。


量子力學遇見東方哲學・系列導航

#01 Article 1 ← 你在這裡

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *