理学敗北者の備忘録

数学、物理の早く知っておきたかったことなど

離散フーリエ変換で連成振動や1D-Potts模型を解こうの巻

連成振動って普通の力学だったりデバイモデルで分散関係を求める時とかに出てきたりしますが、あの対角化って行き当たりばったりで対角化してる感がすごいですよね。それを少し一般的な目線から見ることができる離散フーリエ変換についてのメモです。連成振動だけでなく、その応用例の一つである一次元のポッツ模型についても触れてみました。

離散フーリエ変換

離散フーリエ変換は以下の様に定義することができる。

\begin{align} & F_n[v] := \sum_{n'=0}^{N-1} \exp( - \frac{ 2 \pi i n }{ N } n' ) v_{n'} = \sum_{n'=0}^{N-1} \eta_K^{*nn'} v_{n'} \qc \eta_N := \exp( \frac{ 2 \pi i }{ N } ) \end{align}

添字をベクトルの成分と思えば、これは

$$ \vb*v = \mqty[ v_0 \\ v_1 \\ \vdots \\ v_{N-1} ] $$

というベクトルから

$$ \vb*{F} [v] = \mqty[ {F_0 [v]} \\ {F_1 [v]} \\ \vdots \\ {F_{N-1} [v]} ] $$

というベクトルへの線形変換である。


この変換は$ \eta_N $の持つ次の直交性を用いることで逆変換をすることができる。

\begin{align} & \frac{1}{N} \sum_{n''=0}^{N-1} \eta_N^{*nn''} \eta_N^{n''n'} = \frac{1}{N} \sum_{n''=0}^{N-1} \exp( - \frac{ 2 \pi i ( n - n' ) }{ N } n'' ) = \delta_{nn'} \\ & v_{n} = \frac{1}{N} \sum_{n'=0}^{N-1} \exp( \frac{ 2 \pi i n }{ N } n' ) F_{n'}[v] = \frac{1}{N} \sum_{n'=0}^{N-1} \eta_N^{nn'} F_{n'}[v] \end{align}

本来の$v_n$$n=0,1,\cdots,N-1$について定義されているが、この変換による$v_n,~F_n[v]$は便宜上、次の周期性を持っていると思うことができる。これは$ \eta^{N}_N = 1 $という性質を持つためである。

\begin{align} & v_{n+N} = v_{n} \qc F_{n+N}[v] = F_n[v] \end{align}

成分を拡張したベクトルを用いて連続的なフーリエ変換の場合と同様に、畳み込みを以下の様に定義する。

\begin{align} & \qty( w * v )_n := \sum_{n'=0}^{N-1} w_{n-n'} v_{n'} \end{align}

畳み込みは通常のフーリエ変換と同様に、フーリエ変換について次の性質を満たす。

\begin{align} & F_n[v*w] = \sum_{n'=0}^{N-1} \eta_N^{*nn'} \qty( v * w )_{n'} = \sum_{n' n''=0}^{N-1} \eta_N^{*nn'} w_{n'-n''} v_{n''} \\ &= \frac{1}{N^2} \sum_{n' n'' n''' n'''' =0}^{N-1} \eta_N^{*nn'} \eta_N^{(n'-n'')n'''} \eta_N^{n''n''''} F_{n'''}[w] F_{n''''}[v] \\ &= \sum_{ n''' n'''' =0}^{N-1} \delta_{nn'''} \delta_{ n''' n'''' } F_{n'''}[w] F_{n''''}[v] = F_{n}[w] F_{n}[v] \end{align}

畳み込みと巡回行列

先ほど定義した畳み込みも一種の線形変換であると考えられる。

\begin{align} & \qty( w * v )_n := \sum_{n'=0}^{N-1} w_{n-n'} v_{n'} = \sum_{n'=0}^{N-1} W_{nn'} v_{n'} \qc W_{nn'} := w_{n-n'} \end{align}

ただし先ほども注意したように$ w_{n+N} = w_n $の周期性を用いて常に$ n - n' = 0, 1, \cdots , N -1 $とすることを約束する。例えば三次元においては次の様に定義される行列である。

\begin{align} & W = \mqty[ w_{0} & w_{2} & w_{1} \\ w_{1} & w_{0} & w_{2} \\ w_{2} & w_{1} & w_{0} ] \qc \vb*w = \mqty[ w_0 \\ w_1 \\ w_2 ] \end{align}

一般の次元については以下の様に定義される。これをベクトル

$ \vb*w $

の巡回行列と呼ぶ。

\begin{align} & W = \mqty[ w_{0} & w_{N-1} & \cdots & w_{1} \\ w_{1} & w_{0} & \cdots & w_{2} \\ \vdots & \vdots & \ddots & \vdots \\ w_{N-1} & w_{N-2} & \cdots & w_{0} ] \qc \vb*w = \mqty[ w_0 \\ w_1 \\ \vdots \\ w_{N-1} ] \end{align}

この形の行列は、物理学において重要な例がいくつか存在する。例えば連成振動は

\begin{align} & W = \mqty[ -2 & 1 & 0 & \cdots & 0 & 1 \\ 1 & -2 & 1 & \cdots & 0 & 0 \\ 0 & 1 & -2 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & 0 & \cdots & -2 & 1 \\ 1 & 0 & 0 & \cdots & 1 & -2 ] \qc \vb*w = \mqty[ -2 \\ 1 \\ 0 \\ \vdots \\ 0 \\ 1 ] \end{align}

という行列の固有問題である。このような巡回行列の固有値を求める問題を考える。

巡回行列の固有値問題

巡回行列の定義と、フーリエ変換の性質から以下が成り立つ。

\begin{align} & W_{nn'} = w_{n-n'} = \frac{1}{N} \sum_{n''} \eta_N^{(n-n')n''} F_{n''}[w] = \frac{1}{N} \sum_{n''} \eta_N^{nn''} \eta_N^{*n''n'} F_{n''}[w] \end{align}

この両辺に$ \eta_N^{n'k} $を作用させて$n'$の和をとることで

\begin{align} & \sum_{ n' } W_{nn'} \eta_N^{n'k} = \frac{1}{N} \sum_{n' n''} \eta_N^{nn''} \eta_N^{*n''n'} \eta_N^{n'k} F_{n''}[w] = \sum_{n''} \eta_N^{nn''} \delta_{n''k} F_{n''}[w] = F_{k}[w] \eta_N^{nk} \end{align}

という関係が得られる。これは$ W $の行列の固有方程式そのものである。つまり

\begin{align} & \vb*\psi_k := \mqty[ 1 \\ \eta_N^{k} \\ \vdots \\ \eta_N^{(N-1)k} ] \qc \qty(\vb*\psi_k)_{n} := \eta_N^{nk} \end{align}

が巡回行列$W$固有ベクトルであり、その固有値$\vb*w$フーリエ変換$k$成分$ F_k[w] $である。

具体例

連成振動

例えば、三つの物体の連成振動の場合の巡回行列

\begin{align} & W = \mqty[ -2 & 1 & 1 \\ 1 & -2 & 1 \\ 1 & 1 & -2 ] \qc \vb*w = \mqty[ -2 \\ 1 \\ 1 ] \end{align}

は、一般論から

\begin{align} & F_0[w] = \qty( -2 + 1 + 1 ) = 0 \qc F_1[w] = \qty( -2 + \eta_3^* + \eta_3^{*2} ) = 2 \qty( -1 + \cos( \frac{ 2 \pi }{3} ) ) = - 4 \sin^2 \qty( \frac{\pi}{3} ) \\ & F_2[w] = \qty( -2 + \eta_3^{*2} + \eta_3^* ) = 2 \qty( -1 + \cos( \frac{ 2 \pi }{3} ) ) = - 4 \sin^2 \qty( \frac{\pi}{3} ) \\ & \vb*\psi_0 = \mqty[ 1 \\ 1 \\ 1 ] \qc \vb*\psi_1 = \mqty[ 1 \\ \eta_3 \\ \eta_3^{2} ] \qc \vb*\psi_2 = \mqty[ 1 \\ \eta_3^{2} \\ \eta_3 ] \end{align}

固有値固有ベクトルとして持っている。全く同じく$N$個の場合も計算できて

\begin{align} & F_{k}[w] = \qty( -2 + \eta_N^{*k} + \eta_N^{*k(N-1)} ) = 2 \qty( -1 + \cos( \frac{ 2 \pi k }{N} ) ) = - 4 \sin^2 \qty( \frac{\pi k}{N} ) \qc 0 \leq k \leq N-1 \\ & \vb*\psi_0 = \mqty[ 1 \\ 1 \\ \vdots \\ 1 ] \qc \vb*\psi_1 = \mqty[ 1 \\ \eta_N \\ \vdots \\ \eta_N^{N-1} ] \qc \vb*\psi_2 = \mqty[ 1 \\ \eta_N^{2} \\ \vdots \\ \eta_N^{2(N-1)} ] \qc \cdots \qc \vb*\psi_{N-1} = \mqty[ 1 \\ \eta_N^{N-1} \\ \vdots \\ \eta_N^{(N-1)(N-1)} ] \end{align}

であることを証明できる。これは周期的なバネの連成振動の固有モードである。

ポッツ模型の転送行列

この様な巡回行列は統計力学にも登場する。ポッツ模型と呼ばれる系の転送行列は

\begin{align} & T_{nn'} := e^{K \delta_{nn'}} \qc T = \mqty[ e^{K} & 1 & 1 & \cdots & 1 & 1 \\ 1 & e^{K} & 1 & \cdots & 1 & 1 \\ 1 & 1 & e^{K} & \cdots & 1 & 1 \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 1 & 1 & 1 & \cdots & e^{K} & 1 \\ 1 & 1 & 1 & \cdots & 1 & e^{K} ] \qc \vb*w = \mqty[ e^{K} \\ 1 \\ 1 \\ \vdots \\ 1 \\ 1 ] \end{align}

で与えられる。この固有値を求めることができれば解析を進められるが、一般論から

\begin{align} & F_k[w] = \sum_{n=0}^{N-1} \eta_N^{*kn} w_n = e^K + \sum_{n=1}^{N-1} \eta^{* kn} = e^K - 1 + \sum_{n=0}^{N-1} \eta^{* kn} = e^{K} - 1 + \delta_{k0} N \end{align}

と計算できる。最大固有値$ e^{K} + N - 1 $である。周期境界条件の自由エネルギーは熱力学極限( $ S := \mathrm{ Number ~ of ~ sites} \to \infty$ )において

$$ f := \lim_{ S \to \infty } \frac{ - \ln Z_{ S } }{ S } = - \ln \lambda_{\mathrm{MAX}} (T) $$

なので以下の形を持つ。

\begin{align} & f = - \ln( e^{K} + N - 1 ) \end{align}


ポッツ模型とは、サイトに$N$この状態があるイジング模型である。一次元のハミルトニアン

\begin{align} & H( \qty{n_s} ) = - J \sum_{ i = 1 }^{S} \delta_{n_s n_{s+1}} \qc n_s = 0, 1 , \cdots , N-1 \qc n_{S+1} := n_1 \end{align}

と表される。その分配関数は以下の形であり、転送行列を用いることで簡潔に表せる。

\begin{align} & Z_S = \sum_{ \qty{n_s} } \exp( - \beta H(\qty{n_s}) ) = \sum_{ n_1 n_2 n_3 \cdots n_{S} } \qty( e^{ \beta J \delta_{n_{1} n_{2}} } e^{ \beta J \delta_{n_{2} n_{3}} } \cdots e^{ \beta J \delta_{n_{S-1} n_{S}} } e^{ \beta J \delta_{n_{S} n_{1}} } ) \\ & = \sum_{ n_1 n_2 n_3 \cdots n_{S} } T_{n_1 n_2} T_{n_2 n_3} \cdots T_{n_{S-1} n_{S} } T_{n_{S} n_{1} } = \tr( T^{S} ) \qc T_{nn'} := e^{ K \delta_{nn'}} \qc K := \beta J \end{align}

この$T$を対角化すると、固有値によって分配関数を計算することができる。

\begin{align} & Z_S = \tr( T^{S} ) = \tr( \Lambda(T)^{S} ) = \sum_{n=0}^{N-1} \qty( \lambda_n^S(T) ) = \lambda_\mathrm{MAX}^S(T) \qty( \sum_{n=0}^{N-1} \qty( \frac{\lambda_n(T)}{ \lambda_\mathrm{MAX}(T) } )^{S} ) \end{align}

$ \frac{\lambda_n(T)}{ \lambda_\mathrm{MAX}(T) } \leq 1 $であることから$ S \to \infty $においては次の式が成り立つ。

\begin{align} & f := \lim_{S \to \infty} \frac{ - \ln Z_S }{S} = \lim_{S \to \infty} \qty[ - \ln \lambda_\mathrm{MAX} (T) - \frac{1}{S} \ln( \sum_{n=0}^{N-1} \qty( \frac{\lambda_n(T)}{ \lambda_\mathrm{MAX}(T) } )^{S} ) ] = - \ln \lambda_\mathrm{MAX}(T) \end{align}