Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

量子コンピュータの量子化学計算への応用の現状と展望

2,461 views

Published on

QIQB(大阪大学先導的学際研究機構量子情報・量子生命研究部門)セミナー でのスライドを加筆したもの。量子コンピュータを用いた量子化学計算の現在の状況と展望を述べた.
伝統的なゲート式位相推定による方法とvariational eigen solverによるものと2つ。ごく最近虚時間発展法の実装もされており、それは別スライドで概観した。

Published in: Science

量子コンピュータの量子化学計算への応用の現状と展望

  1. 1. 量子コンピュータの量子化学計 算への応用の現状と展望 中田真秀 2018/9/27 15:00~16:30 @大阪大学基礎工学研究棟セミナー室
  2. 2. 講演中の写真 https://twitter.com/makoto0218ne56/status/1045645040163250177
  3. 3. 量子コンピュータとは 通常、メモリは0,1のbitで表される 量子コンピュータも |0>, |1> のqubitで表される。 ただ|0> + |1> のように1 qubitの「線形重ね合わ せ」も表現できる 線形重ね合わせで超高速化!! n qubitで2nの状態の重ね合わせが可 量子化学もfullCIが超高速化する場合がある
  4. 4. 量子コンピュータとは 通常、メモリは0,1のbitで表される 量子コンピュータも |0>, |1> のqubitで表される。 ただ|0> + |1> のように1 qubitで「線形重ね合わ せ」も表現できる 線形重ね合わせで超高速化!! n qubitで2nの状態の重ね合わせが可 量子化学もfullCIが超高速化する場合がある スポーツ新聞?
  5. 5. ちょっと古典コンピュータを復習
  6. 6. 計算できるってどういうこと? • 古典コンピュータは“0” “1”の列を処理して、“0” “1”の列を出力する。 – 例: スパコン、mac, windows, iPhone – どうやって複雑な計算を“0” “1”の列の処理と結びつ けるのか – チューリングマシン (1936) – チャーチの提唱 • チューリングマシンでできること = アルゴリズム • 「プログラムとして表現可能なものとアルゴリズムは等価」 0 0 111 0 無限に長いテープ ヘッド ヘッドはテープを読み取り、遷移規則を 適用、書き込みを行ったあと移動する
  7. 7. 回路を作る:ブール関数 • チューリングマシンに必要な関数 – 有限個の“0”, “1”を与えたとき “0” or “1”を出力す る関数(ブール関数) – 通りあるのが自明にわかる – Bool関数の例 (論理演算) X Y X ∧Y 0 0 0 0 1 0 1 0 0 1 1 1 X Y X ∨Y 0 0 0 0 1 1 1 0 1 1 1 1 x ¬x 0 1 1 0
  8. 8. どんなBool関数も AND/OR/NOTで作れる X Y X ∧Y 0 0 0 0 1 0 1 0 0 1 1 1 X Y X ∨Y 0 0 0 0 1 1 1 0 1 1 1 1 x ¬x 0 1 1 0 AND/OR/NOTは完全系。以下のXORやNANDもAND/OR/NOTの組み合わせでかける NOT X = X NAND X X xor Y = (X or Y) and not (X and Y)… NANDも完全系。実はNANDだけを用いてAND/OR/NOTを書ける。 X Y X xor Y 0 0 0 0 1 1 1 0 1 1 1 0 X Y X nand Y 0 0 0 0 1 1 1 0 1 1 1 0
  9. 9. ブール関数を電気回路で作る 電気回路によって、ブール関数を作れないか? 1937年のシャノンはその修士論文で電気回路(ないし電子回路)が論理演 算に対応することを示した。 AND/OR回路は簡単にできる。NOTは電磁石が必要!! ORの回路図 ANDの回路図
  10. 10. NOT回路の実現(リレー) 1. コイル 2. 接点1 3. 接点2 Off: 電球がつく On: 電球が消える: コイルにより 鉄板が引き寄せられ、接点1,2 が触れ合い、電流が流れるため Wikipedia/wikimediaよりOffならば点灯 Onならば消灯
  11. 11. ゲートと集積回路 NOTゲート ANDゲート ORゲート AND/OR/NOTゲートは完全系だったため、これらを使ってあらゆるBool関数(=アルゴリズム を表現できる) これら基本素子はリレーを使って実装できることを示したが、 いまでは半導体をもちいるのが一般的である。On/Offは5V/0Vなど電位差で示す。 そうすることで安価で小さく、高速かつ安定して動かすことができる。 IC (Integrated Circuitsは)これらが小さいパッケージに入っているだけである。 7432TTL 7400 TTL (1966)
  12. 12. 回路の例:半加算器 加算はand/or/notの組み合わせでかける。これを回路で作ってみる 1bitの加算は4パターン 入力 入力 出力 出力 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0
  13. 13. 量子力学+量子化学
  14. 14. 量子力学について • 状態 = 波動関数 系のすべての情報を持っている • 波動関数の線形重ね合わせも波動関数。 – αψ+βφも波動関数(α, βは複素数) • 波動関数への数学的な条件:ψは絶対二乗可積分 • 物理量は演算子に – 例えば、運動量は 、位置は 、エネルギーはハミルトニアン • 系の時間発展はシュレーディンガー方程式に従う • 量子化学/物性物理で重要な、時間によらないシュレーディ ンガー方程式は固有値問題 量子力学=Hilbert空間論 (≒無限次元の線形代数学)
  15. 15. 測定(I) • 測定可能な物理量はエルミート的な演算子である。 • エルミート演算子の固有関数は完全形をなす。 • 系の状態がΦのとき、Hの測定を行うとHの固有関数のどれ かにジャンプする(波束の収縮)
  16. 16. 測定(II) どの に波束が収縮するかは、確率的であり、その確率は である。これより、Aという物理量を状態Φについて測定すると、 期待値が以下のようになる。
  17. 17. 量子化学 • 万物は原子からなっているとする • 原子核(=陽子+中性子)、電子から成る • 原子核は電子に比べて1000倍以上重い。 • 原子と原子が結合して分子になる • 分子、原子の性質を説明するのに量子力学は必須 – 非常に小さいため、量子力学的効果が大きい。 • シュレーデンガー方程式を解いて 固有値、固有関数を求めると化学がわかる – 量子化学はこれをコンピュータプログラム をもちいて行う
  18. 18. 量子化学のHamiltonian ほとんどの量子化学計算では • 核は止まっていると考える(Born-Oppenhimer近似) • 特殊相対論は考えない 原子核の電荷、位置、電子の個数(=電荷)を数えてHamiltonianを作成すれ ばよい。 電子の運動量 核-電子引力 エネルギー 電子-電子反発 エネルギー 核間反発 エネルギー
  19. 19. 電子たちは区別がつかない • 電子は同じ粒子であり、原理的に区別がつかない。波動関 数は粒子の座標の入れ替えについて反対称(Fermi粒子) • 電子は1/2 spinを持つ – 上向きスピンおよび下向きスピンを基底とする。
  20. 20. 第二量子化したHamiltonian Hamiltonianは基底関数(=一体波動関数の完全系)を導入すると、見通しが良くなる。 v, w はスカラー量。また核間反発は定数なので計算後いれてやる シュレーディンガー方程式を解くことが行列計算になった。さらに基底関数を少数で十分化 学ができるように選ぶ -> 長年の量子化学者の努力(STO-3G, double-zeta, 6-31G*, ccpvdz…) ここまで近似なし!! 近似が入った
  21. 21. 量子化学は解くのが難しい 量子化学の研究はそれから80年以上進んで、「非常に複雑で解けない」わけではな くなった。さらに近似をいれつつ… Dirac曰く、化学に必要な 法則はすべてわかっている。 非常に複雑で解けないけどね
  22. 22. 一周回ってやっぱり量子化学は解くのが難しい • 全く近似を入れないとすると、無限次元になってしまっ てどうやっても解けない。 • 基底関数を有限にしても、天文学的な次元の行列の 対角化が必要(通常これを厳密対角化と呼ぶ)。 – 今回はこれが高速化される可能性をレビュー • 近似(Hartree-Fock/CCSD/MP2…)を入れると、非線形 の方程式を解くから、解が局所解になっているかもし れない。局所解でないことを示すには膨大なマシンパ ワーが必要。 – 量子化学/計算化学では、局所解でokとしている場合が ほとんど。確かめられることも殆ど無い。化学現象が十分 追えればいいので
  23. 23. 量子コンピュータのレビュー
  24. 24. 量子bit (qubit)とはなんぞや? • 量子コンピュータでも、 “0” “1”のビットを取り扱う: qubitとよぶ – 1 qubit • たとえば電子の上向きスピンを1 下向きのスピンを0とする – 2 qubits系 – 3 qubits系 – N qubitsあれば、2N次元の空間を一つの状態ベクトルで考えられる
  25. 25. 量子bit/古典bitの本質的な違い この状態ベクトルたちは、独立なベクトルであるが、量子力学 によると、波動関数の線形重ね合わせもqubitである。 • 2qubits系の例 • もqubitである。 量子コンピュータでの高速化の基本的アイディア • qubit線形重ね合わせで、n個のqubitのゲートを操作する =2n個の状態を一気に操作できる≒exponentialなスピードアップ + 観測などによる結果の分離 • 古典だとbitたちの線形重ね合わせはできない!!
  26. 26. 最後に観測をする • ある計算をしてqubitが以下のようになったとする • 系のqubitを測定すると、 に波束が収縮する確率は • 量子アルゴリズムには、答えとなるbitの状態に振幅を持ってくることが必要 – が答えとするとそこに確率振幅を高めるアルゴリズムが必要! • 計算と観測は何度も行い、確率的にどのqubit状態が答えなのかを得る。 – 量子コンピュータはアナログコンピュータ – 非常に運が悪いと答えを見誤る可能性はある – 量子状態複製不可能定理より、初期状態から何度も計算させて観測する必要がある。
  27. 27. 量子コンピュータとSIMD計算機 (≒GPU≒CUDA) ちょっと似ている点 • n個のqubitのゲートを操作する=2n個の状態を一気に操作できる • SIMD = Single instruction multiple data N qubit系の量子コンピュータと、2N プロセッサに1bitずつメモリが存在する 古典コンピュータを考える。 この2つのコンピュータのbitを反転操作を考える。 量子コンピュータ: N個のビット反転回路を通す 古典コンピュータ: 2Nのプロセッサに一斉に自分が持っている 1bitのメモリにNOT回路を通す。
  28. 28. 量子コンピュータとSIMD計算機 (≒GPU≒CUDA) ちょっと似ている点 X N qubitを反転操作 : 量子コンピュータ では N個のNOTゲート(Xゲート)を通す X X X X 2N bitの反転操作: 古典コンピュータ 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 1個のゲートを通すと2^Nのビット に一度に作用するのがSIMD的 2N個のゲート
  29. 29. 量子コンピュータとSIMD計算機 (≒GPU≒CUDA) 違う点 X X X X X 観測するまで、2Nビットのビットの状態はわからない ビットを観測すると、確率的に波束の収縮が起こり 0か1かに確率的に確定する。 その時、2Nあった情報の大半は失われてしまう。 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 量子 古典 ビットをすべて持っているため いつでもすべての情報を 取り出せる観測の方法によらない (原理的な話) ただし膨大なメモリが必要。
  30. 30. 量子コンピュータは速い? • Yes : 因数分解などたくさんの古典より良いアル ゴリズムが存在する。 – 因数分解:N qubitで2N状態を操作しつつ、答えになるビット列に 確率振幅を多く与えるようなアルゴリズムが存在する場合 – https://math.nist.gov/quantum/zoo/ – https://www.qmedia.jp/algebraic-number-theoretic-algorithms/ – https://arxiv.org/pdf/1804.03719.pdf • No: 必ずしも良いアルゴリズムが存在しない場 合がある。 – 並列計算に向かないアルゴリズム…
  31. 31. 量子コンピュータの回路 • 量子コンピュータは可逆(=Unitary)な回路で組まれる – 古典の場合はAND/OR/NOTさえあれば任意のBool関数が表現できた (universal)。 – 実は可逆な古典回路も存在する • どんな回路があれば、universal = 任意のユニタリ変換が可 能か? – Solovay-Kitaevの定理より近似が可能[arXiv:quant-ph/0505030] – 例えば2 qubitの場合はHadamard gateとcontrolled not gateの2つが あれば任意のユニタリ変換が可能。 • 余談: n qubitを用意できたらそのn体のunitary変換を行うとHartree-Fock波動関数から 厳密解の波動関数に変換できる
  32. 32. よく使われる回路 • アダマールゲート: • Pauli-X ゲート: (NOTゲート) • 位相シフトゲート • CNOTゲート : 注:Hadamardゲート+CNOT = universal • Toffoliゲート(CCNOTゲート)
  33. 33. 量子的な加算器の作成 https://www.slideshare.net/SnehaRamshanker/classical-computation-to-quantum-computation PRA 54 1035, 1996 トフォリゲート(AND)に CNOTゲートを通すとhalf adderができる
  34. 34. 量子化学を量子コンピュータで行う ゲート編
  35. 35. 電子の波動関数とqubitの違い 電子はすべて同じ粒子で原理的に区別がつかない。 実際波動関数の座標を入れ替えても符号が出る (fermi粒子) 一方、qubitは一つ一つ区別がつく。素粒子はqubitではありえない。 David P. DiVincenzo arXiv:quant-ph/0002077v3 1. A scalable physical system with well characterized qubits したがって 量子コンピュータのqubitで電子波動関数をシミュレートする 際は、反対称化を考えなければならない
  36. 36. Qubitの対称化 ナイーブに考えるとqubitの対称化は、波動関数をn qubitsで表すとして、n! 足し算と引き算がかかる(行列 式と同じ考え方)。Aを反対称化演算子とする。3 電子 系の場合、3! = 6 回操作する必要性あり AΨ(x1,x2,x3) = 1/√6 ( Ψ(x1,x2,x3) - Ψ(x2,x1,x3) - Ψ(x1,x3,x2) + Ψ(x2,x3,x1) + Ψ(x3,x1,x2) -Ψ(x3,x2,x1) ) この効率化については後述
  37. 37. 量子化学の定式化 • 第二量子化したハミルトニアン は一電子軌道を走る • シュレーディンガー方程式を解く: n体の波動関数 • 固有値と波動関数を低い順にいくつかほしい – 真面目にやる方法 (CI法、厳密解) – 近似計算する方法 (Hartree-Fock, MP2, CCSD, … / FMO / DFT B3LYP …) 今回はこれが主眼 : 1電子軌 道の基底関数を有限にした時 点で近似にはなるが、その部 分空間では最善の解が得られ
  38. 38. 量子化学での対角化の問題点 • 1電子軌道のn個の積で、n体の波動関数を作れる(slater det)。 • 1電子軌道の数は厳密には無限個あるが、Lで打ち切る – L個まで打ち切った1電子軌道の基底関数 • n体の波動関数の空間の次元は、 • Hamiltonian行列の大きさは • 対称性を使うともう少し小さくはなる
  39. 39. 量子化学での対角化の問題点 • 粒子数が増えると波動関数の次元がものすごく大きくなる。 • 必要なslater detの数: n 軌道, k電子の場合 • 20軌道20電子系でさえ341億次元 • ベンゼン C6H6 最小基底で72軌道 / 42電子 たかがベンゼン分子程度で天文学的な大きさの行列を 対角化せねばならない… これを 量子コンピュータ で対角化する!
  40. 40. 量子化学は解くのが難しい 量子化学の研究はそれから80年以上進んで、「非常に複雑で解けない」わけではな くなった。さらに近似をいれつつ… Dirac曰く、化学に必要な 法則はすべてわかっている。 非常に複雑で解けないけどね 量子コンピュータ のターゲットはここ!
  41. 41. 量子化学の問題の楽な点 • 平均場近似で既にかなり良いエネルギーと波動関数が得られる – 分子理論の展開 p.39 (永瀬、平尾) – 厳密な波動関数と平均場近似の波動関数がかなり近い • 基底状態と第一励起状態のエネルギーギャップが十分ある。 これらのheuristicsを使うことで、量子コンピュータを使って高速 に厳密対角化を行うことが可能になる
  42. 42. 量子コンピュータを使っても 高速にならないかもしれない系 • たとえばSpin glass系の基底状態を求める問題 • ひと目ではわかりにくいが の形に直せる この問題は実はNP-hardな問題として知られている(Barahona 1982) これが解けたら難問である巡回セールスマン問題なども 高速にとけるはず.. もしかしたらこれも量子コンピュータで高速に解ける?
  43. 43. 量子コンピュータを使っても 高速にならない系 • 例えばSpin glass系の基底状態を求める問題 • ひと目ではわかりにくいが の形に直せる この問題はNP-hardな問題として知られている(Barahona 1982) もしかしたらこれも量子コンピュータで高速に解ける? 残念ながら量子コンピュータ でも多分解けません
  44. 44. (もう一度)量子化学の問題の楽な点 • 平均場近似で既にかなり良いエネルギーと波動関数が得られる – 分子理論の展開 p.39 (永瀬、平尾) – 厳密な波動関数と平均場近似の波動関数がかなり近い • 基底状態と第一励起状態のエネルギーギャップが十分ある。 これらのheuristicsを使うことで、量子コンピュータを使って高速 に厳密対角化を行うことが可能になる
  45. 45. 本質的には高速化されないのはなぜか? • k<=2 Local HamiltonianはQMA-complete [arXiv:0406180] – QMAの中で最も難しい問題。 • なお、NP⊆QMAである。量子化学の問題はNPで最も難しい問題よ りも難しい。 • つまり…もし効率的に解けるなら巡回セールスマン問題、ハミルト ン閉路問題なども量子コンピュータで効率的に解けるはず。 • では、一次元と限定すれば? (DMRGで一次元は解ける) やっぱりダメ (cf. [arXiv:0705.4077] the problem of approximating the ground state energy of a system composed of a line of quantum particles is QMA- complete) つまり量子コンピュータはものすごく強力 というわけではない
  46. 46. 量子コンピュータは 量子化学の問題にどう利用すべきか? • 高速になるのかならないのかよくわからない? – すべての問題が高速になるとは限らない – 一部 – いま興味を持っていない- 大変難しい問題も含んで いる。難しい問題を難しいまま解いているため。
  47. 47. 量子コンピュータは 量子化学の問題にどう利用すべきか? • ほとんどの量子化学の系の厳密対角化はでき ていないのが現状 – 古典コンピュータではできない大きさの厳密対角化 が実用的に出来ればそれでok!とし実際に量子化 学の役に立てることが重要 • ベンゼン分子の厳密対角化は古典コンピュータではまず 不可能だが量子コンピュータではできるかもしれない。 • QMA-complete/NP-completeだが、最悪の場合も考慮す ると、なのでとりあえず置いておく。
  48. 48. 量子化学への応用 • Simulated Quantum Computation of Molecular Energies, A. Asupuru-Guzik et al., (Science 2005) • 手法: qubitを分子の波動関数とみなす • Qubit数=分子軌道の数x2 + レジスタ部分(定数10-20?) 電子数には依存しない これで fullCIの空間を扱える!! • 鍵となるアルゴリズム 量子位相推定& 量子フーリエ変換 この2つはかなり似ている
  49. 49. 鍵となるアルゴリズムと仮定 • 量子フーリエ変換 – 位相の読み出し • 量子位相推定 – QubitにfullCI波動関数をいれる。 – 波動関数をユニタリ変換して位相に系のエネルギー固有値を入れる • 任意のユニタリ行列を作る – Hartree-Fockから、CI波動関数を作る。 • 仮定: c0が十分大きいこと が十分大きいことが必要 – 平均場近似と重なりが大きいから位相推定が可能 – エネルギーギャップがある=固有値が分離していて密集してない。
  50. 50. 量子フーリエ変換 フーリエ変換の定義 これはqubitにすると Fourier変換は、あるベクトルに対してユニタリ変換することと等しい ちょっと変形必要
  51. 51. 量子フーリエ変換 • 2進数表記を考える。x_nはxの2進数表記の小数点以下n桁目とする。 • するとQFTは となる。Expの上に桁が一つずつ乗るという感じ
  52. 52. 3qubitでの例
  53. 53. 3qubitでの例
  54. 54. 量子フーリエ変換 • 離散フーリエ変換を量子的に行った • オーダーはQFTがO((log n)2)なので、 – FFT(n log n)より高速。
  55. 55. 量子位相推定 Unitary行列の固有値を求めたい! 近似的にφを求めるアルゴリズムを考える。2進数表記で について0 or 1で求めてゆく。 固有ベクトルはすでに求まっているとする さて、 から、 と、位相を計算し、それを 状態ベクトルに一桁ずつ埋め込む、ということをしてみる。 これはどうやってやるべきか?
  56. 56. 量子位相推定 • 量子フーリエ変換を思い出すと • 状態ベクトルをその基底での成分に分解できる。ということは逆 はどうか? 係数を状態ベクトルに埋め込める。N=2nだから • jはn bitの2進数なので、各ビットをjlとして、 を に変えてやれば、 結局I-QFTをかければ、|φ>が得られる。尚exp(2πikφ)|ψ>=Uk|ψ>
  57. 57. 量子位相推定 1. まずすべてのqubitが等しく重ね合わせされている状態を作る 2. 上の変換はアダマールゲートをn回通せば良い 3. 次に に対応した を掛ける。 4. まとめると
  58. 58. 量子位相推定
  59. 59. 量子化学に適用 • Unitary行列はTrotter-鈴木分解で代用する • 用意された波動関数は、厳密解に十分近い exp (iHt) を|ΦHF>にかけて位相を読み取る
  60. 60. 鍵となるアルゴリズムと仮定 • 量子フーリエ変換 – 位相の読み出し • 量子位相推定 – QubitにfullCI波動関数をいれる。 – 波動関数をユニタリ変換して位相に系のエネルギー固有値を入れる • ゲートで任意のユニタリ行列を作れること – Hartree-Fockから、CI波動関数を作る。 • 仮定: c0が十分大きいこと が十分大きいことが必要 – 平均場近似と重なりが大きいから位相推定が可能 – エネルギーギャップがある=固有値が分離していて密集してない。
  61. 61. 計算方法 • |R>を4 qubitとして、V0を作用させると1/16の精度で位相 が 求まる。
  62. 62. 計算方法 • 次はV1を作用させる • 更に次は • と、位相を少しずつrefineしてゆく。 • 水分子での位相の 計算の様子
  63. 63. 議論 • 実効的なpolynomialなアルゴリズム • 欲しい解はHartree-Fock状態に十分近くないといけ ない。 – 十分近いと位相推定が効率よく行える – 解離極限、電子相関が強い系は上手くゆかないかもしれ ない。 • ゲートの数が多くなりすぎる。 – H2分子/STO-3G (2軌道2電子)、最小規模、ゲート操作無 誤差で1000ゲートの規模の適用が必要。 – H2O分子程度でも数百万ゲート? – ベンゼンだと? – ただし、ゲートの数は軌道の数の4乗でスケール
  64. 64. 量子コンピュータでの波動関数の反対称化 Jordan-Wigner変換とBravyi-Kitaev変換 “The Bravyi-Kitaev transformation for quantum computation of electronic structure” Jacob T. Seeley, Martin J. Richard, Peter J. Love [arXiv:1208.5986v1]のご紹介
  65. 65. 電子の波動関数とqubitの違い 電子はすべて同じ粒子で原理的に区別がつかない。 実際波動関数の座標を入れ替えると符号が出る (fermi粒子) 一方、qubitは一つ一つ区別が明確につく。 David P. DiVincenzo arXiv:quant-ph/0002077v3 1. A scalable physical system with well characterized qubits したがって 量子コンピュータのqubitで電子波動関数をシミュレートする 際は、反対称化を考えなければならない
  66. 66. Qubitの対称化 ナイーブに考えるとqubitの対称化は、波動関数をn qubitsで表すとして、n! 足し算と引き算がかかる(行列 式と同じ考え方)。Aを反対称化演算子とする。3 電子 系の場合、3! = 6 回操作する必要性あり AΨ(x1,x2,x3) = 1/√6 ( Ψ(x1,x2,x3) - Ψ(x2,x1,x3) - Ψ(x1,x3,x2) + Ψ(x2,x3,x1) + Ψ(x3,x1,x2) -Ψ(x3,x2,x1) )
  67. 67. 粒子の統計性は実装できるか? そこで湧き上がる疑問 粒子の統計性は実装できるか? – 少し考えたらわかるが、できる。 • 古典コンピュータでもboson/fermionは扱える。 • 古典コンピュータでも量子コンピュータでもTuring machineとしては同じ問題が解 けるのみである。 – Qubitを直接反対称化するとO(n!)計算が必要。 – 演算子を作用させるときに粒子数を数えさせて、explictに計算すると、 計算量がO(n)に減る。 • Jordan-Wigner変換 – もう少し頑張るとO(log n)に減る。 • Bravyi-Kitaev変換
  68. 68. Fermionの第二量子化について(Jordan-Wigner) • Occupation number vectorを考える。これは線形空間をなす (ni=0 or 1) ベクトルは単に0,1を記録してる&n bit目が明確にわかる qubitと同じ • このベクトルに作用する反交換関係を満たす生成・消滅演算子を定義す る これらから、 1. 軌道に2つ同じ粒子は入らない 2. 粒子数演算子の固有値は0 or 1 (辻褄が合っている) 3. が出てくる
  69. 69. Fermionの第二量子化について 電子の詰め方を以下のようにすると 最終的に必要な表式は これらを使ってHamiltonianを書き下せる Jordan-Wignerの方法
  70. 70. Jordan-Wignerの実装 occpation number vectorをqubitと同一視する 1 qubitに作用する演算子 は、量子回路 として実装できる。 フェルミ粒子の生成・消滅演算子はこれらから、量子回路として実装できる 基本的なところはこれでok
  71. 71. Jordan-Wignerの実装 もう少しコンパクトな表記を用いる。 この がparity operatorで、i番目まで電子が奇数個あれば-1, 偶数ならば1 となる量子回路である。 だからbitが立っていれば = 占有数ベクトルに電子が存在 するならば -1 しなければ 1 となる。これをi番目まで積をとると、i番目の軌道 までに電子が奇数個(-1)か偶数個(+1)入っているかがわかる。 を確かめるのも簡単。 が、このparity operatorのために、O(n)の計算が必要となる!
  72. 72. 基底を変えたらどうなる?: parity basis i番目までの軌道に何個電子が入っているか、を調べるのにO(n)の手間がかかるの であれば、最初からparityを入れた基底を使えばどうか。 以下の基底変換を行う (演算は2で割った余りを考える) 例: を変換してみる。 値について 説明する こと
  73. 73. parity basis • Parity basisとoccupation number vector は一対一対応するつ まり、変換は単に基底の入れ替えをしただけ。 – Parity basisは完全規格直交系だとは容易にわかる • これで、j-番目のqubitに を作用させると、パリティが出る。 • しかしながら、occupationは陽に持ってない。 に相当するj 番目のqubitに作用する演算子は、 となる。j番目の軌道に電子を入れるとすると、j-1までのparityが 0ならば1、j-1のparityが1ならば-1がかかる。
  74. 74. parity basis • わかりにくいので具体例 を考えてみる j−1番目の軌道までに 偶数個電子がある から占有数ベクトルと 同じ考えでok j−1番目の軌道までに 奇数個電子があるから j番目に生成演算子を 作用させるなら 符号を出す必要がある。 偶数個? 奇数個? j-1番目までの軌道に奇数個電子 j番目までの軌道に偶数個 -> j番目は占有 ->さらにj番目の軌道に生成演算子を掛ける = 0
  75. 75. Parity basisと生成消滅演算子 結局、生成・消滅演算子はparity basisでは となる。Xはupdate operatorとよぶ 粒子を入れるとそれ以後の電子のparityが全部 変わるのでそれはupdateしてやらねばならない 結局O(n)かかる。簡単になってない。
  76. 76. Bravyi-Kitaev basis • 本題 – Jordan-Wignerではoccupation vectorで張るので、 occupationの変更はO(1)だが交換関係がO(n)= 生成 消滅演算子一つ波動関数に掛ける、あたりO(n)程度 のコスト – Parity basisでは交換関係はO(1)だがoccupationは O(n) = 生成消滅演算子一つあたりO(n) – この中間を目指したBravyi-Kitaev basisでは、生成・消 滅演算子を一つ波動関数に掛けるときのコストが O(log n)程度になっている。 – 方法論はわかったが、理論はよく理解してない…
  77. 77. Bravyi-Kitaev basisの基本戦略 • WavefunctionはBravyi-Kitaev basisで持つ • Occupationの変更はO(1)で行えるJordan- Wigner basisに線形変換して行う • 交換関係での符号処理はO(1)で行えるparity basisに線形して行う • この変換の手間がO(log n) – 普通に変換するとO(n)
  78. 78. Bravyi-Kitaev変換 • Occupation number vectorからの変換行列βは2nx2n行列
  79. 79. 変換行列 • Bravyi-Kitaev基底からoccupation number vectorへの変換 • Bravyi-Kitaev基底からparity basisへの変換 n=8での例
  80. 80. 変換行列とindex • 必要な行列の要素はすべて0 or 1、従って非ゼロ要素をリストアップする とよい。
  81. 81. 生成・消滅演算子 をBravyi-Kitaev基底で表す jが偶数ならば jが奇数ならば
  82. 82. 生成・消滅演算子 をBravyi-Kitaev基底で表す まとめると 原理的なことは終わり。あとは実装
  83. 83. Hamiltonianの表式を Bravyi-Kitaev基底で表す 具体的には、Hamiltonianに 先程の ffffffffffffffffffffffffffffffffffffffffffffff を代入すればよい 基底はnumber operatorを対角化するものを用いOperatorを分類する
  84. 84. Hamiltonianの表式を Bravyi-Kitaev基底で表す Number operator は変形すると Coulomb & exchangeは 以下の様になる
  85. 85. Hamiltonianの表式を Bravyi-Kitaev基底で表す はかなり複雑な表式となる。2体になると手でやるのはしんどい
  86. 86. Hamiltonianの表式を Bravyi-Kitaev基底で表す 先程のテーブル+第二量子化の生成・消滅演算子の交換則を使えば、簡単 に(複雑になるが)2体の演算子もBravyi-Kitaev基底で表した生成・消滅演算 子の積で書ける… の積の形である…
  87. 87. 水素分子を解く • H2/STO-3Gでの積分を計算すると以下のテーブルのように なっている
  88. 88. 水素分子のHamiltonianの表式を Bravyi-Kitaev基底で表す • 1体部分
  89. 89. 水素分子のHamiltonianの表式を Bravyi-Kitaev基底で表す • 2体部分 最初の6項
  90. 90. 水素分子のHamiltonianの表式を Bravyi-Kitaev基底で表す 残りの4項
  91. 91. 水素分子のHamiltonianの表式を Bravyi-Kitaev基底で表す 最終的には という形のハミルトニアンが得られる。
  92. 92. Bravyi-Kitaev / Jordan Wignerと比較
  93. 93. Hamiltonianの可換分解 • Suzuki-Trotter分解して解くため、Hamiltonianはお互い可換な部分に分け るのが良い
  94. 94. Hamiltonianの可換分解 • Jordan-Wignerでもやっておく
  95. 95. 量子コンピュータへの実装 • Pauli-Zの回路 • Pauli-X(-Y)の回路 • これらとSuzuki-Trotter分解で位相推定を行う
  96. 96. 量子コンピュータへの実装 • Pauli-Zの回路 • Pauli-X(-Y)の回路 • これらとSuzuki-Trotter分解で位相推定を行う
  97. 97. 量子コンピュータへの実装 • ゲートの数は82-> 74と減っている
  98. 98. 量子コンピュータシミュレータでの結果 Phase estimationを行う 十分近い基底状態|ψ>を持ってきてexp –iHtを行う。 Trotter分解 の次数による 収束の様子
  99. 99. 量子コンピュータシミュレータでの結果 • BK、JWでの回路数の比較 328 -> 222へと改善した
  100. 100. 量子コンピュータに必要なHamiltonianの生成 OpenFermionでBravyi-Kitaev Hamiltonian を生成し てみた 文献値 計算値 ほぼ一致!! (定数の違いは核間反発 エネルギーが入っているか いないか。論文のは入っておらず 入れるべきではある)
  101. 101. まとめ • “The Bravyi-Kitaev transformation for quantum computation of electronic structure”Jacob T. Seeley, Martin J. Richard, Peter J. Love [arXiv:1208.5986v1] • 量子化学の問題を量子コンピュータで、より効率よく解ける 方法の説明と実装、数値実験を行った。 – qubitは粒子の統計性が入ってないので、fermi粒子の多体問題を解 くには反対称化しなければならない。 • NaïveにやるとO(n)程度コストがかかる (n:電子数) – Bravyi-Kitaev基底を用いると反対称化の手続きがO(log n)に減らされる。 • Jordan-Wignerの方法(普通の第二量子化)よりゲートの数が少なくできる • H2/STO-3G という最も簡単な系では、328-> 222回路数となった。 • 若干速い収束 • 他にも変換方法はある(Bravyi-Kitaev Super fast変換等)。
  102. 102. 量子化学を量子コンピュータで行う Variational Eigenvsolver編
  103. 103. Yet another Quantum solver • もう一つの量子コンピュータ – ゲート式ではない – 測定を主眼にした方法 • ゲートの数が多くなりすぎる点を解消 • 量子計算の誤差の影響を比較的受けにくい • 古典計算機でやりにくかった変分法を行うの が主眼
  104. 104. 量子化学における変分法 巨大なHamiltonianの対角化が主眼 固有値が一番低いものとその固有関数が欲しい。 言い換えると基底状態のエネルギーEgとその波動関数Ψgが欲しい ここで 任意の規格化された波動関数Ψについて が成立する。以下を変分法という
  105. 105. 変分法の特徴 • N電子の空間は広すぎて扱えない。 – 20電子20軌道で340億程度 • コンピュータで扱えるなるべく広い空間を探索したい。 – Hartree-Fock空間 : 最も狭い – 打ち切りCI空間 : 昔はよく使ったが致命的な弱点もあり – DMRG : Matrix Product Stateを扱う。 • どんな場合も近似解Eは真の解の上界となる。
  106. 106. 変分関数の例 Hartree-Fock関数 完全CI関数 打ち切ったCI関数 これらは線形な展開だが、非線形な展開もある 励起演算子T(n)を用いた coupled-cluster展開
  107. 107. 励起演算子:クラスター展開 • 励起演算子をTを定義する – T(1)は1電子励起演算子:参照波動関数と比較して2つ配 置が違う波動関数の重ねなわせ(ti jはスカラーパラメータ) – T(2)は2電子励起演算子:参照波動関数と比較して4つ配置 が違う波動関数の重ねなわせ(ti jはスカラーパラメータ) – これを続けてn電子励起演算子まで定義
  108. 108. 波動関数のクラスター展開 励起演算子をとして そのexp(T)をクラスター展開と呼ぶ 指数部分を展開しておく この展開でもどんな波動関数を表すことが可能。ただし非線形 な展開となる。
  109. 109. クラスター展開と線形展開の比較 • 普通のCI展開も励起演算子を使って表せる。比較しよう
  110. 110. Cluster展開の物理的解釈 • Thouless theorem – 1電子励起のみを考えるとHartree-Fockを改善しない • 2電子励起 – 2電子励起は「2電子が衝突する」ものと「1電子が励起す る」の2つの事象の和 T1はそもそも小さいと考えられる ため、C2 ≒T2 (CC2近似) • 4電子励起 – 「3,4電子が衝突する」過程は非常に少ない。とす ると、C4 ≒ T2^2 /2!
  111. 111. CCSD (coulped cluster single and doubles) としたとき を考える。この波動関数展開をCCSD展開と呼ぶ。 CCSDは2電子励起までを考慮にいれるにもかかわらず、非常に良 い近似となる。 - C_nまで、T1, T2の積という形で考慮可能。 古典コンピュータでは、 をT1 / T2 空間へ射影し、(未知数と方程式数の数合わせをし) 非変 分的に解く。
  112. 112. 非線形展開の問題点と解き方 非線形展開波動関数を(古典コンピュータで)変 分的に最小化解しようとすると線形の場合と同 じ次元になってしまう。 qubitでは、次元を考えずに展開できる可能性 古典コンピュータでは非変分的な定式化をする ex. CCSDなどは、1,2励起状態のみ含む部分空間への射影 を行う それにより精度が落ちたり、unphysicalな結果が得られることがある。
  113. 113. Variational Eigen Solver Nature Communications, 5:4213, (2014) 0. 波動関数の非線形に変分展開する たとえばunitary coupled cluster このパラメータは古典的に持っておき、その波動関数を 初期状態として作れるようにする。θの最適化問題を解く 1. あるθについて を作る(on 量子コンピュータ 2. エネルギーを測定する(on 量子コンピュータ 3. エネルギーを最適化するような次のθを作る(ここは 多変数関数の最適化を古典コンピュータで行う) 4. 繰り返す
  114. 114. Variational Eigen Solverはどこが面白いのか?? 1. 波動関数の変分的非線形展開が可能 qubitたちが線形重ね合わせをしてくれるため。古典では実質 的に不可能。たとえばUnitary CCができた! O(n!) から O(poly(n))程度に落ちる 2. 全エネルギーの測定を効率的に実施 2-RDMを一要素ずつ測定して、最後に和を取れば良い。 O(n4)の手間! 3. デコヒーレンスに強い ゲート型では大量のゲートを正確に適用する必要性あり。
  115. 115. Variational Eigen solverで分子の Potential曲面を書いた例 [1704.05018] BeH2まで実際に計算した例
  116. 116. (VQE で使われているUnitary) Coupled Clusterについて TがエルミートだとUnitaryになる。ここでSchrodinger方程式に 代入して これを変分的に解く=最小化することを行う。 こうすると、非常に広い波動関数の空間の展開が必要になり、 一般に古典コンピュータでは行われない。しかし、qubitならば parameterが、T1/T2のみのSuzuki-Trotter演算子をかけてゆくだ けの、多項式程度のコストで波動関数全空間での展開が可能に なる。
  117. 117. 展望 • まだ始まったばかり • 多項式程度のリソースで量子化学の厳密対角化 (FullCI)が可能(になる場合多々) • ハードウェアの発展は不可欠 • アルゴリズムの改良は必須 • 波動関数は物理量ではない。できれば波動関数の展 開係数を見たい… 中田が生きている間に量子コンピュータが古典コン ピュータを超えられるかも!!

×