(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-26
(45)【発行日】2024-04-03
(54)【発明の名称】量子情報処理装置及び量子情報処理方法
(51)【国際特許分類】
G06N 10/00 20220101AFI20240327BHJP
G06F 17/14 20060101ALI20240327BHJP
【FI】
G06N10/00
G06F17/14 550
(21)【出願番号】P 2020031512
(22)【出願日】2020-02-27
【審査請求日】2023-02-21
【新規性喪失の例外の表示】特許法第30条第2項適用 ・令和1年5月27日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、第22回理論化学討論会にて、工位武治、杉崎研司、及び佐藤和信の発明した、量子コンピュータ上での波動関数のスピン量子数決定法の内容について報告を行った。 ・令和1年5月27日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、第22回理論化学討論会の講演要旨集(p.6)にて、工位武治、杉崎研司、及び佐藤和信の発明した、量子コンピュータ上での波動関数のスピン量子数決定法の内容について発表した。 ・令和1年6月16日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、第6回淡路国際ワークショップAWEST2019の講演要旨集(p.35)にて、工位武治、杉崎研司、及び佐藤和信の発明した、任意の波動関数のスピン量子数を量子コンピュータで決定する手法の内容について発表した。 ・令和1年6月17日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、第6回淡路国際ワークショップAWEST2019にて、工位武治、杉崎研司、及び佐藤和信の発明した、任意の波動関数のスピン量子数を量子コンピュータで決定する手法の内容について報告を行った。 ・令和1年7月4日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は学術誌:Physical Chemistry Chemical Physicsのウェブサイト(https://pubs.rsc.org/en/content/articlelanding/2019/cp/c9cp02546d#!divAbstract)にて、工位武治、杉崎研司、及び佐藤和信の発明した、任意の波動関数のスピン量子数を量子コンピュータで決定する手法の内容について論文発表を行った。 ・令和1年7月10日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、第1回国際量子情報科学ワークショップにて、スケーラブルな量子コンピュータ上で効率的な電子状態波動関数を求める量子化学計算法を述べる一環として、工位武治、杉崎研司、及び佐藤和信の発明した、スピン演算子による波動関数の時間発展量子シミュレーションの内容について報告を行った。
【新規性喪失の例外の表示】特許法第30条第2項適用 ・令和1年7月17日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は学術誌:Physical Chemistry Chemical Physics(2019,21(28),15356-15361)にて、工位武治、杉崎研司、及び佐藤和信の発明した、任意の波動関数のスピン量子数を量子コンピュータで決定する手法の内容について論文発表を行った。 ・令和1年9月20日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、第16回化学及び関連現象におけるスピン及び磁場効果に関する国際シンポジウムにて、スケーラブルな量子コンピュータ上で効率的な電子状態波動関数を求める量子化学計算法を述べる一環として、工位武治、杉崎研司、及び佐藤和信の発明した、スピン演算子による波動関数の時間発展量子シミュレーションの内容について報告を行った。 ・令和1年11月7日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、第58回電子スピンサイエンス学会年会の講演要旨集(p.270-271)にて、工位武治、杉崎研司、及び佐藤和信の発明した、スピン演算子による波動関数の時間発展量子シミュレーションの内容について発表した。 ・令和1年11月9日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、第58回電子スピンサイエンス学会年会にて、工位武治、杉崎研司、及び佐藤和信の発明した、スピン演算子による波動関数の時間発展量子シミュレーションの内容について報告を行った。 ・令和1年11月10日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、「開殻化合物及び分子スピンデバイス」に関する第13回日露国際ワークショップの講演要旨集(p.34)にて、工位武治、杉崎研司、及び佐藤和信の発明した、量子コンピュータで任意の波動関数のスピン量子数を決定するために必要な、スピン演算子を用いた量子シミュレーション手法に関する内容について発表した。
【新規性喪失の例外の表示】特許法第30条第2項適用 ・令和1年11月11日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、「開殻化合物及び分子スピンデバイス」に関する第13回日露国際ワークショップにて、工位武治、杉崎研司、及び佐藤和信の発明した、量子コンピュータで任意の波動関数のスピン量子数を決定するために必要な、スピン演算子を用いた量子シミュレーション手法に関する内容について報告を行った。 ・令和2年1月7日、工位武治、杉崎研司、佐藤和信、中澤重顕、豊田和男、及び塩見大輔は、量子情報処理に関する第23回年次カンファレンスにて、工位武治、杉崎研司、及び佐藤和信の発明した、任意の波動関数のスピン量子数を量子コンピュータ上で効率的に決定することができる新規量子アルゴリズム開発の内容について報告を行った。
(73)【特許権者】
【識別番号】519135633
【氏名又は名称】公立大学法人大阪
(74)【代理人】
【識別番号】100124039
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100179213
【氏名又は名称】山下 未知子
(74)【代理人】
【識別番号】100170542
【氏名又は名称】桝田 剛
(72)【発明者】
【氏名】工位 武治
(72)【発明者】
【氏名】杉▲崎▼ 研司
(72)【発明者】
【氏名】佐藤 和信
【審査官】児玉 崇晶
(56)【参考文献】
【文献】特開2018-022446(JP,A)
【文献】国際公開第2019/104440(WO,A1)
【文献】特表2021-504831(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/00
G06F 17/14
(57)【特許請求の範囲】
【請求項1】
複数の量子ビット、及び
量子演算ユニットを備える量子情報処理装置であって、
前記複数の量子ビットは、
推定用量子ビット、並びに
波動関数の各分子軌道におけるスピン状態の情報が保存された1つ以上の量子ビット対であって、各分子軌道においてスピン-α電子が分子軌道を占有しているか否かを示す第1量子ビット、及びスピン-β電子が分子軌道を占有しているか否を示す第2量子ビットによりそれぞれ構成される1つ以上の量子ビット対から構成される量子レジスタ、
を含み、
前記量子演算ユニットは、
前記推定用量子ビットにおいて、|0>及び|1>の重ね合わせ状態を生成するステップ、
前記量子ビット対に対して、前記第2量子ビットを制御ビットとして使用し、前記第1量子ビットを標的ビットとして使用して、制御NOT演算を行うことで、前記各分子軌道が単独の電子に占有されているか否かを前記第1量子ビットが示すように前記量子ビット対の表現形式を変換するステップと、
量子位相推定の制御ビットとして前記推定用量子ビットを使用し、量子位相推定の標的ビットとして変換された前記量子ビット対を使用して、スピン二乗演算子の条件下で、前記波動関数の時間発展のシミュレーションを行うステップ、及び
前記推定用量子ビットに対して、前記時間発展のシミュレーションの結果を周波数表現の形式に変換する操作を行うステップ、
を実行するように構成される、
量子情報処理装置。
【請求項2】
前記量子演算ユニットは、前記シミュレーションを行うステップの後、前記周波数表現の形式に変換する操作を行うステップの前に、推定用量子ビットに対して、特定のスピン量子数に対応する波動関数の時間発展をキャンセルする操作を行うステップを更に実行するように構成される、
請求項1に記載の量子情報処理装置。
【請求項3】
複数の量子ビット、及び量子演算ユニットを備える量子情報処理装置による量子情報処理方法であって、
前記複数の量子ビットは、
推定用量子ビット、並びに
波動関数の各分子軌道におけるスピン状態の情報が保存された1つ以上の量子ビット対であって、各分子軌道においてスピン-α電子が分子軌道を占有しているか否かを示す第1量子ビット、及びスピン-β電子が分子軌道を占有しているか否を示す第2量子ビットによりそれぞれ構成される1つ以上の量子ビット対から構成される量子レジスタ、
を含み、
前記量子情報処理方法は、
前記量子演算ユニットが、前記推定用量子ビットにおいて、|0>及び|1>の重ね合わせ状態を生成するステップ、
前記量子演算ユニットが、前記量子ビット対に対して、前記第2量子ビットを制御ビットとして使用し、前記第1量子ビットを標的ビットとして使用して、制御NOT演算を行うことで、前記各分子軌道が単独の電子に占有されているか否かを前記第1量子ビットが示すように前記量子ビット対の表現形式を変換するステップと、
前記量子演算ユニットが、量子位相推定の制御ビットとして前記推定用量子ビットを使用し、量子位相推定の標的ビットとして変換された前記量子ビット対を使用して、スピン二乗演算子の条件下で、前記波動関数の時間発展のシミュレーションを行うステップ、及び
前記量子演算ユニットが、前記推定用量子ビットに対して、前記時間発展のシミュレーションの結果を周波数表現の形式に変換する操作を行うステップ、
を備える、
量子情報処理方法。
【請求項4】
前記シミュレーションを行うステップの後、前記周波数表現の形式に変換する操作を行うステップの前に、前記量子演算ユニットが、推定用量子ビットに対して、特定のスピン量子数に対応する波動関数の時間発展をキャンセルする操作を行うステップを更に備える、
請求項3に記載の量子情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、量子情報処理装置及び量子情報処理方法の技術に関する。
【背景技術】
【0002】
原子及び分子、及びそれらの集合系の物理的・化学的諸性質を支配するシュレーディンガー方程式を厳密に解くことは化学及び物理分野における究極の目標である。シュレーディンガー方程式を厳密に解き、原子・分子などの微視的粒子の情報関数である電子的波動関数を求めることができれば、分子・電子構造、化学反応経路、物質の分光学的性質及び分子物性等を正確に予測することができる。しかしながら、一電子系等の特別な場合を除き、シュレーディンガー方程式の解析解を得ることは困難である。
【0003】
従来、シュレーディンガー方程式の最適解を得る手法として、FCI(Full Configuration Interaction)法が知られている。FCI法では、変分原理に基づいて、与えられた基底関数の張る空間内でシュレーディンガー方程式の最適解が与えられる。しかしながら、このFCI法の計算量は、分子の電子数及び波動関数の展開に用いる基底関数の数に指数関数的に依存する。このため、FCI法の計算は、現在でも窒素分子(N2)、CN分子等のような小さな分子についてしか報告されていない。
【0004】
1982年にFeynmanは、量子力学の法則により支配される物理系、物質系のシミュレーションを古典コンピュータ(古典力学・電磁気学で動作する現代のコンピュータ)で行うには系のサイズに対して指数関数的時間が必要であるが、量子コンピュータ(量子力学の法則を演算原理とするコンピュータ)を用いることにより効率的にシミュレーションを実行できると指摘した。2005年に、Aspuru-Guzikらは、量子コンピュータを用いることによって、FCI計算が効率的に行えるアルゴリズムを提案した(非特許文献1)。このアルゴリズムの高速化の起源は量子位相推定アルゴリズムにあり、古典コンピュータでは指数関数的時間がかかる計算を多項式時間内で行えることが理論的に示されている。
【0005】
また、2014年には、Peruzzoらは、量子コンピュータ上で波動関数の生成とエネルギーの期待値計算を行い、古典コンピュータ上で波動関数の変分計算を行うVQE(Variational Quantum Eigensolver)法を提案した(非特許文献2)。VQE法は、比較的に短い量子回路で実行可能であるため、NISQ(Noisy Intermediate-Scale Quantum)デバイスを用いた量子-古典ハイブリッド型計算モデルとして注目を集めている。
【先行技術文献】
【非特許文献】
【0006】
【文献】A. Aspuru-Guzik, A. D. Dutoi, P. Love, & M. Head-Gordon, "Simulated quantum computation of molecular energies", Science 309, 1704-1707, 2005.
【文献】A. Peruzzo, J. McClean, P. Shadbolt, M.-H. Yung, X.-Q. Zhou, P. J. Love, A. Aspuru-Guzik and J. L. O'Brien, "A variational eigenvalue solver on a photonic quantum processor", Nature. Communications, 5, 4213, 2014.
【発明の概要】
【発明が解決しようとする課題】
【0007】
本件発明者らは、量子化学計算に関する従来の量子アルゴリズムには、次のような問題点があることを見出した。すなわち、従来提案されている量子アルゴリズムを所望の分子系に適用するためには、より長いコヒーレンス時間及び正確な量子操作が可能な量子コンピューティングデバイスの開発だけでなく、量子アルゴリズム自体の改良が求められる。
【0008】
特に、従来提案されている量子化学計算の量子アルゴリズムの多くは、平均場近似であるHF(Hartree-Fock)波動関数を容易に導出可能であり、かつHF波動関数がシュレーディンガー方程式の解である真の波動関数と大きな重なりを持つことを前提としている。また、基底状態及び励起状態がエネルギー的に大きく離れている場合には効率的に演算可能であるが、励起状態が基底状態とエネルギー的に近接する擬縮退系では望んでいない電子状態に量子計算が収束したり、演算時間が非常に長くなったりする可能性がある。つまり、従来の量子化学計算の量子アルゴリズムでは、電子状態が簡単な分子系では効率的な計算が可能だが、擬縮退系のような電子構造が複雑な分子系での計算は依然として困難である。
【0009】
加えて、量子コンピュータ上で分子エネルギーを計算する方法論は数多く提案されているが、エネルギー以外の物理量を計算する方法は殆ど提案されていない。エネルギー以外の物理量のうち、系の電子状態を記述する分子波動関数のスピン量子数を特定することは、量子化学の研究にとって重要な課題の一つである。任意の波動関数のスピン量子数を特定することができれば、例えば、上記量子アルゴリズムにおいて、波動関数を導出する演算を実行した際に、所望でない電子状態に量子計算が収束したか否かを確認することができる。また、例えば、開殻分子は、スピン多重度が異なる多くの低エネルギーの電子状態を有し、それらの電子基底状態のスピン固有の特性評価は、量子化学における最も基本的な問題の一つである。任意の波動関数のスピン量子数を特定することができれば、系の状態に関してこのスピン固有の特性評価を行うことができる。
【0010】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、任意の波動関数のスピン量子数を正確に特定するための技術を提供することである。
【課題を解決するための手段】
【0011】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【0012】
すなわち、本発明の一側面に係る量子情報処理装置は、複数の量子ビット、及び量子演算ユニットを備える。前記複数の量子ビットは、推定用量子ビット、並びに波動関数の各分子軌道におけるスピン状態の情報が保存された1つ以上の量子ビット対であって、各分子軌道においてスピン-α電子が分子軌道を占有しているか否かを示す第1量子ビット、及びスピン-β電子が分子軌道を占有しているか否かを示す第2量子ビットによりそれぞれ構成される1つ以上の量子ビット対から構成される量子レジスタを含む。前記量子演算ユニットは、前記推定用量子ビットにおいて、|0>及び|1>の重ね合わせ状態を生成するステップ、前記量子ビット対に対して、前記第2量子ビットを制御ビットとして使用し、前記第1量子ビットを標的ビットとして使用して、制御NOT演算を行うことによって、前記各分子軌道が単独の電子に占有されているか否かを前記第1量子ビットが示すように前記量子ビット対の表現形式を変換するステップと、量子位相推定の制御ビットとして前記推定用量子ビットを使用し、量子位相推定の標的ビットとして変換された前記量子ビット対を使用して、スピン二乗演算子S2の条件下で、前記波動関数の時間発展のシミュレーションを行うステップ、及び前記推定用量子ビットに対して、前記時間発展のシミュレーションの結果を周波数表現の形式に変換する操作を行うステップ、を実行するように構成される。
【0013】
当該構成では、|0>及び|1>の重ね合わせ状態の推定用量子ビットを制御ビットとして使用して、スピン二乗演算子のもとで、波動関数の時間発展のシミュレーションを行うことによって、時間発展の前後で生じる位相差を推定用量子ビットから得ることができる。波動関数にスピン二乗演算子S2を作用させると、固有値としてS(S+1)(Sは、スピン量子数)を得ることができる。つまり、スピン二乗演算子のもとで、波動関数の時間発展を行うと、S(S+1)に対応した位相シフトが生じる。よって、推定用量子ビットを測定することで、S(S+1)に応じた位相差を得ることができ、この位相差から波動関数のスピン量子数を特定することができる。加えて、当該構成では、後述するとおり、量子ビット対の表現形式を変更することで、量子ビットに作用させる量子ゲートの数を低減することができる。したがって、当該構成によれば、任意の波動関数のスピン量子数を正確に特定することができる。
【0014】
上記一側面に係る量子情報処理装置において、前記量子演算ユニットは、前記シミュレーションを行うステップの後、前記周波数表現の形式に変換する操作を行うステップの前に、推定用量子ビットに対して、特定のスピン量子数に対応する波動関数の時間発展をキャンセルする操作を行うステップを更に実行するように構成されてよい。当該構成によれば、特定のスピン状態に対して、時間発展のシミュレーションによる位相差が生じないようにすることができる。すなわち、どのような長さで時間発展を行っても、推定用量子ビットから得られる値が0である場合には、与えられた波動関数は特定のスピン状態にあると推定することができる。したがって、当該構成によれば、特定のスピン状態の推定を容易にすることができる。
【0015】
なお、上記各形態に係る量子情報処理装置の別の形態として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記録したコンピュータ、その他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、量子情報処理装置は、量子コンピュータにより構成されてもよいし、或いは、量子コンピュータの処理をシミュレーションする古典コンピュータにより構成されてもよい。
【0016】
例えば、本発明の一側面に係る情報処理方法は、複数の量子ビット、及び量子演算ユニットを備える量子情報処理装置による量子情報処理方法である。前記複数の量子ビットは、推定用量子ビット、並びに波動関数の各分子軌道におけるスピン状態の情報が保存された1つ以上の量子ビット対であって、各分子軌道においてスピン-α電子が分子軌道を占有しているか否かを示す第1量子ビット、及びスピン-β電子が分子軌道を占有しているか否かを示す第2量子ビットによりそれぞれ構成される1つ以上の量子ビット対から構成される量子レジスタ、を含む。前記量子情報処理方法は、前記量子演算ユニットが、前記推定用量子ビットにおいて、|0>及び|1>の重ね合わせ状態を生成するステップ、前記量子演算ユニットが、前記量子ビット対に対して、前記第2量子ビットを制御ビットとして使用し、前記第1量子ビットを標的ビットとして使用して、制御NOT演算を行うことで、前記各分子軌道が単独の電子に占有されているか否かを前記第1量子ビットが示すように前記量子ビット対の表現形式を変換するステップと、前記量子演算ユニットが、量子位相推定の制御ビットとして前記推定用量子ビットを使用し、量子位相推定の標的ビットとして変換された前記量子ビット対を使用して、スピン二乗演算子の条件下で、前記波動関数の時間発展のシミュレーションを行うステップ、及び前記量子演算ユニットが、前記推定用量子ビットに対して、前記時間発展のシミュレーションの結果を周波数表現の形式に変換する操作を行うステップ、を備える。当該一側面に係る量子情報処理方法は、前記シミュレーションを行うステップの後、前記周波数表現の形式に変換する操作を行うステップの前に、前記量子演算ユニットが、推定用量子ビットに対して、特定のスピン量子数に対応する波動関数の時間発展をキャンセルする操作を行うステップを更に備えてもよい。
【0017】
また、例えば、本発明の一側面に係るプログラムは、複数の量子ビット、及び量子演算ユニットを備える量子情報処理装置により実行される量子情報処理プログラムである。前記複数の量子ビットは、推定用量子ビット、並びに波動関数の各分子軌道におけるスピン状態の情報が保存された1つ以上の量子ビット対であって、各分子軌道においてスピン-α電子が分子軌道を占有しているか否かを示す第1量子ビット、及びスピン-β電子が分子軌道を占有しているか否かを示す第2量子ビットによりそれぞれ構成される1つ以上の量子ビット対から構成される量子レジスタ、を含む。前記量子情報処理プログラムは、前記量子演算ユニットが、前記推定用量子ビットにおいて、|0>及び|1>の重ね合わせ状態を生成するステップ、前記量子演算ユニットが、前記量子ビット対に対して、前記第2量子ビットを制御ビットとして使用し、前記第1量子ビットを標的ビットとして使用して、制御NOT演算を行うことで、前記各分子軌道が単独の電子に占有されているか否かを前記第1量子ビットが示すように前記量子ビット対の表現形式を変換するステップと、前記量子演算ユニットが、量子位相推定の制御ビットとして前記推定用量子ビットを使用し、量子位相推定の標的ビットとして変換された前記量子ビット対を使用して、スピン二乗演算子の条件下で、前記波動関数の時間発展のシミュレーションを行うステップ、及び前記量子演算ユニットが、前記推定用量子ビットに対して、前記時間発展のシミュレーションの結果を周波数表現の形式に変換する操作を行うステップ、を量子情報処理装置に実行させるための量子情報処理プログラムである。当該一側面に係る量子情報処理プログラムは、前記シミュレーションを行うステップの後、前記周波数表現の形式に変換する操作を行うステップの前に、前記量子演算ユニットが、推定用量子ビットに対して、特定のスピン量子数に対応する波動関数の時間発展をキャンセルする操作を行うステップを量子情報処理装置に更に実行させてもよい。
【発明の効果】
【0018】
本発明によれば、任意の波動関数のスピン量子数を正確に特定することができる。
【図面の簡単な説明】
【0019】
【
図1】
図1は、従来の直接マッピング法及び本実施形態に係る一般化スピン座標マッピング法によるスピン状態の表現の一例を示す。
【
図2】
図2は、本実施形態に係る量子コンピュータ(量子情報処理装置)の一例を示す。
【
図3】
図3は、本実施形態に係る量子位相推定を実行するための量子論理回路の一例を示す。
【
図4A】
図4Aは、本実施形態に係る量子論理回路による量子位相推定の処理手順の一例を示す。
【
図4B】
図4Bは、本実施形態に係る量子論理回路による量子位相推定の処理手順の一例を示す。
【
図5】
図5は、2つの分子軌道を有する系に対して、本実施形態に係る量子位相推定を実行するための量子論理回路の一例を示す。
【
図6】
図6は、各量子ゲートを説明するための図である。
【
図7】
図7は、2スピン系に対するシミュレーション結果を示す。
【
図8】
図8は、3スピン系に対するシミュレーション結果を示す。
【
図9】
図9は、3スピン系に対するシミュレーション結果を示す。
【発明を実施するための形態】
【0020】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な擬似言語、コマンド、パラメータ、マシン語等で指定される。
【0021】
[量子位相推定]
まず、量子位相推定について説明する。量子位相推定とは、波動関数の時間発展をシミュレーションすることにより、ユニタリー演算子Uの固有値を位相差φ(0≦φ<1)として読み出す手法である。上記非特許文献1では、量子位相推定を使用して、エネルギー固有値を算出する手法が提案されている。具体的には、量子位相推定によりFCI計算を行うには、U=exp(-iHt)として、以下の式1に示すような演算を行う。
【0022】
【数1】
ここで、Hは系のハミルトニアン、Ψは波動関数、Eはエネルギー固有値である。φは、時間発展のシミュレーションにより算出される位相差である。すなわち、波動関数にハミルトニアンを作用させることでエネルギー固有値を算出することができる。Ψがハミルトニアンの固有関数となる、真の波動関数であれば量子位相推定は決定論的に行えるが、一般に先験的に真の波動関数を準備することは困難であるので、必然的に試行波動関数を用いて量子位相推定を行うことになる。この場合、量子位相推定は確率論的になり、その成功確率は試行波動関数と真の波動関数の重なりの二乗に比例する。
【0023】
本実施形態では、以下の式2により、この波動関数の時間発展のシミュレーションによる量子位相推定をスピン二乗演算子の条件下で行うことにより、スピン量子数を算出する方法を提案する。スピン量子数は、分子内に存在する電子のスピン状態を表す内部量子数である。スピン二乗演算子S2は、S2=Sx
2+Sy
2+Sz
2で定義される演算子である。Sx,Sy,Szはそれぞれスピン演算子Sのx成分、y成分、z成分である。このスピン二乗演算子は、以下の式3及び式4により定義される。
【0024】
【数2】
【数3】
【数4】
ここで、Nは、分子軌道の数を示し、p及びqは、1~Nまでの任意の自然数である。S
Z(p)は、p番目の分子軌道をα-スピン電子のみが占有しているときには固有値として1/2を、β-スピン電子のみが占有しているときには固有値として-1/2を返す。S
+(p)は、p番目の分子軌道をβ-スピン電子のみが占有しているときにはp番目の分子軌道を占有する電子スピンのスピン状態をβ-スピンからα-スピンに変化させ、それ以外の電子占有パターンでは0を返す。S
-(p)は、p番目の分子軌道をα-スピン電子のみが占有しているときに、p番目の分子軌道を占有する電子のスピン状態をα-スピンからβ-スピンに変化させ、それ以外の電子占有パターンでは0を返す。
【0025】
量子位相推定において、式2の時間発展をシミュレーションするために、スピン二乗演算子は、第二量子化の形式で定義され、Jordan-Wigner変換(JWT)又は波動関数の他のマッピング方法を用いて変換される。具体的に、生成演算子(a†)及び消滅演算子(a)を用いて、式4の右辺のうちの第1項は、以下の式5のように変換され、第2項は、以下の式6のように変換される。
【0026】
【数5】
【数6】
つまり、各項は、それぞれ第二量子化の形式の数演算子n
p(n
p=a
†
pa
p)及び二電子励起演算子の積で表現される。この表現形式によれば、JWTを用いて、式2の時間発展をシミュレーションするための量子回路を構築することができる。
【0027】
[マッピング方法]
次に、
図1を用いて、波動関数の情報を量子ビットに保存するためのマッピング方法について説明する。
図1は、従来の直接マッピング法及び本実施形態で提案されるマッピング法によるスピン状態の表現の一例を示す。
【0028】
2005年に提案されたFCI計算では、
図1に示されるとおり、波動関数の各分子軌道におけるスピン状態の情報は、第1量子ビット及び第2量子ビットを含む量子ビット対に保存される。第1量子ビットは、各分子軌道においてスピン-α電子が分子軌道を占有しているか否かを示す。第2量子ビットは、各分子軌道においてスピン-β電子が分子軌道を占有しているか否かを示す。すなわち、直接マッピング法は、スピン軌道を電子が占有していれば量子ビットは|1>、電子が占有していなければ量子ビットは|0>とする方法であり、スピン軌道の占有数の有無を各量子ビットに一対一でマッピングする手法である。
【0029】
この直接マッピング法によれば、76個の1量子ビットゲート及び54個の2量子ビットゲートを用いることで、水素分子のような2つの分子軌道を有する系について、式2の時間発展をシミュレーションするための量子回路を構築することができる。上記シミュレーションの演算のうち、[S+(p)S-(q)+S-(p)S+(q)]の項に72個の1量子ビットゲート及び48個の2量子ビットゲートが用いられ、SZ(p)SZ(q)の項に4個の2量子ビットゲートが用いられ、S(p)2の項に4個の1量子ビットゲート及び2個の2量子ビットゲートが用いられる。
【0030】
各量子ビットゲートの演算精度が0.99であると仮定した場合、この直接マッピング法による量子回路の演算精度は、単純な系にも関わらず、0.27(=0.99130)程度となってしまう。そのため、スピン二乗演算子の条件下で波動関数の時間発展を行う演算の精度の向上を図るためには、量子回路を構築する量子ゲートの数を減らすように、新たなマッピング方法を導入することが望まれる。
【0031】
直接マッピング法において、量子ゲートの数が比較的に多くなった要因は、[S+(p)S-(q)+S-(p)S+(q)]の項が第二量子化の形式の二電子励起演算子により表現されることにある。すなわち、直接マッピング法では、各量子ビットに各軌道の電子占有数が保存される。そのため、一電子占有軌道の電子配置か否か(つまり、不対電子を有するか否か)を特定するためには、両方の量子ビットにアクセスすることになり、量子ゲートの数が多くなってしまう。
【0032】
そこで、
図1に示されるとおり、本実施形態では、量子ビット対のうちの第1量子ビットにより、各分子軌道が単独の電子に占有されているか否か(すなわち、一電子占有軌道の電子配置か否か)を示すマッピング法(一般化スピン座標マッピング法:Generalized Spin Coordinate Mapping(GSCM))を導入する。すなわち、一電子占有軌道の電子配置の場合、第1量子ビットの値は|1>であり、そうでない場合、第1量子ビットの値は|0>である。一般化スピン座標マッピング法では、第2量子ビットについては、直接マッピング法と同様に、スピン-β電子が分子軌道を占有しているか否かを示す表現形式を採用する。
【0033】
この一般化スピン座標マッピング法と直接マッピング法との間の変換は、量子ビット対に対して、第2量子ビットを制御ビットとして使用し、第1量子ビットを標的ビットとして使用して、制御NOT(CNOT)演算を行うことにより行うことができる。スピン二乗演算子の条件下で波動関数の時間発展をシミュレーションする際に、この一般化スピン座標マッピング法を用いるため、電子スピンの交換演算子Ppq及び不対電子の数演算子nspin
p(=|npα-npβ|)を用いて、以下の式7のとおりスピン二乗演算子を変換する。
【0034】
【数7】
n
pα及びn
pβはそれぞれ、p番目の分子軌道のαスピン軌道及びβスピン軌道それぞれに作用する数演算子である。P
pqは、以下の式8のとおり、p番目及びq番目の分子軌道の不対電子のスピン座標を交換する。
【数8】
【0035】
直接マッピング法では、nspin
pのシミュレーションは、2量子ビットの操作により行われる。一方、一般化スピン座標マッピング法によれば、nspin
pのシミュレーションは、1量子ビットの操作により行うことができる。そのため、本実施形態に係る一般化スピン座標マッピング法によれば、量子回路に用いる量子ゲートの数を大幅に削減することができる。
【0036】
[量子情報処理装置のハードウェア構成例]
次に、
図2を用いて、上記量子化学計算を行う量子情報処理装置について説明する。
図2は、本実施形態に係る量子コンピュータ1の構成の一例を示す。
図2に示されるとおり、本実施形態に係る量子コンピュータ1は、複数の物理量子ビット11及び量子誤り訂正回路12でそれぞれ構成された複数の論理量子ビット10と、各論理量子ビット10の各物理量子ビット11に対して量子演算を実行する量子演算ユニット13と、を備える。この量子コンピュータ1は、本発明の「量子情報処理装置」の一例である。
【0037】
量子コンピュータ1では、各演算は、量子力学の法則に支配される量子演算として実行される。論理量子ビット10を構成する各物理量子ビット11は、(1量子ビットあたりの)情報を保持する基本素子であり、|0>と|1>との任意の線形結合の状態を取り得る。各物理量子ビット11は、例えば、半導体量子ドット、分子内の核スピンや電子スピン、ダイアモンド内の窒素空孔(格子欠陥)、光学系量子回路、超電導量子回路、イオントラップ等により実現される。量子演算ユニット13は、物理量子ビット11に対して量子演算処理を実行可能なように、物理量子ビット11を実現する方法に応じて適宜構成される。
【0038】
量子的存在である各物理量子ビット11は、本質的に一定の量子誤り(量子性の減衰)を伴うため、実用的な情報伝達及び複雑な大規模量子計算に直接用いると、不備が生じる場合がある。これに対応するため、論理量子ビット10は、量子誤り訂正回路12を備える。この量子誤り訂正回路12は、複数の物理量子ビットを備え、各物理量子ビット11の量子誤りを訂正可能に適宜構成される。これにより、論理量子ビット10は、コヒーレンス時間を延ばしつつ、物理量子ビット11の数に応じた量子情報を保持することができる。
【0039】
なお、量子コンピュータ1の具体的なハードウェア構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換、及び追加が可能である。量子コンピュータ1のハードウェアの方式は、例えば、量子ゲート方式であってもよい。
【0040】
また、擬似アニーリング法(Simulated Annealing)等により上記量子演算をシミュレーション可能であれば、古典コンピュータによって、量子情報処理装置を構成してもよい。この場合、量子情報処理装置は、専用に設計された情報処理装置の他、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。
【0041】
[動作例]
次に、
図3、
図4A、及び
図4Bを用いて、上記量子コンピュータ1の動作例について説明する。
図3は、本実施形態に係る量子位相推定を実行するための量子論理回路の構成の一例を示す。
図4A及び
図4Bは、本実施形態に係る量子位相推定の処理手順の一例を示す。なお、以下で説明する処理手順は、一例に過ぎず、各ステップの処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0042】
まず、初期動作として、量子コンピュータ1は、各論理量子ビット10を初期化し、量子化学計算の演算に関する処理を開始する。本実施形態では、量子コンピュータ1は、この演算に、2N+3個の論理量子ビット10を使用する。各論理量子ビット10は、本発明の「量子ビット」の一例である。ただし、量子ビットの構成は、このような例に限定されなくてもよい。その他の一例として、物理量子ビット11が「量子ビット」として使用されてよい。
【0043】
2N+3個の論理量子ビット10は、推定用量子ビット20及び量子レジスタ21を含む。量子レジスタ21は、N個の量子ビット対により構成される。。量子レジスタ21を構成する量子ビット対の数(すなわち、分子軌道の数)Nは1つ以上であれば任意に選択されてよい。各量子ビット対には、波動関数の各分子軌道におけるスピン状態の情報が保存される。各量子ビット対は、第1量子ビット及び第2量子ビット(後述する
図5に一例を図示)を含む。初期状態において、第1量子ビットは、各分子軌道においてスピン-α電子が分子軌道を占有しているか否かを示す。第2量子ビットは、各分子軌道においてスピン-β電子が分子軌道を占有しているか否かを示す。すなわち、初期状態において、直接マッピング法が採用される。
【0044】
スピン量子数を導出する演算を開始する前に、FCI計算等の公知の方法により、量子レジスタ21に、任意に推定された波動関数の情報が直接マッピング法の形式で保存されてよい。この場合、本実施形態に係るスピン量子数を導出する演算は、推定された波動関数が所望のものか否かを確認するために行われてよい。或いは、量子レジスタ21には、既知の波動関数の情報が保存されてもよい。
【0045】
その他、2N+3個の論理量子ビット10は、2個の補助量子ビット(後述する
図5に図示)を含む。本実施形態では、説明の便宜上、1番目の論理量子ビット10を推定用量子ビット20に割り当て、量子レジスタ21の各量子ビット対の第1量子ビット(2i番目)及び第2量子ビット(2i+1番目)(iは1~Nの自然数)に2番目~2N+1番目の論理量子ビット10を割り当て、2N+2及び2N+3番目の論理量子ビット10を補助量子ビットに割り当てると仮定する。ただし、この仮定は、説明の便宜のためであり、各量子ビットの割り当ては任意に決定されてよい。
【0046】
ステップS101では、量子コンピュータ1は、量子演算ユニット13により、推定用量子ビット20において、|0>及び|1>の重ね合わせ状態を生成する操作を実行する。
図3に示されるとおり、この操作は、アダマールゲート(H
d(1):なお、括弧内は操作対象の量子ビットの番号を示す)31により実現される。
【0047】
次のステップS102~ステップS114では、量子コンピュータ1は、量子演算ユニット13により、量子レジスタ21を構成する量子ビット対の表現形式を変換する操作及びスピン二乗演算子の条件下で波動関数の時間発展のシミュレーションを行う。このシミュレーションの演算ゲート32は、量子位相推定の制御ビットとして推定用量子ビット20を使用し、表現形式の変換された量子レジスタ21に含まれる量子ビットを量子位相推定の標的ビットとして使用する。
【0048】
具体的に、ステップS102では、量子コンピュータ1は、変数pに1を設定する。ステップS103では、量子コンピュータ1は、量子演算ユニット13により、量子レジスタ21に含まれるp番目の量子ビット対に対して、第2量子ビットを制御ビットとして使用し、第1量子ビットを標的ビットとして使用して、制御NOT(CNOT)演算を行うことで、各分子軌道が単独の電子に占有されているか否かを第1量子ビットが占めるように量子ビット対の表現形式を変換する。この変換の操作は、CNOT(2p+1,2p)ゲートにより実現される。括弧内の各番号は、制御ビット及び標的ビットそれぞれの番号を示す。以下の他のゲートも同様である。ステップS104では、量子コンピュータ1は、量子演算ユニット13により、量子レジスタ21に含まれるp番目の量子ビット対について、スピン二乗演算子(式7)の第1項による波動関数の時間発展の演算を実行する。この演算の操作は、CZ-0.75θ(1,2p)ゲートにより実現される。θは、時間発展の長さtに応じて決定される(θ=t/π)。時間tは、例えば、ユーザ指定、コンピュータ指定等の任意の方法で与えられてよい。
【0049】
ステップS105では、量子コンピュータ1は、「p=N」が成立しているか否かを判定する。「p=N」が成立している場合、量子コンピュータ1は、次のステップS107に処理を進める。一方、「p=N」が成立していない場合、量子コンピュータ1は、次のステップS106においてpにp+1を設定し(すなわち、pを1だけインクリメントし)、ステップS103に処理を戻す。つまり、量子コンピュータ1は、pを1からNまで1ずつインクリメントしながら、ステップS103及びステップS104の処理を繰り返す。ステップS103の処理を繰り返すことで、直接マッピング法から一般化スピン座標マッピング法に量子レジスタ21に含まれるN個の量子ビット対の表現形式を変換する操作が達成される。また、ステップS104の処理を繰り返すことで、式7の第1項による波動関数の時間発展の全体演算が達成される。
【0050】
次に、ステップS107では、量子コンピュータ1は、pに2を設定する。ステップS108では、量子コンピュータ1は、qに1を設定する。ステップS109では、量子コンピュータ1は、量子演算ユニット13により、量子レジスタ21に含まれるp番目及びq番目の量子ビット対について、スピン二乗演算子(式7)の第2項の演算を実行する。この演算の操作は、CCZ0.5θ(1,2q,2p)ゲートにより実現される。括弧内の左2つの項が制御ビットの番号を示し、右1つの項が標的ビットの番号を示す。以下の他のゲートも同様である。
【0051】
ステップS110では、量子コンピュータ1は、量子演算ユニット13により、量子レジスタ21に含まれるp番目及びq番目の量子ビット対について、スピン二乗演算子(式7)の第3稿の演算を実行する。この演算の操作は、CCNOT(2q,2p,2N+2)ゲート、CZ-θ(1,2N+2)ゲート、CNOT(2q+1,2p+1)ゲート、CCNOT(2q+1,2N+2,2N+3)ゲート、CCXθ(1,2N+3,2p+1)ゲート、CCNOT(2q+1,2N+2,2N+3)、CNOT(2q+1,2p+1)ゲート、及びCCNOT(2q,2p,2N+2)により実現される。
【0052】
ステップS111では、量子コンピュータ1は、「q=p-1」が成立しているか否かを判定する。「q=p-1」が成立している場合、量子コンピュータ1は、次のステップS113に処理を進める。一方、「q=p-1」が成立していない場合、量子コンピュータ1は、次のステップS112においてqを1だけインクリメントし、ステップS109に処理を戻す。つまり、量子コンピュータ1は、qを1からp-1まで1ずつインクリメントしながら、ステップS109及びステップS110の処理を繰り返す。
【0053】
また、ステップS113では、量子コンピュータ1は、「p=N」が成立しているか否かを判定する。「p=N」が成立している場合、量子コンピュータ1は、次のステップS115に処理を進める。一方、「p=N」が成立していない場合、量子コンピュータ1は、次のステップS114においてpを1だけインクリメントし、ステップS108に処理を戻す。つまり、量子コンピュータ1は、pを1からNまで1ずつインクリメントしながら、ステップS108~ステップS112の処理を繰り返す。これにより、式7の第2項及び第3項による波動関数の時間発展の合計演算が達成される。なお、後述するとおり、ステップS110の演算の一部に、スピン量子数の特定に関連しないものが含まれる可能性がある。その演算の一部の処理は省略されてよい。
【0054】
次のステップS115~ステップS118では、量子コンピュータ1は、量子演算ユニット13により、量子レジスタ21を構成する量子ビット対の表現形式を元に戻す操作を行う。具体的に、ステップS115では、量子コンピュータ1は、pに1を設定する。ステップS116では、量子コンピュータ1は、量子演算ユニット13により、量子レジスタ21に含まれるp番目の量子ビット対に対して、第2量子ビットを制御ビットとして使用し、第1量子ビットを標的ビットとして使用して、制御NOT(CNOT)演算を行うことで、量子レジスタ21に含まれるp番目の量子ビット対の表現形式を変換する。この変換の操作は、ステップS103と同様に、CNOT(2p+1,2p)ゲートにより実現される。
【0055】
ステップS117では、量子コンピュータ1は、「p=N」が成立しているか否かを判定する。「p=N」が成立している場合、量子コンピュータ1は、次のステップS119に処理を進める。一方、「p=N」が成立していない場合、量子コンピュータ1は、次のステップS118においてpを1だけインクリメントし、ステップS116に処理を戻す。つまり、量子コンピュータ1は、pを1からNまで1ずつインクリメントしながら、ステップS116の処理を繰り返す。これにより、一般化スピン座標マッピング法から直接マッピング法に量子レジスタ21を構成するN個の量子ビット対の表現形式を元に戻す操作が達成される。なお、この操作は、スピン量子数の特定には関連しない。そのため、ステップS115~ステップS118の処理は省略されてもよい。
【0056】
ステップS119では、量子コンピュータ1は、量子演算ユニット13により、推定用量子ビット20に対して、特定のスピン量子数に対応する波動関数の時間発展をキャンセルする操作を行う。この操作は、Zη(1)ゲート33により実現される。ηは、特定のスピン量子数に対応する波動関数のスピン二乗演算子の条件下での時間発展をキャンセルするための回転角に対応するように設定する。具体的には、特定のスピン量子数をStargetとするとη=Starget(Starget+1)t/πと設定し、例えばスピン二重項(Starget=1/2)に対してはη=3t/4π、スピン三重項(Starget=1)に対しては2t/πとする。このステップS119の処理は、演算ゲート32のシミュレーションを行うステップの後、後述するステップS120の前の任意のタイミングで実行されてよい。なお、このステップS119はオプションであってよい。すなわち、ステップS119の処理は省略されてもよい。
【0057】
ステップS120では、量子コンピュータ1は、量子演算ユニット13により、推定用量子ビット20に対して、時間発展のシミュレーションの結果を時間表現の形式から周波数表現の形式に変換する操作を行う。この操作は、アダマールゲート(Hd(1))34により実現される。この演算は、1量子ビットに対する量子逆フーリエ変換に相当する。
【0058】
ステップS121では、量子コンピュータ1は、
図3の記号35に示されるとおり、推定用量子ビット20を測定する。ステップS101の処理により、推定用量子ビット20には、|0>及び|1>の重ね合わせ状態が生成される。この推定用量子ビット20が、演算ゲート32の制御ビットとして使用されることで、時間発展を行っていない場合のシミュレーション結果が|0>に保存され、時間発展を行った場合のシミュレーション結果が|1>に保存される。そして、ステップS120により、時間発展の前後で生じる位相差φに変換される。よって、ステップS121の測定により、スピン量子数S(S+1)に応じた位相差φの情報を取り出すことができ、取り出された位相差φの情報からスピン量子数Sを特定することができる。
【0059】
[演算ゲートの一例]
次に、
図5を用いて、演算ゲート32の一例について説明する。
図5は、最小基底関数を用いて水素分子の波動関数を展開するときのような2つの分子軌道を有する系について、式7の時間発展をシミュレーションするための量子回路の構成の一例を示す。この場合、量子コンピュータ1は、7つの論理量子ビット10を使用する。論理量子ビット10は、推定用量子ビット20、量子レジスタ21として2つの量子ビット対(211、215)、及び2つの補助量子ビット(231、232)を含む。各量子ビット対(211、215)において、量子ビット(212、216)が第1量子ビットであり、量子ビット(213、217)が第2量子ビットである。
【0060】
この量子回路では、ステップS103の変換を行うゲート、演算ゲート32、及びステップS116の変換を行うゲートは、部分320~324により構成される。部分320の各ゲートは、ステップS103の操作に対応する。部分321の各ゲートは、ステップS104の操作に対応する。部分322のゲートは、ステップS109の操作に対応する。部分323の各ゲートは、ステップS110の操作に対応する。部分324の各ゲートは、ステップS116の操作に対応する。部分323の最後から3つのゲートの操作及び部分324の操作は省略されてもよい。
【0061】
図6は、上記各量子ゲートを説明するための図である。アダマールゲート(H
d)は、操作対象の量子ビットの量子状態が|0>であるときは(|0>+|1>)/√2に、量子状態が|1>のときは(|0>-|1>)√2に、操作対象の量子ビットの量子状態を変換する。Z
θゲートは、操作対象の量子ビットの量子状態が|0>であるときは何もせず、量子状態が|1>であるときはexp(iπθ)|1>に、操作対象の量子ビットの量子状態を変換する。CZ
θゲートは、制御ビットが|0>であるときには何もせず、制御ビットが|1>であるときには標的ビットにZ
θゲートを作用させる。CCZ
θゲートは、CZ
θゲートの制御ビットを2つにしたものと同等である。すなわち、CCZ
θゲートは、2つの制御ビットが|11>のときのみ標的ビットにZ
θゲートを作用させ、それ以外のときは何もしない。
【0062】
CNOTゲートは、制御ビットが|0>であるときには何もせず、制御ビットが|1>であるときには、標的ビットの量子状態を|0>から|1>に又は|1>から|0>に入れ替える。Toffoli(CCNOT)ゲートは、CNOTゲートの制御ビットを2つにしたものと同等である。すなわち、Toffoli(CCNOT)ゲートは、2つの制御ビットが|11>のときのみ標的ビットの量子状態を入れ替え、それ以外のときは何もしない。CCXθゲートは、2つの制御ビットが|11>のときのみ標的ビットにXθゲートを作用させ、それ以外のときは何もしない。なお、CCXθゲートの行列表現内のcは、cos(πθ/2)であり、sは、sin(πθ/2)である。
【0063】
[数値計算例]
上記実施形態に係る時間発展のシミュレーションを行う演算プログラム(プログラミング言語はpython 3.6を使用し、OpenFermionライブラリおよびCirqライブラリを利用)を作成し、2スピン系及び3スピン系のスピン量子数を算出する演算を実験した。
【0064】
2スピン系については、スピン一重項及びスピン三重項それぞれの既知の波動関数を代入し、時間発展の長さtを0からπまでπ/180毎に変化させて、シミュレーションを実行した。ステップS119の処理は省略した。シミュレーションを実行した後、推定用量子ビット20の値を測定した。このシミュレーションを各時間tについて10,000回実行し、測定により1が得られた回数をカウントすることで、推定用量子ビットを測定したときに1である確率を統計的に算出した。
【0065】
図7は、2スピン系について、時間発展の長さtと測定された推定用量子ビット20の値との関係を示す。スピン一重項のスピン量子数は0である。そのため、時間発展の長さtをいずれの値にしても、スピン一重項の波動関数を代入した場合の測定結果は0となった。一方、スピン三重項の波動関数を代入した場合の測定結果は、時間発展の長さtをπ/2にしたときに最大値1となった。この実験結果から、上記実施形態によれば、2スピン系について、スピン量子数を適切に特定することができることが分かった。また、スピン一重項及び三重項を区別する場合には、時間発展の長さtをπ/2にすれば良いことが分かった。
【0066】
また、3スピン系については、スピン二重項及びスピン四重項それぞれの既知の波動関数を代入し、時間発展の長さtを0から2πまでπ/180毎に変化させて、シミュレーションを実行した。まず、最初の実験では、ステップS119の処理は省略した。シミュレーションを実行した後、推定用量子ビット20の値を測定した。このシミュレーションを各時間tについて10,000回実行し、測定により1が得られた回数をカウントすることで、推定用量子ビットを測定したときに1である確率を統計的に算出した。
【0067】
図8は、3スピン系について、時間発展の長さtと測定された推定用量子ビット20の値との関係を示す。
図8に示される実験結果から、上記実施形態によれば、3スピン系について、スピン量子数を適切に特定することができることが分かった。ただし、スピン二重項及びスピン四重項はそれぞれ、時間発展の長さtが同じときに最小値0及び最大値1をとった。そのため、スピン二重項の波動関数の時間発展をキャンセルするため、ηの値を3t/4πに設定した上で、ステップS119の処理を追加し、再度、実験を行った。
【0068】
図9は、3スピン系について、ステップS119の処理を追加した上で測定された推定用量子ビット20と時間発展の長さtとの関係を示す。
図9に示される実験結果から、ステップS119の処理の効果により、スピン二重項の波動関数の時間発展を適切にキャンセルすることができることが分かった。更に、スピン四重項の波動関数を代入した場合の測定結果は、時間発展の長さtをπ/3、π及び5π/3にしたときに最大値1となった。この実験結果から、スピン二重項の波動関数の時間発展をキャンセルする処理を採用して、スピン二重項及び四重項を区別する場合には、時間発展の長さtをπ/3、π及び5π/3のいずれかを採用すればよいことが分かった。
【0069】
[特徴]
本実施形態によれば、スピン二乗演算子のもとで、波動関数の時間発展をシミュレーションすることで、スピン量子数を特定することができる。また、このシミュレーションにおいて、一般化スピン座標マッピング法を採用することにより、量子回路に用いる量子ゲートの数を大幅に削減することができる。例えば、2つの分子軌道を有する系について、直接マッピング法を採用した場合、当該シミュレーションを実行するための量子回路には130個の量子ゲートが用いられる。一方、本実施形態によれば、
図5に示されるとおり、ステップS103等の演算も含み、当該シミュレーションを実行するための量子回路を15個の量子ゲートにより構築することができる。したがって、本実施形態によれば、任意の波動関数のスピン量子数を正確に特定することができる。
【0070】
また、
図9の実験結果に示されるとおり、ステップS119の処理によれば、特定のスピン状態に対して、時間発展のシミュレーションによる位相差が生じないようにすることができる。すなわち、どのような長さで時間発展を行っても、推定用量子ビット20から得られる値が0である場合には、与えられた波動関数は特定のスピン状態にあると推定することができる。したがって、ステップS119の処理によれば、特定のスピン状態の推定を容易にすることができる。これにより、所望のスピン状態の波動関数成分を増やすことができる。
【0071】
[変形例]
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、上記スピン二乗演算子の条件下での波動関数の時間発展をシミュレーションする前に、量子コンピュータ1は、量子演算ユニット13により、波動関数の情報の保存された量子ビット対に対して、時間依存のハミルトニアン(H(t)=H+tS2)を使用した断熱スピン精製に関する操作を実行してもよい。これにより、所望のスピン状態以外の波動関数成分を減らし、所望のスピン状態の波動関数成分を抽出しやすくすることができる。
【符号の説明】
【0072】
1…量子コンピュータ、
10…論理量子ビット、
11…物理量子ビット、12…量子誤り訂正回路、
13…量子演算ユニット、
20…推定用量子ビット、21…量子レジスタ