球面調和関数

球面調和関数

球面調和関数は、球対称の問題に対する解析解を提供するための数学的な関数です。

主に、量子力学天文学などの分野で重要な役割を果たします。

球面調和関数は次のような形式を持ちます:

$$
Y_{lm}(\theta, \phi) = C_{lm} P_l^m(\cos\theta) e^{im\phi}
$$

ここで、$( \theta ) $は極角、$( \phi ) $は方位角です。
$ ( P_l^m ) $は連関勝手関数、$( C_{lm} ) $は規格化定数です。
$ ( l ) $は角運動量量子数、$( m ) $は磁気量子数です。

球面調和関数は、次のような特徴を持ちます:

1. 角度に対する依存性:

$( \theta ) $と$ ( \phi ) $の両方の角度に依存します。
これにより、球面調和関数は球面上の位置に関する情報を提供します。

2. 球対称性:

$( Y_{lm} ) $は球対称関数であり、球面上のすべての方向で同じ値を持ちます。
これは球対称問題に対して解析的な解を提供します。

3. 量子数 ( l ) と ( m ) の影響:

$( l ) $と$ ( m ) $の値によって、球面調和関数の形状と振る舞いが決まります。
$ ( l ) $は角運動量の大きさを示し、$( m ) $は角運動量の $z $成分を示します。

4. 規格化:

$( Y_{lm} ) $は規格化されており、単位球上での値が$1$になります。
これにより、物理的な解釈や計算が容易になります。

球面調和関数は、量子力学で原子や分子の波動関数を記述するために広く使用されます。
また、天文学では、球対称の天体天体の角運動量に関連する問題を解決するためにも使用されます。

プログラム例

球面調和関数を用いてカラフルな3Dグラフを描画します。

球面調和関数は、球対称のポテンシャル波動関数を表現するために用いられ、量子力学天文学などの分野で重要な役割を果たします。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm

# パラメータの設定
theta = np.linspace(0, np.pi, 100)
phi = np.linspace(0, 2*np.pi, 100)
theta, phi = np.meshgrid(theta, phi)
r = np.abs(np.sin(3*theta) * np.cos(3*phi))

# カラーマップの設定
colors = cm.viridis(r / r.max())

# 3Dプロットの作成
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 球面調和関数の描画
x = r * np.sin(theta) * np.cos(phi)
y = r * np.sin(theta) * np.sin(phi)
z = r * np.cos(theta)

ax.plot_surface(x, y, z, facecolors=colors, rstride=1, cstride=1, linewidth=0, antialiased=False)

ax.set_xlabel("X Axis")
ax.set_ylabel("Y Axis")
ax.set_zlabel("Z Axis")
ax.set_title("Spherical Harmonics")

plt.show()

このコードは、球面調和関数を使用して3Dグラフを描画します。

球面調和関数には$ ( r = \sin(3\theta) \cdot \cos(3\phi) ) $が使用され、この関数は$ ( \theta ) $と$ ( \phi ) $の角度に応じて球面上の値を定義します。

グラフの色は、球面調和関数の値に応じて変化し、カラーマップが使用されています。

[実行結果]

ソースコード解説

3Dグラフの描画:球面調和関数の可視化

1. ライブラリのインポート:

  • numpy は数値計算を行うために使用されます。
  • matplotlib.pyplot はグラフ描画のために使用されます。
  • mpl_toolkits.mplot3d は3Dグラフ描画のためのサブモジュールです。
  • matplotlib.cm はカラーマップを操作するために使用されます。

2. パラメータの設定:

  • theta は極角の値を表す$0$から$ ( \pi ) $の範囲を、phi は方位角の値を表す$0$から$ ( 2\pi ) $の範囲をそれぞれ$100$の点に分割します。
  • thetaphi のメッシュグリッドを作成し、球面上の点を表します。
  • r は球面上の各点における球面調和関数の値を計算します。

3. カラーマップの設定:

  • cm.viridis はカラーマップを設定します。
    このカラーマップは、球面調和関数の値に応じて色を変化させます。
  • r の値を正規化して、色を適用します。

4. 3Dプロットの作成:

  • plt.figure() で新しい図を作成します。
  • fig.add_subplot(111, projection='3d') で3Dグラフ用のサブプロットを作成します。
  • ax.plot_surface()球面調和関数を3Dプロットします。
    facecolors パラメータにカラーマップを設定し、球面調和関数の値に基づいて色を変化させます。
  • rstridecstride は、メッシュの行と列のストライド(間隔)を指定します。
    これにより、プロットの解像度が制御されます。
  • linewidthラインの幅を、antialiasedアンチエイリアス処理の有無を制御します。

5. 軸ラベルとタイトルの設定:

  • ax.set_xlabel()ax.set_ylabel()ax.set_zlabel() を使用して、それぞれ$X$軸、$Y$軸、$Z$軸のラベルを設定します。
  • ax.set_title() で図のタイトルを設定します。

6. グラフの表示:

  • plt.show() を呼び出して、作成したグラフを表示します。

このコードは、球面調和関数を計算し、それを3Dプロットして視覚化します。
球面調和関数の値に応じて色が変化することで、球面の形状や振る舞いが視覚的に理解されます。

グラフ解説

[実行結果]

この3Dグラフは、球面調和関数を可視化しています。
球面調和関数は、球対称のポテンシャル波動関数を表現するための数学的な関数です。
この関数は、量子力学天文学などのさまざまな分野で重要な役割を果たします。

このグラフでは、球面調和関数 $ ( r = \sin(3\theta) \cdot \cos(3\phi) ) $を使用して描画されています。
ここで、$( \theta ) $は極角 $(0から ( \pi ) $まで)、$( \phi ) $は方位角($0$から$ ( 2\pi ) $まで)です。
この関数により、球面上の各点に対する値が定義されます。

球面上の各点の$ ( r ) $の値に基づいて、色がグラフに適用されます。
このカラーマップは、色を$ ( r ) $の値に応じて変化させ、球面の表面の色が異なる深さや形状を示すことができます。
こうしたカラーマップを使用することで、球面調和関数の特性を視覚的に理解することができます。

このグラフは、球面調和関数の形状や振る舞いを視覚的に示し、特に量子力学天文学の分野での理解を深めるのに役立ちます。