ベリー位相と結晶中の電子の速度

結晶中で動く電子の速度の話は意外と複雑なので自分用のリマインドの意味も込めてまとめてみました。

# 設定

ハミルトニアンがパラメーター$R(t)$に依存するエルミート行列$H[R(t)]$で表されて、固有値と固有ベクトルが

```math
E_n(t) = E_n[R(t)], \\
u_{n}(t) = u_{n}[R(t)]
```

です。このパラメーター$R$はベクトルでもいいです。例えば波数$k$、時間$t$に対して

```math
R(t)=(k_x,k_y,k_z,t)
```

としたり(異常速度)、時間変化する磁場

```math
R(t) = B(t)
```

などとなります。
このハミルトニアンは断熱時間発展するとします。

# 断熱時間発展

本来、シュレディンガー方程式

```math
i\frac{\partial}{\partial t} \psi(t) = H(t) \psi(t)
```

に従う波動関数はハミルトニアンが時間に依存しないときだけ、

```math
\psi(t) = \sum_{n} c_{n}(t) u_{n} \\
= \sum_{n} c_{n}(0) e^{iE_n t} u_{n}
```

と表せます。
時間変化が十分ゆっくりで、時間依存しているにも関わらずこれと同様に波動関数を展開できるような時間発展(の近似)が断熱時間発展です。つまり、

```math
\psi(t) = \sum_{nm} c_{m}(0) \Gamma_{nm}(t) e^{-i\int^t_0 E_n(t')dt'} u_{n}(t)
```

となることです。ただし、時間発展しても固有空間の分解の仕方は常に$u_n[R(t)]$の関数の形です。

# ベリー位相

断熱時間発展する波動関数をシュレディンガー方程式に入れると


```math
i \sum_n \Gamma_{nm}(t) e^{-i\int^t_0 E_n(t')dt'} \frac{\partial u_{n}(t)}{\partial t} = \sum_n e^{-i\int^t_0 E_n(t')dt'} \frac{ d \Gamma_{nm}(t) }{dt} u_{n}(t) \\

\sum_n [u^\dagger_l(t) u_n(t)] e^{-i\int^t_0 [E_n(t') - E_l(t') ] dt'}\frac{ d \Gamma_{nm}(t) }{dt} =  i \sum_{n} e^{-i\int^t_0 [E_n(t') - E_l(t') ] dt'} \left[ u^\dagger_l(t) \frac{\partial u_{n}(t)}{\partial t} \right] \Gamma_{nm}(t)
```

となります。

```math
u^\dagger_l(t) u_n(t) = \delta_{ln}
```

なので、

```math
\frac{ d \Gamma_{lm}[R(t)] }{dt} =  i \sum_n \left[ u^\dagger_l[R(t)] \frac{\partial u_{n}[R(t)]}{\partial t} \right] e^{-i\int^t_0 [E_n(t') - E_l(t') ] dt'} \Gamma_{nm}[R(t)] 
```

です。この解は、行列

```math
\gamma_{nm}[R(t)] = i \int_0^t dt' u^\dagger_{n}[R(t')] \frac{\partial u_m[R(t)]}{\partial t}  e^{-i\int^t_0 [E_m(t') - E_n(t') ] dt'} \\
```

を用いて、

```math
\Gamma[R(t)] = e^{\gamma[R(t)]}
``` 

となります。

ここでさらに、断熱時間発展では異なるエネルギーの固有空間への遷移は考えないことにします。つまり、$E_n = E_m$となる縮退した$n,m$だけを考えます。すると、

<!-- 
ここで、$n \neq m$のとき、

```math
u^\dagger_{n}[R(t')] \frac{\partial u_m[R(t)] e^{-i\int^t_0 E_m(t') dt'} }{\partial t} = u^\dagger_{n}[R(t')] u_m[R(t)] \frac{\partial  e^{-i\int^t_0 E_m(t') dt'} }{\partial t} + e^{-i\int^t_0 E_m(t') dt'} u^\dagger_{n}[R(t')] \frac{\partial u_m[R(t)] }{\partial t} \\
= e^{-i\int^t_0 E_m(t') dt'} u^\dagger_{n}[R(t')] \frac{\partial u_m[R(t)] }{\partial t} 
```

だから、　

```math
\gamma_{nm}[R(t)] = i \int_0^t dt u_{n}^\dagger[R(t)] e^{i\int^t_0 [E_n(t') dt'} \nabla_R ( u_{m}[R(t)] e^{-i\int^t_0 E_m(t') dt'} ) \cdot \frac{d R}{dt} 
``` 

です。よって、

```math
\tilde{u}_n(t) = u_{n}^\dagger[R(t)] e^{i\int^t_0 [E_n(t') dt'}
```

とおくと、断熱時間発展した波動関数は


```math
\psi(t) = \sum_{nm} c_m(0) \Gamma_{nm} \tilde{u}_n(t)
```

と変更されて、
-->

```math
\gamma_{nm}[R(t)] = i \int_0^t dt u_{n}^\dagger[R(t)] (\nabla_R u_{m}[R(t)]) \cdot \frac{d R}{dt} \\
= i \int_C dR \cdot u_{n}^\dagger[R(t)] (\nabla_R u_{m}[R(t)]) \\
= \int_C dR \cdot A_{nm}[R(t)]
```

ここで、$C$は積分区間$[0,t]$の時間で$R(t)$が動く経路です。$\tilde{u}_n$と$u_n$は位相が違うだけで同じものを表しています。

また、もし$R(0) = R(t)$ならば、ストークスの定理より $C=\partial S$として

```math
\gamma_{nm}(t) = \oint_{C=\partial S} dR \cdot A_{nm}[R(t)] \\
= \int_S dS \cdot \nabla_R \times A_{nm}[R] \\
= \int_S dS \cdot \Omega_{nm}[R]
```

と書けます。

このとき、

```math
A_{nm}[R(t)] = i u^\dagger_{n}[R] \nabla_R u_{m}[R]
```

をベリー接続、

```math
\Omega_{nm}[R(t)] = \nabla_R A_{nm}[R]
```

をベリー曲率、

```math
\gamma_{nm} = \oint_C dR \cdot A_{nm} = \int_S dS \cdot \Omega_{nm}
```

をベリー位相(幾何学的位相)と言います。ちなみに、ベリー接続は波動関数を横に並べたユニタリ行列

```math
U[R] = \begin{pmatrix}
\tilde{u}_1[R] & \tilde{u}_2[R] & \cdots
\end{pmatrix}
```

を用いて、

```math
A = i U^\dagger \frac{ \partial U }{ \partial \vec{R}}
```

と表すことができます。


## ベリー曲率の表式

$n \neq m$のとき、

```math
u^\dagger_n u_m = 0 \\
u^\dagger_n H u_m = (E_n - E_m) u^\dagger_n u_m = 0
```

だから、

```math

\frac{\partial u^\dagger_n}{\partial \vec{R}} u_m + u^\dagger_n \frac{\partial u_m}{\partial \vec{R}} = 0 \\

\frac{\partial u^\dagger_n H u_m}{\partial \vec{R}} = \frac{\partial u^\dagger_n}{\partial \vec{R}} H u_m + u^\dagger_n H \frac{\partial u_m}{\partial \vec{R}} + u^\dagger_n \frac{\partial H }{\partial \vec{R}} u_m \\
= E_m \frac{\partial u^\dagger_n}{\partial \vec{R}} u_m + E_n u^\dagger_n \frac{\partial u_m}{\partial \vec{R}} + u^\dagger_n \frac{\partial H }{\partial \vec{R}} u_m \\
= (E_m - E_n) \frac{\partial u^\dagger_n}{\partial \vec{R}} u_m +  u^\dagger_n \frac{\partial H }{\partial \vec{R}} u_m = 0
```

となって、

```math
u^\dagger_n \frac{\partial H }{\partial \vec{R}} u_m = (E_n - E_m) \frac{\partial u^\dagger_n}{\partial \vec{R}} u_m
= -(E_n - E_m) u^\dagger_n \frac{\partial u_m}{\partial \vec{R}}
```

が成り立ちます。

すると、ベリー曲率は

```math
\Omega_{nm}^a = i \epsilon_{abc} \frac{\partial}{\partial R_b} \left[ u^\dagger_n \frac{\partial u_m}{\partial R_c} \right] \\
= i \epsilon_{abc} \frac{\partial u^\dagger_n}{\partial R_b} \frac{\partial u_m}{\partial R_c}
```

ここから、

```math
\Omega_{nn} = 0
```

と分かります。一方$n \neq m$のとき

```math
\Omega_{nm}^a = i \epsilon_{abc} \sum_{l \neq n,m} \frac{\partial u^\dagger_n}{\partial R_b} u^\dagger_l u_l \frac{\partial u_m}{\partial R_c} \\
= i \epsilon_{abc} \sum_{l \neq n,m} \frac{ u^\dagger_n \frac{\partial H}{\partial R_b} u^\dagger_l u_l \frac{\partial H}{\partial R_c} u_m }{ (E_n - E_l)(E_l - E_m) }
```

となります。１行目の式で$l=n,m$の項を考えてもよいのですが、これらの項は$\epsilon_{abc}$と和をとると結局0になります。

### 結晶中の電子のベリー曲率

$R(t) = (k_x,k_y,k_z,t)$ととったとき、波数成分については

```math
a,b,c=x,y,z \\
\Omega_{nm}^a(k) = i \epsilon_{abc} \sum_{l \neq n,m} \frac{ u^\dagger_n \frac{\partial H}{\partial k_b} u^\dagger_l u_l \frac{\partial H}{\partial k_c} u_m }{ (E_n - E_l)(E_l - E_m) }
```

となります。

# 速度演算子

ハイゼンベルグの運動方程式

```math
i \frac{\partial}{\partial t} O_H(t) = [O_H(t), H]
```

を用いると、

```math
v = \frac{\partial r}{\partial t} = -i[r,H]
```

これを波数表示すると、

```math
v(k) = [\frac{\partial}{\partial k},H(k)] = \frac{\partial H(k)}{\partial k}
```

と表されます。

# 異常速度

http://www.theorie.physik.uni-konstanz.de/burkard/sites/default/files/ts15/Adiabatic-pumping.pdf

ベリー位相の導出で現れた次の式から出発します。

```math
\frac{ d \Gamma_{lm}[R(t)] }{dt} =  i \sum_n \left[ u^\dagger_l[R(t)] \frac{\partial u_{n}[R(t)]}{\partial t} \right] e^{-i\int^t_0 [E_n(t') - E_l(t') ] dt'} \Gamma_{nm}[R(t)] 
```

これをベリー接続の１次の範囲で解くと、

```math
\Gamma_{lm}[R(t)] = \sum_n  \frac{ u^\dagger_l[R(t)] \frac{\partial u_{n}[R(t)]}{\partial t} }{ E_n(t') - E_l(t') } e^{-i\int^t_0 [E_n(t') - E_l(t') ] dt'}
```

であり、　

```math
 \psi_m(t) =  u_m(t) - i \sum_{n \neq m} u_n(t) \frac{ u^\dagger_n(t) \frac{\partial u_m}{\partial t} }{ E_n - E_m}
``` 

と書けます。よって、

```math
(v_{nm})_a = \psi^\dagger_n(t) \frac{\partial H(k)}{\partial k} \psi_m(t) \\
= u^\dagger_n(t) \frac{\partial E_n(k)}{\partial k_a} u_m(t) -i \sum_{l\neq n,m} \frac{ u^\dagger_n(t) \frac{\partial H(k)}{\partial k_a} u_m(t) u_m^\dagger(t) \frac{ \partial u_n(t) }{\partial t } }{E_n - E_m} + c.c.
```

となって、

```math
(v_{nm})_a =  \frac{\partial E_n(k)}{\partial k_a} -i \left[ \frac{\partial u_n^\dagger }{\partial k_a} \frac{\partial u_m}{\partial t} - \frac{\partial u^\dagger_n}{\partial t} \frac{\partial u_m}{\partial k_a} \right]
```

です。


### 準古典近似

もし$k=k(t)$ならば、

```math
(v_{nm})_a = \frac{\partial E_n(k)}{\partial k_a} -i \left[ \frac{\partial u_{n}^\dagger }{\partial k_a} \frac{\partial k_b}{\partial t}\frac{\partial u_{m}}{\partial k_b} - \frac{\partial k_b}{\partial t} \frac{\partial u^\dagger_{n}}{\partial k_b} \frac{\partial u_{m}}{\partial k_a} \right] \\
v_{nm} = \nabla_{k} E_n \delta_{nm} - \dot{k} \times \Omega_{nm}
``` 

となります。また、電磁場があると

```math
\frac{\partial k_a}{\partial t} = -e E_a - e \epsilon_{abc} \frac{\partial r_b}{\partial t} B_c
```

だから、これらを連立して、

```math
\dot{r}_{nm} = \nabla_{k} E_n \delta_{nm} - \dot{k}_{nm} \times \Omega_{nm} \\
\dot{k}_{nm} = = -e E - e \dot{r} \times B
```

とすると、結晶中の電子の半古典的な運動方程式が成り立ちます。


### 定常状態

ハミルトニアンが時間に依存しないなら、行列$H(\mathbf{k})$を対角化して

```math
H(\mathbf{k}) = U(\mathbf{k})  \mathcal{E}(\mathbf{k}) U^\dagger(\mathbf{k}) = U(\mathbf{k}) \left(\begin{array}{ccc}
E_1(\mathbf{k}) & & \\
& E_2(\mathbf{k}) & \\
& & \ddots
\end{array}\right) U^\dagger(\mathbf{k})
```

表されるとき、$UU^\dagger = U^\dagger U = 1$なので、

```math
\frac{\partial U }{\partial \mathbf{k}} U^\dagger = - U \frac{\partial U^\dagger }{\partial \mathbf{k}} \\
\frac{\partial U^\dagger }{\partial \mathbf{k}} U = - U^\dagger \frac{\partial U }{\partial \mathbf{k}}
```

となり、

```math
\frac{\partial H}{\partial \mathbf{k}} =  U \frac{\partial \mathcal{E} }{\partial \mathbf{k}} U^\dagger + \frac{\partial U }{\partial \mathbf{k}} \mathcal{E} U^\dagger + U \mathcal{E} \frac{\partial U^\dagger }{\partial \mathbf{k}} \\
= U \frac{\partial \mathcal{E} }{\partial \mathbf{k}} U^\dagger + \frac{\partial U }{\partial \mathbf{k}} U^\dagger U \mathcal{E} U^\dagger + U \mathcal{E} U^\dagger U \frac{\partial U^\dagger }{\partial \mathbf{k}} \\
= U \frac{\partial \mathcal{E} }{\partial \mathbf{k}} U^\dagger -i \left[ i \frac{\partial U }{\partial \mathbf{k}} U^\dagger, h^0 \right] \\
= U \frac{\partial \mathcal{E} }{\partial \mathbf{k}} U^\dagger -i U \left[ i U^\dagger \frac{\partial U }{\partial \mathbf{k}} , \mathcal{E} \right] U^\dagger\\
= U ( v_F  - i[\mathcal{A},\mathcal{E}] )U^\dagger \\
= U ( \mathbf{D} \mathcal{E} )U^\dagger
```

となります。$(\mathbf{k})$は面倒なので省略しました。$v_F = \partial \mathcal{E}/\partial \mathbf{k}$はフェルミ速度、$\mathcal{A} = iU^\dagger(\partial U/\partial \mathbf{k})$はベリー接続と呼ばれるものです。$\mathbf{D}=\partial_\mathbf{k} - i[\mathcal{A},*]$は状態空間における共変微分です。

一方、


```math
u_{n}(t) = e^{-iE_n t} u_{n}(0)
```

なので、先に導出した速度の表式を使うと

```math
(v_{nm})_a = \frac{\partial E_n(k)}{\partial k_a}\delta_{nm} - \left[ \frac{\partial u_{n}^\dagger }{\partial k_a} E_m u_{m} - E_n u^\dagger_{n} \frac{\partial u_{m}}{\partial k_a} \right] \\
v = \nabla_k \mathcal{E} - i [A, \mathcal{E}] 
```

となって、整合性が取れています。

# 異常速度のイメージ

例として１次元の反強磁性鎖を流れる上向きスピンの電子を考えます。
ただ、この例はあくまでイメージであってベリー曲率は$0$です。(ベリー位相は２次元以上でないと有限になりません。)　実際にはもう少し複雑な磁性を考える必要があることを断っておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2445529/aa1632df-be0c-d3a7-2d71-cc6b1f21d288.png)


最初の$\nabla_k E_n$の項は電子と同じ上向きだと電子が動きやすくて、下向きだと動きにくい(そこに行きにくい)という効果を表しています。
一方で、別に電子が常に同じ状態を保たなければならないということはないので、動く先のサイトに合わせてスピンの向きを変えながら動くということも考えられます。この効果を表しているのがベリー曲率の項です。
下向きスピンの電子を流した場合も同じです。

実際に２次元の反強磁性正方格子で計算して確認してみましょう。ハミルトニアンは

```math
f(k) = 2t \left( 1 + e^{ik_x} + e^{ik_y} + e^{i(k_x + k_y)} \right) \\
= 2t ( 1 + e^{ik_x} )( 1 + e^{ik_y} )\\
 
H = \begin{pmatrix}
m & 0 & f(k) & 0 \\
0 & -m & 0 & f(k) \\
f^*(k) & 0 & -m & 0 \\
0 & f^*(k) & 0 & m 
\end{pmatrix} \\
= Re[f(k)]\tau_x - Im[f(k)]\tau_y + m\sigma_z\tau_z
```

です。$x,y$軸は対角線方向に取っています。
スピン$\sigma_z = s = \pm 1$は良い量子数なので

```math
H(s) = \begin{pmatrix}
ms & f(k) \\
f(k) & -ms 
\end{pmatrix}
```

です。

これを計算すると、

https://www.jstage.jst.go.jp/article/jsssj/37/11/37_535/_pdf

より

```math
\Omega^z_{\pm}(k;s) = \mp \frac{1}{2|R|^3} R \cdot \left[ \frac{\partial R(k)}{\partial k_x} \times \frac{\partial R(k)}{\partial k_y} \right]
``` 

となるので、

```math
\frac{\partial R(k)}{\partial k_x} = -2t \begin{pmatrix}
\sin k_x + \sin(k_x + k_y) \\ \cos k_x + \cos(k_x+k_y) \\ 0
\end{pmatrix} \\
\frac{\partial R(k)}{\partial k_y} = -2t \begin{pmatrix}
\sin k_y + \sin(k_x+k_y)) \\ \cos k_y + \cos(k_x+k_y) \\ 0
\end{pmatrix}
```

を使うと、

```math
\Omega^x = \Omega^y = 0 \\
\Omega^z_{\pm}(k;s) = \mp \frac{4smt}{2E(k)^3} [\sin k_x \cos k_y + \sin k_x \cos (k_x + k_y) + \cos k_x \sin (k_x + k_y) - \sin k_y \cos k_x - \sin k_y \cos (k_x + k_y) - \cos k_y \sin (k_x + k_y)] \\
= \mp \frac{4smt}{2E(k)^3} [ (\sin k_x - \sin k_y) \cos (k_x + k_y) + (1 + \cos k_x - \cos k_y) \sin (k_x + k_y)]
```

となります。

# 参考記事
- https://journals.aps.org/rmp/abstract/10.1103/RevModPhys.82.1959
- https://qiita.com/hiro949/items/c0124dc5ca1478d61b15
- https://journals.aps.org/prb/abstract/10.1103/PhysRevB.59.14915