量子革命前夜——ニュートンの宇宙が崩壊し始めたとき
シリーズ:量子力学と東洋哲学の出会い #01/12 | 読了時間:25分 | Python (NumPy, Matplotlib, SciPy)
著者:Wina @ Code & Cogito
絶望の行為
1900年12月14日、ベルリン。冬の冷たい風がヴィルヘルム通りを吹き抜ける中、ドイツ物理学会の会議室で、42歳の物理学者が世界を変える公式を発表しようとしていました。
彼の名はマックス・プランク(Max Planck)。
この瞬間、彼の両手はわずかに震えていました。緊張からではなく、怒りから——自分自身への怒りです。彼がこれから発表する公式は、物理学界を何年も悩ませてきた「黒体放射問題」を完璧に解決するものでした。しかしその代償として、ある荒唐無稽な仮説を導入しなければならなかったのです。
「エネルギーは連続的ではありません」と彼は低い声で報告しました。「エネルギーは一つ一つの、分割不可能な小さな塊なのです。」
E = hν
この一見シンプルな公式——その中の 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)がもう一つの驚くべき統一を成し遂げました:電気、磁気、光は実は同じものだったのです。
彼の四つの方程式(マクスウェル方程式群)は、電磁場がどのように生成され、伝播するかを記述します:
∇·E = ρ/ε₀ (ガウスの法則)
∇·B = 0 (磁場の発散なし)
∇×E = -∂B/∂t (ファラデーの法則)
∇×B = μ₀J + μ₀ε₀∂E/∂t (アンペール-マクスウェルの法則)
これらの方程式は予測しました:電磁波の速度 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月、彼は理論的導出を諦め、「まず数学を合わせよう」と決意しました。経験的な公式で実験データをフィッティングしたのです:
ρ(ν,T) = (8πhν³/c³) × 1/(e^(hν/kT) – 1)
この公式は実験と完璧に一致しました!
しかし問題は:それが何を意味するのか?
プランクはこの公式を二ヶ月間にわたって凝視し、ついに悟りました。説明がつくのは一通りしかない。
エネルギーは連続的ではなく、一つ一つの塊として存在する。
エネルギーの量子化
プランクは提唱しました:エネルギーは「量子」(quantum)という単位でのみ存在しうると。
E = nhν
ここで:
– n = 0, 1, 2, 3, … (整数)
– h = 6.626×10⁻³⁴ J·s (プランク定数)
– ν = 周波数
これが意味するのは:
– 「半分の量子」は存在しない
– エネルギーは階段であり、スロープではない
– 最小単位が存在する:ΔE = hν
紫外光(高周波数)の場合、一つの量子は大きなエネルギーを持ち、次の段に「跳び上がる」には多くのエネルギーが必要なので、放射は少なくなります。
赤外光(低周波数)の場合、一つの量子は小さなエネルギーしか持たず、跳び上がりやすいので、放射は多くなります。
これが「紫外破綻」が起こらない理由です——高周波の放射は「高価」すぎて、系がその対価を払えないのです。
プランクの苦悩
しかしプランク自身は、この仮説を心から信じてはいませんでした。
彼はこれを「数学的な便法」、公式をうまく機能させるための方便にすぎないと考えていました。その後十年を費やして、古典理論でこの公式を再解釈しようと試み続けたのです。
失敗でした。
1931年、プランクはこう回想しています:
「作用量子を何とかして古典理論に組み込もうとする私の無駄な試みは長年にわたり、膨大な労力を費やしました。悲劇的だと見る同僚もいました。しかし私はそうは思いません。なぜなら、そこから深い洞察を得ることができたからです。」
彼は革命に火をつけながら、自らそれを消そうとしたのです。
日本の物理学者・湯川秀樹は後年、このプランクの苦悩に深い共感を示しています。湯川自身が中間子理論を提唱した際も、既存の枠組みを壊すことへの畏れと、真理への誠実さの間で揺れ動いたと語っています。
アインシュタインの勇気
1905年、26歳の特許局職員がすべてを変えました。
光量子仮説
アルベルト・アインシュタイン(Albert Einstein)はプランクの論文を読みましたが、さらに踏み込みました。
プランクが言ったのは:エネルギーの吸収と放出が量子化されている、ということ。光そのものはまだ波である、と。
アインシュタインは言いました:いや、違う。光そのものが粒子だ。
彼は提唱しました:光は一つ一つの「光量子」(後に「光子」、photonと呼ばれる)の集まりであり、一つ一つのエネルギーは:
E = hν
nhν(たくさんの分)ではなく、hν(一つ分)。
光量子は弾丸のように、一つ一つ金属に当たるのです。
光電効果の説明
光量子仮説を使えば、光電効果はたちどころに説明がつきます:
- 光量子のエネルギー = hν
- 金属の仕事関数(束縛エネルギー)= W₀
- もし hν < W₀ なら、光量子のエネルギーが不足し、電子を叩き出せない
- もし hν > W₀ なら、余剰エネルギーが電子の運動エネルギーになる:KE = hν – 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
# Japanese font configuration
plt.rcParams['font.sans-serif'] = ['Hiragino Sans', 'Yu Gothic', 'Meiryo', 'Arial']
plt.rcParams['axes.unicode_minus'] = False
def planck_law(wavelength, T):
"""Planck's law (quantum theory)"""
return (8 * np.pi * h * c / wavelength**5) / (np.exp(h * c / (wavelength * k * T)) - 1)
def rayleigh_jeans_law(wavelength, T):
"""Rayleigh-Jeans law (classical theory)"""
return 8 * np.pi * k * T / wavelength**4
二つの公式の違いはどこにあるのでしょうか?
古典的なレイリー-ジーンズの公式は、エネルギーが無限に分割できると仮定しています——その結果、短波長(紫外領域)で放射強度が無限大になってしまいます。プランクの公式は量子化の制約を導入し——エネルギーは一つ一つの塊であるため、高周波の放射は「高価」すぎて、無限に爆発することはないのです。
次に、太陽表面の温度(5000K)を設定し、二つの理論それぞれの予測を計算します:
def visualize_blackbody_radiation():
"""Visualize blackbody radiation: classical vs quantum"""
wavelength_nm = np.linspace(100, 3000, 1000)
wavelength_m = wavelength_nm * 1e-9
T = 5000 # Approximate solar surface temperature
planck_intensity = planck_law(wavelength_m, T)
rayleigh_intensity = rayleigh_jeans_law(wavelength_m, T)
なぜ5000Kを選んだのでしょうか?太陽の表面温度に近いからです。誰もが毎日太陽を見ていますが、古典物理学ではなぜ太陽が紫外線の中で爆発しないのか説明できないことを、ほとんどの人は知りません。
それでは結果をプロットしてみましょう:
fig, ax = plt.subplots(figsize=(12, 8))
# Quantum theory (blue solid line)
ax.plot(wavelength_nm, planck_intensity * 1e-13,
'b-', linewidth=2.5, label='プランク公式(量子理論)')
# Classical theory (red dashed line) - only plot long wavelengths; short wavelengths explode
mask = wavelength_nm > 500
ax.plot(wavelength_nm[mask], rayleigh_intensity[mask] * 1e-13,
'r--', linewidth=2, label='レイリー-ジーンズ公式(古典理論)')
# Mark UV catastrophe region and visible light region
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"ピーク波長 λ_max = {peak_wavelength*1e9:.1f} nm")
stefan_boltzmann = 5.67e-8
total_power = stefan_boltzmann * T**4
print(f"\n【シュテファン-ボルツマンの法則】")
print(f"全放射パワー ∝ T⁴ = {total_power:.2e} W/m²")
# Execute
visualize_blackbody_radiation()
この分析は何を明らかにしたのでしょうか?
青い曲線(プランク)は実験データを完璧に記述しています。赤い曲線(古典)は長波長ではかろうじて合っていますが、紫外領域では完全に破綻しています。
もし量子化がなければ、宇宙は紫外線の中で爆発していたでしょう。
古典物理学の壮麗な大殿堂は、こうして一本の曲線によって貫かれたのです。
モデル2:光電効果——アインシュタインの光量子
次に光電効果をシミュレーションします。まず五種類の金属の仕事関数(束縛エネルギー)を設定しましょう:
def photoelectric_effect_simulation():
"""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 # Convert to eV
仕事関数とは何でしょうか?
金属ごとに電子を束縛する力が異なります。ナトリウムは2.28 eVで電子を放出できますが、銀は4.73 eVが必要です。光子のエネルギーが仕事関数を超えなければ、電子を叩き出すことはできません。
これが、赤い光をどれだけ強くしても銅の電子を叩き出せない理由です——個々の光子のエネルギーが足りないのです。
それでは二つのグラフを描いて、光電効果の核心的パラドックスを明らかにしましょう:
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 6))
# Left panel: cutoff frequencies of different metals
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} (W₀={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 = hν - W₀',
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='可視光')
左のグラフは明確に示しています:各金属にはそれぞれ固有の「遮断波長」があります。波長が長すぎる(周波数が低すぎる)と、光子のエネルギーが不足し、曲線はゼロに落ちます。
古典理論はこの現象をまったく説明できません——もし光が波であるなら、なぜ強い光で電子を叩き出せないのでしょうか?
# Right panel: light intensity vs electron count (not energy)
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"仕事関数 W₀ = {work_function} eV")
print(f"遮断波長 λ₀ = {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)':<20} {'電子の運動エネルギー(eV)':<25} {'結果'}")
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:<20.2f} {max(0, ke):<25.2f} {result}")
# Execute
photoelectric_effect_simulation()
実行結果:
選択:亜鉛 (Zn)
仕事関数 W₀ = 4.31 eV
遮断波長 λ₀ = 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():
"""Visualize the transformation of physics worldview"""
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=nhν", 'orange', 0.5),
(1905, "アインシュタイン\n光量子", "光は粒子\nE=hν", 'orange', 0.4),
(1913, "ボーア\n原子模型", "電子軌道の量子化\nn=1,2,3...", 'orange', 0.3),
(1923, "ド・ブロイ\n物質波", "粒子も波である\nλ=h/p", 'red', 0.2),
(1925, "ハイゼンベルク\n行列力学", "可視化との訣別\n万物は行列", 'red', 0.1),
(1926, "シュレーディンガー\n波動力学", "波動関数 ψ\n確率解釈", 'red', 0.1),
(1927, "ハイゼンベルク\n不確定性原理", "Δx·Δp ≥ ℏ/2\n確定性の死", 'red', 0.0)
]
10の出来事が、240年にまたがっています。各出来事には「確定性指数」が付けられています——1.0(完全に確定)から0.0(完全に不確定)まで。
驚くべき事実に注目してください:1687年から1900年の213年間で、確定性はわずか0.1しか低下していません。しかし1900年から1927年のわずか27年間で、確定性は0.5も急落しているのです。
量子革命の速度は、誰の予想をも上回るものでした。
この急激な変化は、日本の物理学の歴史にも大きな影響を与えました。朝永振一郎がくりこみ理論を完成させたのは1948年のことですが、彼はまさにこの「確定性の崩壊」の嵐の中で育った世代でした。
years = [e[0] for e in events]
certainties = [e[4] for e in events]
# Background gradient: blue -> orange -> red
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])
# Certainty curve
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)
# Annotate events
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))
# Three eras
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:<12}: {value}")
# Execute
determinism_timeline()



この分析は何を明らかにしたのでしょうか?
1814年:「初期条件を与えよ。すべてが分かる。」
1927年:「位置と運動量を同時に知ることは、原理的に不可能である。」
113年の間に、人類は「全知」から「根源的に全知は不可能」へと転落したのです。
これは単なる物理学の変化ではなく、世界観そのものの崩壊でした。そしてこの崩壊は、東洋哲学が二千年以上前に得ていた洞察と、驚くべき共鳴を生み出すことになるのです。
東洋哲学の共鳴
「道の道とすべきは、常の道に非ず」
プランクが絶望の中でエネルギー量子を導入したとき、アインシュタインが「光は粒子でもあり波でもある」と言ったとき、ハイゼンベルクが「不確定性は本質である」と発見したとき——彼らは実はこう言っていたのです:
世界についての記述は、世界そのものを完全に捉えることはできない。
これは老子『道徳経』の冒頭を思い起こさせます:
「道可道、非常道。
名可名、非常名。」
意味は:言葉で語りうる「道」は、永遠の道ではない。名づけうる「名」は、永遠の名ではない。
しかし日本の読者の皆さんにとっては、禅の伝統がこの洞察をさらに鮮やかに表現しているかもしれません。
「不立文字、教外別伝」(ふりゅうもんじ、きょうげべつでん)——真理は文字や言語では伝えられない。
量子力学もまた、日常言語の限界を突きつけます。波動関数ψを「何か」として語ろうとすると、必ず矛盾に陥ります。それは「波」でもなく「粒子」でもなく、私たちの概念体系を超えた何かなのです。
鈴木大拙はこう述べています:「禅は、概念的知識のすべてを超えたところにある経験を指し示す。」量子力学が私たちに要求するのも、まさにそうした概念の超越ではないでしょうか。
「有無相生」——色即是空
老子はまた言います:
「有無相生、難易相成、
長短相形、高下相傾。」
意味は:「有」と「無」は互いに生じ合い、「難」と「易」は互いに成り立たせ合う。
波粒二重性はまさにこれではないでしょうか?
– 「波」を見れば、「粒子」は見えない
– 「粒子」を見れば、「波」は見えない
– 両者は互いに補い合い、どちらも欠かせない
これは『般若心経』の「色即是空、空即是色」(しきそくぜくう、くうそくぜしき)にも通じます。形あるものは空であり、空なるものは形をとる——物質と波動、粒子と場、存在と非存在は、究極的には不二(ふに)なのです。
ニールス・ボーア(量子力学のコペンハーゲン解釈の創始者)は東洋哲学に深く影響を受けていました。1947年、デンマーク最高の栄誉を授けられた際、彼が選んだ家紋は何だったでしょうか?
太極図です。
彼は紋章にラテン語でこう刻みました:Contraria sunt complementa——「対立するものは互いに補い合う」。
西田幾多郎の「絶対矛盾的自己同一」の哲学は、ボーアの相補性原理と驚くほど共鳴しています。西田がこの思想を展開したのは1930年代、まさに量子力学の哲学的解釈が激しく論じられていた時期と重なります。京都学派と量子力学が、太平洋を挟んで同時代的に同じ問題に取り組んでいたのは、決して偶然ではないでしょう。
予告:次回
量子力学は25年かけて、ようやく西洋の科学者に「世界は確定的ではない」と受け入れさせました。
しかし2500年前、東洋の哲人たちはすでにこう語っていました:
– 「色即是空、空即是色」(『般若心経』)
– 「万物並び作(おこ)り、吾れ以て復(かえ)るを観る」(『道徳経』)
– 「夢裡明明有六趣、覚後空空無大千」(『永嘉証道歌』)
そして日本の禅の伝統は、こうした洞察を「体験」として伝えてきました。道元禅師の「正法眼蔵」、一休宗純の「狂雲集」——知識ではなく体験として真理に触れること。
彼らは何を見ていたのでしょうか?
次回、私たちは探求します:量子力学のコペンハーゲン解釈が京都学派の禅の哲学と出会ったとき、何が起こるのか?
結語:革命の代償
1918年、プランクはノーベル賞を受賞しました。授賞理由は「エネルギー量子の発見により、物理学に新紀元を開いたこと」。
しかしプランクの胸中は複雑でした。革命に火をつけながら、それが正しかったのか確信が持てなかったのです。
1931年、彼が73歳のとき、若い物理学者たちはすでに完全な量子力学の体系を築き上げていました——行列力学、波動力学、不確定性原理、確率解釈。
これらの理論は、彼が大切にしてきた古典的世界観を根底から覆すものでした。
ある人がプランクに尋ねました:「量子仮説を提唱したことを後悔していますか?」
彼はこう答えました:
「新しい科学的真理は、反対者を説得して光を見せることで勝利するのではない。反対者がついに世を去り、それに親しんだ新しい世代が成長することで勝利するのだ。」
いささか悲哀に満ちた言葉ですが、真実を突いてもいます:革命は常に苦痛を伴うものです。とりわけ革命者自身にとって。
この言葉は、日本語で「世代交代」として知られる現象を科学の文脈で語ったものでもあります。湯川秀樹の中間子論も、朝永振一郎のくりこみ理論も、当初は懐疑の目で見られました。しかし新しい世代がそれを自然なものとして受け入れたとき、それは「常識」となったのです。
プランクはパンドラの箱を開けました。
その後の25年間(1900-1925)、物理学者たちは次々と発見していきます:
– 電子は「移動」するのではなく「跳躍」する
– 粒子は同時に二つの場所に存在できる
– 測定が「現実を創造する」
– 観察者は世界から分離できない
ニュートンの宇宙——あの壮麗で、確定的で、予測可能な宮殿——は崩壊しつつありました。
そしてその廃墟の中から、より奇異で、より神秘的で、より深遠な宇宙が姿を現すことになるのです。
禅の公案(こうあん)に「百尺竿頭に一歩を進む」という言葉があります。百尺の竿の先端に立ち、さらに一歩を踏み出す——既知の世界の果てから未知へ踏み出すこと。プランクとアインシュタインが行ったのは、まさにそれでした。
