
時間発展を見える化してみた
こんにちは!新宿で働くOLです。量子コンピュータへの興味が尽きません。
今日は、時間発展について書きたいと思います。
ある量子状態があって、そこから時間が時間が経つと、その状態はどう変化するのでしょうか。それを求める計算が時間発展です。
物理の教科書には、時間発展の計算は
exp(iHt)|Ψ>
と書いてあります。
こんな変てこな式でエネルギーが最小のところにたどり着くみたい。
式の意味は分からないですが、とりあえず見える化してみました。
今回は1次元のイジングモデルを題材に見える化をしました。イジングモデルは量子アニーリングにも使われているので資料が探しやすくて便利です。
イジングモデル
1次元イジングモデルでは、粒子が横一列に並んでいる図を考えます。
粒子はそれぞれスピンを持っています。
つまりは、それぞれの粒子は量子ビットだということです。
そして各粒子は、
・隣り合う粒子と同じスピンの向き(↑↑or↓↓)だったら、エネルギーが1小さくなる
・隣り合う粒子と違うスピンの向き(↑↓or↓↑)だったら、エネルギーが1大きくなる
としましょう。そうすると全部の粒子のスピンの向きが同じときに、エネルギーは一番小さくなります。
(↑↑↑↑↑↑...or↓↓↓↓↓↓...)
これが一番簡単なイジングモデルです。
今回は、この一番簡単なイジングモデルを使います。見える化がしやすいように4量子ビットだけで試しました。
イジングモデルの量子アニーリング計算
量子アニーリングは最初に横磁場をかけます。つまり全部の量子ビットを|↑>+|↓>にした状態からスタートします。徐々に横磁場を減らしながら、上に書いたように、同じ向きだとエネルギーが小さくなる磁場をかけていきます。
見える化するには、この過程を行列で書いて計算しないといけません。
時間発展の式は分かっているので、作らないといけない行列は次の2つです。
(1) 横磁場のハミルトニアンの時間発展
(2) 隣同士でエネルギーが低くなるハミルトニアンの時間発展
(1) 横磁場のハミルトニアンの時間発展
これは、スピン同士の相関はないので、1量子ビット計算です。
sを0から1に向かって徐々に上がっていく係数として、横磁場のハミルトニアン行列は、各量子ビットに
exp(i A(s) X Δt)
を計算します。Xはパウリ行列のXです。
i, A(s), tは数字なので計算は簡単なのですが、Xが厄介です。
けれど実はあんまり心配なくて、XはHZHと書き換えられて、HZHの2乗はHZHHZH = HZZHのようになります。3乗も同じようにHZZZHです。なので、
exp(i A(s) X Δt) = exp(i A(s) HZH Δt) = H exp(i A(s) Z Δt) H
のように書き換えられます。このexpはRZゲートと同じ形なので、
exp(i A(s) X Δt) = H RZ(A(s)Δt) H
と書けます。
これを全部の量子ビットに計算したらOKです。
(2) 隣同士でエネルギーが低くなる時間発展
イジングモデルなので、ZZ相互作用になります。
ZZは対角行列で、左上から順に1, -1, -1, 1が並んでいます。
exp(-i B(s) ZZ Δt)
は、対角行列なので計算自体は簡単です。
ちなみに、これを量子ゲートで作るには、例えば量子ビット1と量子ビット2が隣り合っているとすると
CNOT(1, 2) RZ(-i B(s) Δt) CNOT(1, 2)
となります。ここで、RZは量子ビット2にだけかけます。
隣り合っているもの全部に、この行列をかけていけばOKです。
いざ、見える化
さて。Δtごとに区切って、隣同士ハミルトニアンの時間発展、横磁場の時間発展、隣同士ハミルトニアンの時間発展、横磁場の時間発展、を繰り返しやっていきます。
行列を作ってしまえばあとは、横磁場がかかった状態、つまりHHHH|0000>にどんどん行列を掛け算していくだけですね。
量子状態は複素数で見える化しにくいので、絶対値を2乗して存在確率にしました。
また、1次元イジングモデルの問題は、答えが|↑↑↑↑>と|↓↓↓↓>の2種類あって見づらいので、1量子ビット目が0のものだけをグラフにしました。(それが↑なのか↓なのかは、好きに決めていいと思います)
綺麗!
全部のスピンが揃ってるやつだけが存在確率が高くなってます。
へんてこな時間発展の式で本当にスピンの向きが揃うことが計算で分かりました。
不思議ですね(*´∀`*)
おまけ
なんで量子アニーリングって横磁場いるんだろうって思いません?
最初から求めたいハミルトニアンだけかけたらどうなるのって思ったので、それも見える化してみました。
ちーん。
無反応です。
横磁場は大事ですね。
この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。