量子シミュレーション
Yukio Kawashima(2024年5月30日)
元の講義の PDF をダウンロード できます。コードスニペットは静的画像であるため、一部が非推奨になっている場合があります。
この実験を実行するおおよその QPU 時間は 7 秒です。
(このノートブックは、Qiskit Algorithms の現在は非推奨となったチュートリアルノートブックをもとにしています。)
1. はじめに
実時間発展の手法として、トロッタリゼーション(Trotterization)は、あるタイムスライスにおけるシステムの時間発展を近似するように選ばれた量子ゲートを繰り返し適用することで構成されます。シュレーディンガー方程式から、時刻 に状態 にあるシステムの時間発展は次の形で表されます:
ここで はシステムを支配する時間非依存なハミルトニアンです。 と書けるハミルトニアンを考えます。 は 個の Qubit に作用するパウリ項のテンソル積を表します。これらのパウリ項は互いに交換する場合もあれば、しない場合もあります。 における状態が与えられたとき、量子コンピュータを用いて、後の時刻における状態 をどのように求めればよいでしょうか?演算子の指数関数はテイラー展開を通じて理解できます:
のような非常 に基本的な指数関数は、コンパクトな量子ゲートのセットを用いて量子コンピュータ上で簡単に実装できます。ほとんどの興味深いハミルトニアンは単一の項だけではなく、多数の項を持ちます。 の場合に何が起こるか見てみましょう:
と が交換する場合、次のよく知られた式が成り立ちます(数値や変数 , でも同様です):
しかし、演算子が交換しない場合、テイラー展開の項を並べ替えてこのように簡略化することはできません。そのため、複雑なハミルトニアンを量子ゲートで表現することは難しい課題となります。
一つの解決策は、時間 を非常に小さく取ることで、テイラー展開の一次項が支配的になるようにすることです。その仮定のもとで:
もちろん、より長い時間だけ状態を発展させる必要がある場合もあります。それには、このような小さな時間ステップを多数繰り返すことで実現します。このプロセスをトロッタリゼーションと呼びます:
ここで は選択するタイムスライス(発展ステップ)です。その結果、 回適用するゲートが作成されます。タイムステップが小さいほど近似精度は高まりますが、同時に Circuit が深くなり、実際には誤差の蓄積が増大します(近代の量子デバイスでは無視できない問題です)。
今回は、 および サイトの線形格子上のイジングモデルの時間発展を調べます。これらの格子は、最近接のスピン どうしのみが相互作用するスピン配列から成ります。各スピンは と の二方向を取り得、それぞれ磁化 と に対応します。