物理とか

Index

2準位系のLindblad 方程式を解いてみる


1. Lindblad 方程式

Lindblad 方程式は、量子系の

デコヒーレンス

を考えるのに使われる1番簡単な方程式だ。その最も一般的な形は、系の密度演算子を\(\rho(t)\)、系の演算子の基底となる演算子を\(\{F_\alpha\}\)として \[\frac{d\rho}{dt} = -i[H,\rho(t)] + \sum_\mu \sum_\nu c_{\mu\nu}\left(F_\mu\rho F_\nu^\dagger - \frac{1}{2}\left\{F_\mu^\dagger F_\nu , \rho\right\}\right) \] である。

今回は、2準位系で Lindblad 方程式を考えるときによく現れる形である、 \begin{align} \frac{d\rho}{dt} = -i\left[\frac{1}{2}\omega \sigma_z,\rho(t)\right] + c_- \left(\sigma_-\rho \sigma_+ - \frac{1}{2}\left\{\sigma_+ \sigma_- , \rho\right\}\right)+ c_+ \left(\sigma_+\rho \sigma_- - \frac{1}{2}\left\{\sigma_- \sigma_+ , \rho\right\}\right)\tag{1} \end{align} を解いてみる。\(\sigma_z\)はパウリ演算子のZ成分で、\(\sigma_\pm\)は昇降演算子である。誤解のないように行列表現も書いておこう。\(\sigma_z\)の固有状態\(\ket{0},\ket{1}\)をこの系の基底として、\(\ket{0} = (1,0)^T,~\ket{0} = (0,1)^T\)とする時、\(\sigma_z,\sigma_\pm\)は \[\sigma_z = \left(\begin{array}{cc}1&0\\0&-1\end{array}\right),\quad\sigma_+ = \left(\begin{array}{cc}0&1\\0&0\end{array}\right),\quad\sigma_- = \left(\begin{array}{cc}0&0\\1&0\end{array}\right)\]

この式は例えば、原子が光子を自然放出することによるデコヒーレンスを扱える。微視的なハミルトニアンからLindblad方程式を導出するのはまた違う記事でやろうと思う。やる気が出れば。



2. 密度演算子の Bloch ベクトルによる表現

愚直に(1)を解こうとするなら、 \[\rho(t) = \left(\begin{array}{cc}\rho_{11}(t)&\rho_{21}(t)\\\rho_{12}(t)&\rho_{22}(t)\end{array}\right)\] と密度演算子を行列表示して、(ちなみに密度演算子はエルミートなので\(\rho_{21}(t) = \rho_{12}^*(t)\)) それぞれの成分ごとに、 \[\frac{d}{dt}\rho_{ij}(t) = \cdots\] のように微分方程式を立て、これらを連立微分方程式として解く方法になるだろう。

実はもっと簡単で、物理的理解も得られやすい方法がある。それは密度演算子を、パウリ行列\(\sigma_x,\sigma_y,\sigma_z\)と単位行列\(I\)の基底で展開する方法である。パウリ行列+単位行列という行列\(\sigma_x,\sigma_y,\sigma_z,I\)は、パウリ演算子の性質の記事でも紹介したように、2x2の行列の基底としての性質を持つのだった。密度演算子\(\rho(t)\)をこれらの行列で展開したものを一般に、 \[\rho(t) = a(t)I + x(t)\sigma_x + y(t)\sigma_y + z(t)\sigma_z\] とおく。\(a,x,y,z\)は全て適当な実数である。係数が実数になるのは密度演算子がエルミートだからだ。\(\Tr(\rho(t)\sigma_\alpha)\)が\(\sigma_\alpha\)という演算子の期待値を表すことから、\(x(t),y(t),z(t)\)はそれぞれ時刻\(t\)での\(x,y,z\)方向の期待値という物理的意味を持つことがわかる。密度演算子を直接行列表示するよりかなりわかりやすい。

原子で考えるとx方向の期待値って何?て感じが拭えないかもしれないが、スピンを例として考えるとわかりやすいと思う。スピン角運動量のx方向期待値なら想像しやすいだろう。

この方法で(1)を解く前に、もう一つだけ下準備しておこう。密度演算子は、\(\Tr(\rho)=1\)をいつでも満たしていなければいけない。パウリ行列のトレースは全て0なので、これは\(a(t) = \frac{1}{2}\)が常に成り立つことを意味している。だから、 \[\rho(t) = \frac{1}{2}I + x(t)\sigma_x + y(t)\sigma_y + z(t)\sigma_z\tag{2}\] と書けることになる。\(x(t),y(t),z(t)\)は

Bloch ベクトル

と呼ばれている。これを使って(1)のLindblad方程式を解くことにしよう。

ちなみにLindblad 方程式は上手くできていて、実はこのように密度演算子を展開したとき\(\frac{d}{dt}a(t) = 0\)が必ず成り立つようになっている。


3. 解く。

まずは\(x(t),y(t),z(t)\)に関する微分方程式を立ててしまおう。(1)に(2)を代入してやるのだが、一気に全部代入すると式が長くなりすぎるので1項ずつやることにする。

まずは\(\sigma_x\)に関して代入したときに現れるそれぞれの項を計算してやると、 \begin{align} \left[\sigma_z,\sigma_x\right] &= i2\sigma_y \\ \sigma_-\sigma_x\sigma_+ &= 0 \\ \sigma_+\sigma_x\sigma_- &= 0 \\ \left\{\sigma_+ \sigma_- , \sigma_x\right\} &= \sigma_x \\ \left\{\sigma_- \sigma_+ , \sigma_x\right\} &= \sigma_x \\ \end{align} を得る。さすがに書くのが面倒だったので計算の詳細は飛ばしてしまった。\(\sigma_y\)に関しても同じようにやってやると、 \begin{align} \left[\sigma_z,\sigma_y\right] &= -i2\sigma_x \\ \sigma_-\sigma_y\sigma_+ &= 0 \\ \sigma_+\sigma_y\sigma_- &= 0 \\ \left\{\sigma_+ \sigma_- , \sigma_y\right\} &= \sigma_y \\ \left\{\sigma_- \sigma_+ , \sigma_y\right\} &= \sigma_y \\ \end{align} \(\sigma_z\)については \begin{align} \left[\sigma_z,\sigma_z\right] &= 0 \\ \sigma_-\sigma_z\sigma_+ &= \frac{1}{2}(I-\sigma_z) \\ \sigma_+\sigma_z\sigma_- &= -\frac{1}{2}(I+\sigma_z) \\ \left\{\sigma_+ \sigma_- , \sigma_z\right\} &= I+\sigma_z \\ \left\{\sigma_- \sigma_+ , \sigma_z\right\} &= -I+\sigma_z \\ \end{align} 最後に\(I\)については \begin{align} \left[\sigma_z,I\right] &= 0 \\ \sigma_-I\sigma_+ &= \frac{1}{2}(I-\sigma_z) \\ \sigma_+I\sigma_- &= \frac{1}{2}(I+\sigma_z) \\ \left\{\sigma_+ \sigma_- , I\right\} &= I+\sigma_z \\ \left\{\sigma_- \sigma_+ , I\right\} &= I-\sigma_z \\ \end{align} である。これらを使って、(1)式に(2)を代入した結果は \begin{align} \frac{d\rho}{dt} = \omega(x(t)\sigma_y - y(t)\sigma_x) - \frac{c_- + c_+}{2}(x(t)\sigma_x+y(t)\sigma_y) - (c_-+c_+)z(t)\sigma_z + (c_+ - c_-)\sigma_z \end{align} となる。
\(\sigma_x,\sigma_y,\sigma_z\)は全て直交しているので、上の式は3つの微分方程式に分離できる。左辺と右辺で、それぞれのパウリ行列の係数になっている部分同士を等号で結んでやるのだ。やってやると、 \begin{align} \frac{d}{dt}x(t) &= -\omega y(t) - \frac{c_- + c_+}{2}x(t) \\ \frac{d}{dt}y(t) &= \omega x(t) - \frac{c_- + c_+}{2}y(t) \\ \frac{d}{dt}z(t) &= -(c_-+c_+)z(t) + (c_+ - c_-) \end{align} となる。あとは簡単な微分方程式の問題だ。これを解くと、\(\gamma=c_++c_-\), \(z_\infty = \frac{c_+ - c_-}{c_+ +c_-}\)として、 \begin{align} x(t) &= e^{-\gamma t/2}(x(0)\cos\omega t - y(0)\sin\omega t) \\ y(t) &= e^{-\gamma t/2}(x(0)\sin\omega t + y(0)\cos\omega t) \\ z(t) &= \left(z(0)-z_\infty \right)e^{-\gamma t} + z_\infty \end{align} が得られる。\(x,y\)平面を回転しながら減衰していくことがわかる。一応しっかり解いておこうか。\(z\)は簡単に解けるので\(x,y\)を解こう。方程式を行列表示すると \begin{align} \frac{d}{dt}\left(\begin{array}{c} x(t)\\y(t)\end{array}\right) &= \left(\begin{array}{cc} -\frac{\gamma}{2}& -\omega \\ \omega & -\frac{\gamma}{2}\end{array}\right)\left(\begin{array}{c} x(t)\\y(t)\end{array}\right) \end{align} 行列の固有値\(\lambda\)を求めてやると \begin{align} \left(\lambda + \frac{\gamma}{2}\right)^2+\omega^2=0 \\ \lambda = -\frac{\gamma}{2} \pm i\omega \end{align} となる。これの固有ベクトルから、 \[ \left(\begin{array}{c} p(t)\\q(t)\end{array}\right) = \frac{1}{\sqrt{2}}\left(\begin{array}{cc} 1& i \\ 1 & -i\end{array}\right)\left(\begin{array}{c} x(t)\\y(t)\end{array}\right) \] と定義すると、微分方程式が解けて \begin{align} p(t) &= p(0)e^{i\omega t}e^{-\gamma t/2}\\ &= \frac{1}{\sqrt{2}}(x(0)+iy(0))e^{i\omega t}e^{-\gamma t/2}\\ q(t) &= q(0)e^{-i\omega t}e^{-\gamma t/2}\\ &= \frac{1}{\sqrt{2}}(x(0)-iy(0))e^{-i\omega t}e^{-\gamma t/2} \end{align} を得るので、元に戻せば \begin{align} x(t) &= \frac{1}{\sqrt{2}}(p(t)+q(t)) \\&= e^{-\gamma t/2}(x(0)\cos\omega t - y(0)\sin\omega t) \\ y(t) &= \frac{1}{i\sqrt{2}}(p(t)-q(t)) \\&= e^{-\gamma t/2}(x(0)\sin\omega t + y(0)\cos\omega t) \end{align} となって解けた。

4. 超演算子

良い機会だと思うので、

超演算子 (superoperator)

というものについて紹介しておこう。

今回、密度演算子を \[\rho(t) = \frac{1}{2}I + x(t)\sigma_x + y(t)\sigma_y + z(t)\sigma_z\tag{2}\] と展開して解く手法を展開した。\(\{I,\sigma_x,\sigma_y,\sigma_z\}\)という演算子たちを、基底ベクトルとみなしたわけだ。そこで、演算子をベクトルとみなすことをあらわにするために、以下のように4次元のベクトルと対応付けてみよう。 \[I \to \left(\begin{array}{c} 1\\0\\0\\0\end{array}\right),~\sigma_x \to \left(\begin{array}{c} 0\\1\\0\\0\end{array}\right),~\sigma_y \to \left(\begin{array}{c} 0\\0\\1\\0\end{array}\right),~\sigma_z \to \left(\begin{array}{c} 0\\0\\0\\1\end{array}\right) \tag{*}\] このようにベクトル表記すると、例えばさっき考えた\(\left\{\sigma_+ \sigma_- , \cdot\right\}\)という「演算子に作用する演算子」は \begin{align} \left\{\sigma_+ \sigma_- , I\right\} &= I+\sigma_z \\ \left\{\sigma_+ \sigma_- , \sigma_x\right\} &= \sigma_x \\ \left\{\sigma_+ \sigma_- , \sigma_y\right\} &= \sigma_y \\ \left\{\sigma_+ \sigma_- , \sigma_z\right\} &= I+\sigma_z \end{align} という働きをしていたので、この「演算子に作用する演算子」を(*)式の基底の下で行列表現すると \[\left\{\sigma_+ \sigma_- , \cdot\right\} \to \left(\begin{array}{cccc} 1&0&0&1\\0&1&0&0\\0&0&1&0\\1&0&0&1\end{array}\right)\] と書ける。エルミートであることが一目瞭然だし、\(\sigma_x,\sigma_y\)がこの行列の固有ベクトルとなっていることもわかる。\(\left\{\sigma_+ \sigma_- , \cdot\right\}\)のように、演算子に対しての線形演算子を超演算子とよぶ。

「密度演算子に対する微分方程式」という難しそうなものにみえる Lindblad 方程式 (1), (2) も、右辺の「超演算子」の行列表現を求めてしまえば、普通の連立微分方程式と全く同じように計算できる。今回 x,y,z の3つの微分方程式に分けたところでは、実はそういう計算をしていたわけだ。

デコヒーレンスは密度演算子で扱うのが1番便利なんだから、量子力学全体を、密度演算子と、それに作用する超演算子で定式化してほしいなあという気持ち。