nano_exit

基礎的なことこそ、簡単な例が必要だと思うのです。

二項分布まとめ

二項分布の平均と分散がわかりにくかったのでまとめ。
参考:二項分布の平均と分散の二通りの証明 | 高校数学の美しい物語


\displaystyle
X_i = 0, 1
\\
\displaystyle
P( X_i = 1 ) = p
\\
\displaystyle
P( X_i = 0 ) = 1 - p
\\
\displaystyle
E[ X_i ] = \sum^1_{k=0} k P( X_i = k ) = 0 \cdot ( 1 - p) + 1 \cdot p = p
\\
\displaystyle
var[ X_i ] = \sum^1_{k=0} ( k - E[ X_i ] )^2 P( X_i = k ) = \sum^1_{k=0} ( k - p )^2 P( X_i = k )
\\
\displaystyle
\qquad
  = p^2 ( 1 - p) + ( 1 - p )^2 p  = p ( 1 - p )

このとき、二項分布 B( n, p )に従う確率変数 Xと、 X = kとなる確率 P_n( X = k ) は次のように定義される。

\displaystyle
X = \sum_{i = 1}^n X_i
\\
\displaystyle
P_n( X = k ) = \begin{pmatrix} n \\ k \end{pmatrix} p^k ( 1 - p )^{ n - k }

 P_nが規格化されていることを確認。

\displaystyle
\sum_{k=0}^n P_n( X = k ) = \sum_{k=0}^n \begin{pmatrix} n \\ k \end{pmatrix} p^k ( 1 - p )^{ n - k } = ( p + ( 1 - p ) )^n = 1
\\
\displaystyle
\because
\sum_{k=0}^{n} \begin{pmatrix} n \\ k \end{pmatrix} x^k y^{ n - k } = ( x + y )^n

二項分布に従う確率変数 Xの平均は、

\displaystyle
E[X] = E\left[ \sum_{i = 1}^n X_i \right] = \sum_{i=1}^{n} E[ X_i ] = p \sum_{i=1}^n = np
もしくは

\displaystyle
E[X] =\sum_{k=0}^n k P_n( X = k ) = \sum_{k=0}^n k \begin{pmatrix} n \\ k \end{pmatrix} p^k ( 1 - p )^{ n - k }
\\
\displaystyle
\qquad
  = \sum_{k=1}^n k \begin{pmatrix} n \\ k \end{pmatrix} p^k ( 1 - p )^{ n - k }
\\
\displaystyle
\qquad
  = n p \sum_{k=1}^n \begin{pmatrix} n-1 \\ k-1 \end{pmatrix} p^{k-1} ( 1 - p )^{ n - k }
\\
\displaystyle
\qquad
  = n p \sum_{k=1}^n \begin{pmatrix} n-1 \\ k-1 \end{pmatrix} p^{k-1} ( 1 - p )^{ (n-1) - (k-1) }
\\
\displaystyle
\qquad
  = n p \sum_{k'=0}^{n'} \begin{pmatrix} n' \\ k' \end{pmatrix} p^{k'} ( 1 - p )^{ n' - k' }
\\
\displaystyle
\qquad
  = n p

二項分布に従う確率変数 Xの分散は、

\displaystyle
var[  X ] = var\left[ \sum_{i = 1}^n X_i \right] = \sum_{i=1}^{n} var[ X_i ] = p ( 1 - p ) \sum_{i=1}^n = np(1-p)
もしくは

\displaystyle
var[X] =E[ X^2 ] - (E[ X ])^2 = E[ X ^2] - (np)^2
\\
\displaystyle
E[ X^2 ] = \sum_{k=0}^n k^2 P_n( X = k ) = \sum_{k=0}^n ( k ( k - 1 ) + k ) P_n( X = k )
\\
\displaystyle
\qquad
 = \sum_{k=0}^n k ( k - 1 ) P_n( X = k ) + \sum_{k=0}^n k P_n( X = k )
\\
\displaystyle
\qquad
  = \sum_{k=0}^n k ( k - 1 ) P_n( X = k ) + E[X]
\\
\displaystyle
\qquad
  = \sum_{k=0}^n k ( k - 1 ) P_n( X = k ) + np
\\
\displaystyle
\qquad
  = \sum_{k=2}^n k ( k - 1 ) P_n( X = k ) + np
\\
\displaystyle
\qquad
  = n ( n - 1 ) p^2 \sum_{k=2}^n \begin{pmatrix} n - 2 \\ k - 2 \end{pmatrix} p^{k-2} ( 1 - p )^{ (n-2) - (k-2) } + np
\\
\displaystyle
\qquad
  = n ( n - 1 ) p^2 \sum_{k''=0}^{n''} \begin{pmatrix} n'' \\ k'' \end{pmatrix} p^{k''} ( 1 - p )^{ n'' - k'' } + np
\\
\displaystyle
\qquad
  = n ( n - 1 ) p^2 + np
\\
\displaystyle
\qquad
  = (np)^2 - np^2 + np
\\
\displaystyle
\qquad
  = (np)^2 + np ( 1 - p )
\\
\displaystyle
\therefore
var[ X ] =np ( 1 - p )

極値において、一階微分がゼロでも二階微分はゼロじゃない点について

例として、三次方程式

\displaystyle
y = x^3 + a x^2 + b x + c
を考える。

 x = x_0 y極値を取るとすると、

\displaystyle
\left. \frac{ d y }{ d x } \right|_{x=x_0} = 3 x_0^2 + 2 a x_0 + b = 0
\\
\displaystyle
\therefore
a = - \frac{ 1 }{ 2 x_0 } ( 3 x_0^2 + b )
極値 x_0が存在するかどうかは、二次方程式の判別式を解く必要があるが、極値の存在を仮定すると、 a, bの関係が求まる。

この条件のもと、極値における二階微分を求めると、

\displaystyle
\left. \frac{ d^2 y }{ d x^2 } \right|_{x=x_0} = 6 x_0 + 2 a = 3 x_0 - \frac{ b }{ x_0 }
となり、一般にゼロでない。

このような理由から、極値近傍で関数を展開したときに、一次の項は極値の条件から落ちるが、二次(以降)の項は残る。

三準位系の間接相互作用(プロット)

前回、三準位系について考察した。
koideforest.hatenadiary.com

今回は、実際にエネルギー準位が相互作用によってどう変化するかをプロットする。

import numpy as np
import sympy as sy
from matplotlib import pyplot as plt

# eigenvalues

e, v12, v23 = sy.symbols( "e, v12, v23" )
M = sy.Matrix( [ [ -e, v12, 0], [ v12, 0, v23 ], [ 0, v23, e ] ] )
Me = list( M.eigenvals().keys() )  # type( Me ) -> class 'dict'

# numerical data

N = 1000
v23_v12 = np.linspace( -2, 2, N )

e_ = 1
v12_ = 1
data = []
for me_ in Me:
    data_e = []
    for v_ in v23_v12:
        data_e.append( complex( me_.subs( [ ( e, e_ ), ( v12, v12_ ), ( v23, v_ * v12_ ) ] ) ) )
    data.append( data_e )

# plot

for d_ in data:
    plt.plot( v23_v12, np.real( d_ ) )

plt.hlines( y = -e_, xmin = v23_v12[0], xmax = v23_v12[-1], linestyle = "dashed" )
plt.hlines( y = 0, xmin = v23_v12[0], xmax = v23_v12[-1], linestyle = "dashed" )
plt.hlines( y = e_, xmin = v23_v12[0], xmax = v23_v12[-1], linestyle = "dashed" )

delta_2 = np.sqrt( e_**2 + 4 * v12_**2 ) 
plt.hlines( y = -delta_2, xmin = v23_v12[0], xmax = v23_v12[-1], linestyle = "dashdot" )
plt.hlines( y = delta_2, xmin = v23_v12[0], xmax = v23_v12[-1], linestyle = "dashdot" )

plt.xlim( [ -2, 2 ] )
plt.xlabel( "v23 / v12" )
plt.show()

注意として、*.eigenvals()は辞書であり、値には縮退度が入っている。

f:id:koideforest:20190806215414p:plain
破線は相互作用が無いときのエネルギー準位を表す。
一点鎖線は二準位だけを考えたときの分裂幅を表す。

 v_{12}は固定し、 v_{23}を変化させている訳だが、1のエネルギー準位が v_{23}の影響受けて多少曲がっていることがわかる。
ただし、(1の準位だけに注目した時に)その変化は然程大きくはなく、間接的な効果であることが伺える。

 |v_{23} / v_{12}| = 1 \, (|v_{23}| = |v_{12}|)の時に注目すると、一点鎖線に挟まれた内側に1と3の準位が来ていることがわかる。
この分裂は、準位2から見た時に、二準位だけを考えた時の分裂幅よりも小さくなっていることを表す。
個人的には、両側から押したらもっと反発して分裂幅が大きくなると思っていたが、そうではないらしい。

三準位についてあまり掘り下げたことがなかったので、弄ったらまだまだ面白いことが眠っていそうな気がする。

三準位系における間接相互作用

三準位系で、1と3は相互作用しないが、それぞれ2と相互作用しているときの1と3の関係について知りたい。

解きたい行列式

\displaystyle
\begin{vmatrix}
\varepsilon_1 - \varepsilon & v_{12} & 0 \\
v_{12}^* &  \varepsilon_2 - \varepsilon & v_{23} \\
0 & v_{23}^* &  \varepsilon_3 - \varepsilon
\end{vmatrix}
\\
\displaystyle
\quad
=
  ( \varepsilon_1 - \varepsilon )( \varepsilon_2 - \varepsilon )( \varepsilon_3 - \varepsilon )
  - |v_{12}|^2(\varepsilon_3 - \varepsilon) - |v_{23}|^2(\varepsilon_1 - \varepsilon) 
= 0
\\
\displaystyle
( \varepsilon_1 - \varepsilon )( \varepsilon_2 - \varepsilon )( \varepsilon_3 - \varepsilon )
\\
\displaystyle
\quad
 = - ( \varepsilon^3 - ( \varepsilon_1 + \varepsilon_2 + \varepsilon_3 ) \varepsilon^2 + ( \varepsilon_1 \varepsilon_2 + \varepsilon_2 \varepsilon_3 + \varepsilon_3 \varepsilon_1 ) \varepsilon - \varepsilon_1 \varepsilon_2 \varepsilon_3 )

簡単のため、 \varepsilon_2 = 0

\displaystyle
( \varepsilon_1 - \varepsilon )( - \varepsilon )( \varepsilon_3 - \varepsilon )
  - |v_{12}|^2(\varepsilon_3 - \varepsilon) - |v_{23}|^2(\varepsilon_1 - \varepsilon) 
\\
\displaystyle
\quad
 = - ( \varepsilon^3 - ( \varepsilon_1 + \varepsilon_3 ) \varepsilon^2 + \varepsilon_3 \varepsilon_1 \varepsilon  + |v_{12}|^2(\varepsilon_3 - \varepsilon) + |v_{23}|^2(\varepsilon_1 - \varepsilon) )
\\
\displaystyle
\quad
 = - ( \varepsilon^3 - ( \varepsilon_1 + \varepsilon_3 ) \varepsilon^2 + ( \varepsilon_3 \varepsilon_1 - |v_{12}|^2 - |v_{23}|^2 ) \varepsilon  + |v_{12}|^2 \varepsilon_3+ |v_{23}|^2 \varepsilon_1 )

更に簡単のため、 \varepsilon_1 = - \varepsilon_3 = - \varepsilon_0

\displaystyle
\begin{vmatrix}
  - \varepsilon_0 - \varepsilon & v_{12} & 0 \\
v_{12}^* &  - \varepsilon & v_{23} \\
0 & v_{23}^* &  \varepsilon_0 - \varepsilon
\end{vmatrix}
\\
\displaystyle
\quad
 = - ( \varepsilon^3 - ( \varepsilon_0^2 + |v_{12}|^2 + |v_{23}|^2 ) \varepsilon + \varepsilon_0( |v_{12}|^2 - |v_{23}|^2 ) )
=
0
\\
\displaystyle
\therefore
\varepsilon^3 - ( \varepsilon_0^2 + |v_{12}|^2 + |v_{23}|^2 ) \varepsilon + \varepsilon_0( |v_{12}|^2 - |v_{23}|^2 ) = 0

 |v_{12}| = |v_{23}| \equiv vのとき、

\displaystyle
\varepsilon^3 - ( \varepsilon_0^2 + 2|v|^2 ) \varepsilon = 0
\\
\displaystyle
\varepsilon (\varepsilon - \sqrt{ \varepsilon_0^2 + 2|v|^2 } ) (\varepsilon + \sqrt{ \varepsilon_0^2 + 2|v|^2 } ) = 0
となり、中心の \varepsilon_2 = 0は動かない。
二準位だけ考えた場合の分裂幅は、

\displaystyle
\Delta \varepsilon = \sqrt{ \varepsilon_0^2 + 4 |v|^2 }
であることから、三準位で両端から押すと分裂幅は小さくなることが分かった。

CoulombポテンシャルのFourier変換(Poisson方程式経由)

Ashcroft-Mermen "Solid State Physics"に準拠する方法で紹介する。

単位の取り方で、 4\piが付いたり付かなかったり等、色々有る。
電磁気量の単位系 - Wikipedia
CGS単位系を選択することで、

  1.  4\piがPoisson方程式に露わに現れる。
  2.  \epsilon_0 = 1

として扱う。

Poisson方程式。

\displaystyle
  - \nabla^2 \phi( \vec r ) = 4\pi \rho( \vec r )

負の点電荷 \rho( \vec r ) = - e \delta( \vec r) におけるPoisson方程式は、

\displaystyle
  - \nabla^2 \phi( \vec r ) = - 4\pi e \delta( \vec r )

左辺を逆Fourier変換すれば、

\displaystyle
  \int \frac{ d \vec k }{ ( 2 \pi )^3} k^2 \tilde \phi( \vec k ) e^{ - i \vec k \cdot \vec r } = - 4\pi e \delta( \vec r )

適当な平面波 e^{ i \vec q \cdot \vec r } を掛けて、 \vec rについて積分すれば、

\displaystyle
  \int d \vec r \int \frac{ d \vec k }{ ( 2 \pi )^3} k^2 \tilde \phi( \vec k ) e^{ i ( \vec q - \vec k ) \cdot \vec r }
  = \int d \vec k \, k^2 \tilde \phi( \vec k ) \delta( \vec q - \vec k )
  = q^2 \tilde \phi( \vec q )
\\
\displaystyle
  - 4\pi e \int \vec r \delta( \vec r ) e^{ - i \vec q \cdot \vec r }
  = - 4\pi e

したがって、

\displaystyle
\tilde \phi( \vec q )
  = - \frac{ 4 \pi e }{ q^2 }

ここで、静電ポテンシャル V( \vec r ) = - e \phi(\vec r)において、負電荷同士のポテンシャルは V( \vec r ) = e^2 / rであるから、

\displaystyle
\phi( \vec r ) = - e / r
\\
\displaystyle
\therefore
\int d \vec r \left( \frac{ 1 }{ r } \right) e^{ i \vec q \cdot \vec r }
  = \frac{ 4 \pi }{ q^2 }

「式の形」と「リーダブルコード」について

正射影ベクトルの公式というものがあるらしい。
正射影ベクトルの公式の証明と使い方 | 高校数学の美しい物語

\displaystyle
\vec p = \frac{ \vec a \cdot \vec b }{ | \vec a |^2  } \vec a
これは、「ベクトル \vec bをベクトル \vec a方向に射影したベクトル \vec pを求める」というものである。

この公式を見て思ったのは、「計算出来るけど『意味が』分かり易い形ではない」ということである。
プログラムのソースコードを書いているとだんだんわかってくるが、1週間単位で見ても、「とりあえずグチャグチャでも良いから動けば良い」というものを書くより、「後で見返したときに『意味が』分かり易いように書く」方が重要であることが多い。

そもそも、ベクトルとは何か?
結局は、「その人がどう思っているか?」が全てであり、その思考が反映された展開が成されていれば、細部はともかく「気持ち」はわかるものになるはずである。
ベクトルを幾何的に思っていれば、「ベクトル=大きさ×向き」という風に捉えて話が進むし、一次元配列だと思えばプログラム的な見方になるわけで、「こう考えなければならない」というものはない。
重要なのは「こう考えていますよ~」という意思が分かるように記述することである。

今、ベクトルを幾何的に捉えるとする。
すると、「ベクトル=大きさ×向き」であるため、「大きさ」と「向き」がわかればベクトルが求まると素直に考えるであろう。
もしくは、ベクトルが与えられたときに、どれが大きさでどれが向きが分かるように書くのが自然である。
これに則ると、まず向きは、 \vec aの方向だから、 \vec aを自身の大きさ |a|で割った向き \hat aが欲しい。

\displaystyle
\hat p = \hat a = \frac{ \vec a }{ | \vec a |}

次に、「方向 \hat aに射影した \vec bの大きさ」が知りたい。この「射影」は方向ベクトルとの内積を取ることで達成される。
したがって、

\displaystyle
  |\vec p| = \vec b \cdot \hat a

よって、射影したベクトル \vec pは、「大きさ \times向き」に則った形で表せる。

\displaystyle
\vec p = |\vec p| \hat p =  ( \vec b \cdot \hat a ) \, \hat a

この形の方が、明らかに直感的で、もし万が一書き間違えてもミスに気付き易いであろう。
「失敗しないようにする」のではなく、「失敗してもそれに簡単に気付けて修正出来る」方がよっぽど重要である。