(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-07
(45)【発行日】2024-03-15
(54)【発明の名称】量子計算機、プログラム、量子計算方法及び量子回路
(51)【国際特許分類】
G06F 17/14 20060101AFI20240308BHJP
G06N 10/00 20220101ALI20240308BHJP
G06F 7/38 20060101ALI20240308BHJP
【FI】
G06F17/14 Z
G06N10/00
G06F7/38 510
(21)【出願番号】P 2020110658
(22)【出願日】2020-06-26
【審査請求日】2023-05-22
【新規性喪失の例外の表示】特許法第30条第2項適用 〔ウェブサイトの掲載日〕令和1年8月11日(第1版) 令和2年1月15日(第2版) 〔ウェブサイトのアドレス〕(第1版)https://arxiv.org/abs/1908.03902v1 https://arxiv.org/pdf/1908.03902v1.pdf (第2版)https://arxiv.org/abs/1908.03902v2 https://arxiv.org/pdf/1908.03902v2.pdf 〔刊行物等〕〔ウェブサイトの掲載日〕 令和1年11月1日(第1版) 令和2年1月16日(第2版) 〔ウェブサイトのアドレス〕 (第1版)https://arxiv.org/abs/1911.00293 https://arxiv.org/pdf/1911.00293.pdf (第2版)https://arxiv.org/abs/1911.00293v2 https://arxiv.org/pdf/1911.00293v2.pdf 〔刊行物等〕〔ウェブサイトの掲載日〕 令和2年1月17日 〔ウェブサイトのアドレス〕 https://journals.aps.org/pra/abstract/10.1103/PhysRevA.101.012330 https://journals.aps.org/pra/pdf/10.1103/PhysRevA.101.012330
(73)【特許権者】
【識別番号】304021417
【氏名又は名称】国立大学法人東京工業大学
(73)【特許権者】
【識別番号】519307850
【氏名又は名称】株式会社Quemix
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】松下 雄一郎
(72)【発明者】
【氏名】小杉 太一
【審査官】漆原 孝治
(56)【参考文献】
【文献】米国特許出願公開第2019/0220497(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/14
G06N 10/00
G06F 7/38
(57)【特許請求の範囲】
【請求項1】
量子計算機であって、
設定部と、量子ゲートと、特定部とを備え、
前記設定部は、項数が2のn乗で規定されるユニタリ演算子の線形和における各係数に基づいて、n層のパラメータ群を設定するように構成され、ここで第k(2≦k≦n)層のパラメータ群は、第k-1層のパラメータ群に基づいて再帰的に設定され、
前記量子ゲートは、
n個の補助ビットとm個の標的ビットとを含むn+m個のビットで構成され、
前記n層のパラメータ群に含まれるパラメータに基づいて、前記各ビットに入力された入力値に対して所定の演算を実行するように構成され、
前記特定部は、前記量子ゲートの演算結果に基づいて、前記ユニタリ演算子の線形和を特定するように構成される、
もの。
【請求項2】
請求項1に記載の量子計算機において、
第k層のパラメータ群は、2のn-k乗個のパラメータを含む、
もの。
【請求項3】
請求項2に記載の量子計算機において、
前記ユニタリ演算子の線形和における各係数をn桁の2進数で表されるインデックスを用いて順に識別することとすると、
前記設定部は、前記第k層のパラメータ群に含まれるパラメータが前記各係数のうち特定の1組の係数の比に依存するように、前記パラメータを設定するように構成され、ここで前記特定の1組の係数は、前記インデックスの小さい方からk番目の位の値が異なり且つこれ以外の位の値が等しい2つの係数である、
もの。
【請求項4】
請求項3に記載の量子計算機において、
前記第k層のパラメータ群に含まれるパラメータをn-k桁の2進数で表されるインデックスを用いて順に識別することとすると、
前記設定部は、前記第k層のパラメータ群に含まれる第1のパラメータが前記第k-1層のパラメータ群に含まれる特定の1組の第2のパラメータの余弦の比に依存するように、前記パラメータを設定するように構成され、ここで前記特定の1組の第2のパラメータは、前記第1のパラメータのインデックスの末尾に0及び1をそれぞれ追加したインデックスを有する2つのパラメータである、
もの。
【請求項5】
請求項1~請求項4の何れか1つに記載の量子計算機において、
前記量子ゲートは、n層の制御ユニタリゲートを含み、
第k(2≦k≦n)層目の前記制御ユニタリゲートは、
1個の制御ビットと、k-1個の被制御ビットとm個の標的ビットとを入力させ、
第k-1層目の第1及び第2の制御ユニタリゲートと、回転変換ゲートとを備え、
前記第1の制御ユニタリゲートは、前記制御ビットの値が0の場合、前記被制御ビットの値を操作するように構成され、
前記第2の制御ユニタリゲートは、前記制御ビットの値が1の場合、前記被制御ビットの値を操作するように構成され、
前記回転変換ゲートは、前記制御ビットに作用させる、
もの。
【請求項6】
請求項5に記載の量子計算機において、
n=2である、
もの。
【請求項7】
請求項1~請求項6の何れか1つに記載の量子計算機において、
観測部をさらに備え、
前記観測部は、前記量子ゲートにおける前記n個の補助ビットの出力値である補助出力値を観測するように構成され、
前記量子ゲートは、前記観測部によって観測された前記補助出力値がすべて0の場合に、前記標的ビットの入力値と前記ユニタリ演算子の線形和との積を前記標的ビットの出力値である標的出力値として出力するように構成される、
もの。
【請求項8】
請求項7に記載の量子計算機において、
前記量子ゲートは、
前記観測部が前記補助出力値を0と観測した場合に、前記標的ビットの入力値とユニタリ演算子の第1の線形和との積を第1の標的出力値として出力し、
前記観測部が前記補助出力値を1と観測した場合に、前記標的ビットの入力値とユニタリ演算子の第2の線形和との積を第2の標的出力値として出力するように構成され、ここで前記第2の線形和は、前記第1の線形和のエルミート共役である、
もの。
【請求項9】
請求項8に記載の量子計算機において、
前記第1の線形和は、所定の関数における電子の消滅演算子であり、前記第2の線形和は、前記所定の関数における電子の生成演算子であり、ここで前記所定の関数は、グリーン関数又は線形応答関数であり、
量子位相推定部をさらに備え、
前記量子位相推定部は、前記第1及び第2の標的出力値に対して、量子位相推定を実行するように構成され、
前記特定部は、前記量子位相推定の結果に基づいて、前記所定の関数を特定するように構成される、
もの。
【請求項10】
請求項7に記載の量子計算機において、
前記量子ゲートは、前記観測部が前記補助出力値を0と観測した場合に、前記標的ビットの入力値とユニタリ演算子の線形和との積を標準出力値として出力することで、任意の前記量子ビットの状態を出力するように構成される、
もの。
【請求項11】
プログラムであって、
コンピュータを請求項1~請求項10の何れか1つに記載の量子計算機として機能させる、
もの。
【請求項12】
量子計算方法であって、
設定ステップと、演算ステップと、特定ステップとを備え、
前記設定ステップでは、項数が2のn乗で規定されるユニタリ演算子の線形和における各係数に基づいて、n層のパラメータ群を設定し、ここで第k(2≦k≦n)層のパラメータ群は、第k-1層のパラメータ群に基づいて再帰的に設定され、
前記演算ステップでは、前記n層のパラメータ群に含まれるパラメータに基づいて、各ビットに入力された入力値に対して所定の演算を実行し、ここで前記各ビットは、n個の補助ビットとm個の標的ビットとを含むn+m個のビットで構成され、
前記特定ステップでは、前記演算ステップでの演算結果に基づいて、前記ユニタリ演算子の線形和を特定する、
方法。
【請求項13】
請求項12に記載の量子計算方法において、
第k層のパラメータ群は、2のn-k乗個のパラメータを含む、
方法。
【請求項14】
請求項13に記載の量子計算方法において、
前記ユニタリ演算子の線形和における各係数をn桁の2進数で表されるインデックスを用いて順に識別することとすると、
前記設定ステップでは、前記第k層のパラメータ群に含まれるパラメータが前記各係数のうち特定の1組の係数の比に依存するように、前記パラメータを設定し、ここで前記特定の1組の係数は、前記インデックスの小さい方からk番目の位の値が異なり且つこれ以外の位の値が等しい2つの係数である、
方法。
【請求項15】
請求項14に記載の量子計算方法において、
前記第k層のパラメータ群に含まれるパラメータをn-k桁の2進数で表されるインデックスを用いて順に識別することとすると、
前記設定ステップでは、前記第k層のパラメータ群に含まれる第1のパラメータが前記第k-1層のパラメータ群に含まれる特定の1組の第2のパラメータの余弦の比に依存するように、前記パラメータを設定し、ここで前記特定の1組の第2のパラメータは、前記第1のパラメータのインデックスの末尾に0及び1をそれぞれ追加したインデックスを有する2つのパラメータである、
方法。
【請求項16】
請求項12~請求項15の何れか1つに記載の量子計算方法において、
前記演算ステップは、n層の制御ユニタリゲートからなるゲート操作を含み、
第k(2≦k≦n)層目の前記制御ユニタリゲートは、
1個の制御ビットと、k-1個の被制御ビットとm個の標的ビットとを入力させ、
第k-1層目の第1及び第2の制御ユニタリゲートと、回転変換ゲートとを備え、
前記第1の制御ユニタリゲートは、前記制御ビットの値が0の場合、前記被制御ビットの値を操作するように構成され、
前記第2の制御ユニタリゲートは、前記制御ビットの値が1の場合、前記被制御ビットの値を操作するように構成され、
前記回転変換ゲートは、前記制御ビットに作用させる、
方法。
【請求項17】
請求項16に記載の量子計算方法において、
n=2である、
方法。
【請求項18】
請求項12~請求項17の何れか1つに記載の量子計算方法において、
観測ステップをさらに備え、
前記観測ステップでは、前記量子ゲートにおける前記n個の補助ビットの出力値である補助出力値を観測し、
前記演算ステップでは、前記観測ステップで観測された前記補助出力値がすべて0の場合に、前記標的ビットの入力値と前記ユニタリ演算子の線形和との積を前記標的ビットの出力値である標的出力値として出力する、
方法。
【請求項19】
請求項18に記載の量子計算方法において、
前記演算ステップでは、
前記観測ステップで前記補助出力値を0と観測した場合に、前記標的ビットの入力値とユニタリ演算子の第1の線形和との積を第1の標的出力値として出力し、
前記観測ステップで前記補助出力値を1と観測した場合に、前記標的ビットの入力値とユニタリ演算子の第2の線形和との積を第2の標的出力値として出力し、ここで前記第2の線形和は、前記第1の線形和のエルミート共役である、
方法。
【請求項20】
請求項19に記載の量子計算方法において、
前記第1の線形和は、所定の関数における電子の消滅演算子であり、前記第2の線形和は、前記所定の関数における電子の生成演算子であり、ここで前記所定の関数は、グリーン関数又は線形応答関数であり、
量子位相推定ステップをさらに備え、
前記量子位相推定ステップでは、前記第1及び第2の標的出力値に対して、量子位相推定を実行し、
前記特定ステップでは、前記量子位相推定の結果に基づいて、前記所定の関数を特定する、
方法。
【請求項21】
請求項18に記載の量子計算方法において、
前記演算ステップでは、前記観測ステップで前記補助出力値を0と観測した場合に、前記標的ビットの入力値とユニタリ演算子の線形和との積を標的出力値として出力することで、任意の前記量子ビットの状態を出力する、
方法。
【請求項22】
量子回路であって、
入力部と、演算部と、標的ビット出力部とを備え、
前記入力部は、n個の補助ビットとm個の標的ビットとを含むn+m個のビットで構成され、
前記演算部は、n層のパラメータ群に含まれるパラメータに基づいて、前記入力部より入力された入力値に対して所定の演算を実行するように構成され、ここで前記n層のパラメータ群は、項数が2のn乗で規定されるユニタリ演算子の線形和における各係数に基づいて決定され、且つ第k(2≦k≦n)層のパラメータ群が第k-1層のパラメータ群に基づいて再帰的に決定され、
前記標的ビット出力部は、前記標的ビットに入力された入力値と前記ユニタリ演算子の線形和との積を出力するように構成される、
もの。
【請求項23】
請求項22に記載の量子回路において、
第k層のパラメータ群は、2のn-k乗個のパラメータを含む、
もの。
【請求項24】
請求項23に記載の量子回路において、
前記ユニタリ演算子の線形和における各係数をn桁の2進数で表されるインデックスを用いて順に識別することとすると、
前記第k層のパラメータ群に含まれるパラメータは、前記各係数のうち特定の1組の係数の比に依存するように決定され、ここで前記特定の1組の係数は、前記インデックスの小さい方からk番目の位の値が異なり且つこれ以外の位の値が等しい2つの係数である、
もの。
【請求項25】
請求項24に記載の量子回路において、
前記第k層のパラメータ群に含まれるパラメータをn-k桁の2進数で表されるインデックスを用いて順に識別することとすると、
前記第k層のパラメータ群に含まれる第1のパラメータは、前記第k-1層のパラメータ群に含まれる特定の1組の第2のパラメータの余弦の比に依存するように決定され、ここで前記特定の1組の第2のパラメータは、前記第1のパラメータのインデックスの末尾に0及び1をそれぞれ追加したインデックスを有する2つのパラメータである、
もの。
【請求項26】
請求項22~請求項25の何れか1つに記載の量子回路において、
前記演算部は、n層の制御ユニタリゲートを含み、
第k(2≦k≦n)層目の前記制御ユニタリゲートは、
1個の制御ビットと、k-1個の被制御ビットとm個の標的ビットとを入力させ、
第k-1層目の第1及び第2の制御ユニタリゲートと、回転変換ゲートとを備え、
前記第1の制御ユニタリゲートは、前記制御ビットの値が0の場合、前記被制御ビットの値を操作するように構成され、
前記第2の制御ユニタリゲートは、前記制御ビットの値が1の場合、前記被制御ビットの値を操作するように構成され、
前記回転変換ゲートは、前記制御ビットに作用させる、
もの。
【請求項27】
請求項26に記載の量子回路において、
n=2である、
もの。
【請求項28】
請求項22~請求項27の何れか1つに記載の量子回路において、
前記標的ビット出力部は、前記n個の補助ビットの出力値の観測結果がすべて0の場合に、前記積を出力するように構成される、
もの。
【請求項29】
請求項22~請求項28の何れか1つに記載の量子回路において、
前記標的ビット出力部は、前記n個の補助ビットの出力値がすべて0と観測した場合に、任意の前記量子ビットの状態を出力するように、前記標的ビットの入力値とユニタリ演算子の線形和との積を標的出力値とするように構成される、
もの。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、量子計算機、プログラム、量子計算方法及び量子回路に関する。
【背景技術】
【0002】
古くは1980年代に量子力学を情報処理に用いたコンピュータが提案され、現在も様々な量子情報処理技術が提案されている。
【0003】
例えば、特許文献1には、量子計算機及び量子計算方法の従来技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、物理量や物理的関数の中には、ユニタリ演算子の線形和を含むものがある。量子計算では、一般的にユニタリ演算子が扱われることとなるが、ユニタリ演算子の線形和を量子的に計算する手法がないため、このような物理量や物理的関数を計算するためには、古典アルゴリズムを用いなければならない。このため、古典計算機を用いることとなるが、古典計算機には計算量や計算速度に限界があるため、これが計算の障壁となりうる。
【0006】
本発明では上記事情を鑑み、ユニタリ演算子の線形和を量子的に計算する技術を提供することとした。
【課題を解決するための手段】
【0007】
本発明の一態様によれば、量子計算機であって、設定部と、量子ゲートと、特定部とを備え、前記設定部は、項数が2のn乗で規定されるユニタリ演算子の線形和における各係数に基づいて、n層のパラメータ群を設定するように構成され、ここで第k(2≦k≦n)層のパラメータ群は、第k-1層のパラメータ群に基づいて再帰的に設定され、前記量子ゲートは、n個の補助ビットとm個の標的ビットとを含むn+m個のビットで構成され、前記n層のパラメータ群に含まれるパラメータに基づいて、前記各ビットに入力された入力値に対して所定の演算を実行するように構成され、前記特定部は、前記量子ゲートの演算結果に基づいて、前記ユニタリ演算子の線形和を特定するように構成される、ものが提供される。
【0008】
このような量子計算機では、ユニタリ演算子の線形和を量子的に計算することができるため、ユニタリ演算子の線形和を含む物理量や物理的関数を古典アルゴリズムに代えて計算することができる。
【図面の簡単な説明】
【0009】
【
図1】量子計算機1のハードウェア構成を示すブロック図である。
【
図2】量子計算機1(量子プロセッサ5)の機能構成を示すブロック図である。
【
図3】量子ゲート53(量子回路)の構成を示している。
【
図4】パラメータ群{θ}の処理を示す回路図である。
【
図5】n=2のときのパラメータ群{θ}の処理を示す回路図である。
【
図6】グリーン関数GFの電子の生成演算子a+及び消滅演算子aを導出する回路図である。
【
図7】H_2O分子の準粒子スペクトルの計算結果を示すグラフである。
【
図8】線形応答関数LFの電子密度演算子nを導出する回路図である。
【
図9】線形応答関数LFのスピン密度演算子sを導出する回路図である。
【
図10】C_2分子の光吸収スペクトルの計算結果を示すグラフである。
【
図11】オラクルに係り、各種量子回路の一例を示している。
【発明を実施するための形態】
【0010】
以下、図面を用いて本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。
【0011】
本実施形態において「部」とは、例えば、広義の回路によって実施されるハードウェア資源と、これらのハードウェア資源によって具体的に実現されうるソフトウェアの情報処理とを合わせたものも含みうる。また、本実施形態においては様々な情報を取り扱うが、これら情報は、量子的な重ね合わせ(いわゆる量子ビット)によって表され、量子メモリ4及び量子プロセッサ5を含む広義の回路上で通信・演算が実行されうる。
【0012】
1.ハードウェア構成
本節では、本実施形態に係る量子計算機1のハードウェア構成について説明する。
【0013】
図1は、量子計算機1のハードウェア構成を示すブロック図である。
図1に示されるように、量子計算機1は、通信部3と、量子メモリ4と、量子プロセッサ5とを有し、これらの構成要素が量子計算機1の内部において通信バス2を介して接続されている。以下、各構成要素についてさらに説明する。
【0014】
(通信部3)
通信部3は、量子計算機1が他の情報処理装置(古典計算機、量子計算機又はそれらを組み合わせた計算機を含む)又は周辺機器と情報通信をするために使用される。
【0015】
(量子メモリ4)
量子メモリ4は、前述の記載により定義される様々な情報を記憶する。特に、量子メモリ4は、次に説明する量子プロセッサ5が読み出し可能な種々のプログラムを記憶している。また、量子メモリ4は、量子計算機1の計算に係る特定の材料の物性情報等を必要に応じて記憶する。
【0016】
(量子プロセッサ5)
量子プロセッサ5は、量子計算機1に関連する全体動作の処理・制御を行う。量子プロセッサ5は、量子メモリ4に記憶されたプログラム、又は通信部3を介して入力される所定のプログラムを読み出すことによって、量子計算機1に係る種々の機能を実現する。すなわち、ソフトウェア(量子メモリ4に記憶されている、又は通信部3を介して他の情報処理装置から入力されている)による情報処理がハードウェア(量子プロセッサ5)によって具体的に実現されることで、
図2に示されるような、各機能部として実行されうる。これらについては、次節において詳述する。なお、
図1においては、単一の量子プロセッサ5として表記されているが、実際はこれに限るものではなく、機能ごとに複数の量子プロセッサ5を有するように実施してもよい。またそれらの組合せであってもよい。
【0017】
2.機能構成
本節では、本実施形態に係る量子計算機1の機能構成について説明する。
図2は、量子計算機1(量子プロセッサ5)の機能構成を示すブロック図である。
図3は、量子ゲート53(量子回路)の構成を示している。前述の量子プロセッサ5に関して、量子計算機1は、設定部51と、処理部52と、量子ゲート53と、観測部54と、量子位相推定部55と、特定部56とを備える。以下、各構成要素についてさらに説明する。
【0018】
(設定部51)
量子計算機1がユニタリ演算子Uの線形和Oを演算するにあたって、この線形和Oは、項数が2のn乗で規定されることとする。なお、係数cが0の項もこの項数に含めるものとする。設定部51は、項数が2のn乗で規定されるユニタリ演算子Uの線形和Oにおける各係数cに基づいて、n層のパラメータ群{θ}を設定するように構成される。ここで第k(2≦k≦n)層のパラメータ群{θ}は、第k-1層のパラメータ群{θ}に基づいて再帰的に設定される。
【0019】
(処理部52)
処理部52は、量子計算機1において演算される種々の計算を実行する。例えば、処理部52は、量子計算に含まれる四則演算を実行する。あるいは、処理部52は、後述の量子ゲート53に入力させる入力値を初期化可能に構成されてもよい。例えば、処理部52は、初期状態としてすべての量子ビットにアダマールゲート(
図3におけるH)を作用させることで、補助ビットAQの入力値を初期化することができる。初期化された補助ビットAQの入力値は、複数の準位を等確率に有することとなる。
【0020】
(量子ゲート53)
図3に示されるように、量子ゲート53は、n個の補助ビットAQとm個の標的ビットTQとを含むn+m個のビットで構成される。量子ゲート53は、n層のパラメータ群{θ}に含まれるパラメータθに基づいて、各ビットに入力された入力値に対して所定の演算を実行するように構成される。
【0021】
さらに具体的には、量子ゲート53(量子回路)は、入力部531と、演算部532と、出力部533(特に標的ビット出力部533a)とを備える。入力部531は、n個の補助ビットAQとm個の標的ビットTQとを含むn+m個のビットで構成される。演算部532は、n層のパラメータ群{θ}に含まれるパラメータθに基づいて、入力部531より入力された入力値に対して所定の演算を実行するように構成される。標的ビット出力部533aは、標的ビットTQに入力された入力値とユニタリ演算子Uの線形和Oとの積を出力するように構成される。
【0022】
(観測部54)
観測部54は、各ビットに対して量子的重ね合わせによって複数の値を確率的に有する出力値を観測する。観測部54が観測することによって、出力値が複数の値のうちの1つに確定する。具体的には、観測部54は、量子ゲート53におけるn個の補助ビットAQの出力値である補助出力値を観測するように構成される。これに関連して、
図3に示されるように、量子ゲート53は、観測部54によって観測された補助出力値がある特定の値の場合(例えば、すべて0の場合)に、標的ビットTQの入力値とユニタリ演算子Uの線形和Oとの積を標的ビットTQの出力値である標的出力値として出力するように構成される。
【0023】
また好ましくは、量子ゲート53は、観測部54が補助出力値を0と観測した場合に、標的ビットTQの入力値とユニタリ演算子Uの第1の線形和O1との積を第1の標的出力値として出力する。一方、量子ゲート53は、観測部54が補助出力値を1と観測した場合に、標的ビットTQの入力値とユニタリ演算子Uの第2の線形和O2との積を第2の標的出力値として出力する。ここで第2の線形和O2は、第1の線形和O1のエルミート共役である。これについては、次節で具体的に詳述する。
【0024】
更に好ましくは、量子ゲート53は、観測部54が補助出力値を0と観測した場合に、標的ビットTQの入力値とユニタリ演算子Uの線形和Oとの積を標準出力値として出力することで、任意の量子ビットの状態を出力するように構成される。これについては、次節で具体的に詳述する。
【0025】
(量子位相推定部55)
量子位相推定部55は、第1及び第2の標的出力値に対して、量子位相推定を実行するように構成される。詳細は、同じく次節で説明する。
【0026】
(特定部56)
特定部56は、量子ゲート53の演算結果に基づいて、ユニタリ演算子Uの線形和Oを特定するように構成される。また、特定部56は、ユニタリ演算子Uの線形和Oに依存する値や関数等を特定するように構成されてもよい。例えば、特定部56は、量子位相推定部55による量子位相推定の結果に基づいて、所定の関数を特定するように構成される。なお、ここで所定の関数の例としては、例えば、グリーン関数GF又は線形応答関数LFである。
【0027】
3.理論
本説では、前述した機能構成に関する量子力学的な理論について補足し、これに基づく量子計算方法について説明する。
【0028】
3.1 パラメータ群{θ}の再帰的設定
前節の述べた通り、ユニタリ演算子Uの線形和Oを演算するために、設定部51は、パラメータ群{θ}を再帰的に設定する。まず前提として、項数が2のn乗で規定されるユニタリ演算子Uの線形和Oについて、各係数cをn桁の2進数で表されるインデックスを用いて順に識別することとする。これを数1に示す。
【数1】
【0029】
続いて、各係数cに基づいて、パラメータ群{θ}を構成するパラメータθを規定する。c_λ(λは下付き添字で、0と1の数字列を表す)の位相因子をθ_λと置く。(つまり、c_λ=|c_λ|exp(iθ_λ)。)以下では、c_λを|c_λ|ととり直し、c_λは正の実数とする。さらに、パラメータ群{θ}はn層から構成され、第k層のパラメータ群{θ}は、2のn-k乗個のパラメータθ^(k)を含むものである。ここでは数2に示されるように、各パラメータθ^(k)の正接が、特定の係数cの組の比に依存するように表されている。換言すると、設定部51は、第k層のパラメータ群{θ}に含まれるパラメータθ^(k)が各係数cのうち特定の1組の係数cの比に依存するように、パラメータθ^(k)を設定する。
【数2】
【0030】
ここで特定の1組の係数cは、インデックスの小さい方からk番目の位の値が異なり且つこれ以外の位の値が等しい2つの係数cである。例えば、第1層のパラメータ群{θ}に含まれるパラメータθについて、θ^(1)_{0…00}は、c_{0…001}をc_{0…000}で割った値に依存し、これらの係数cは、小さい方から1番目(右端)以外の位の値が0で等しくなっている。また、第2層のパラメータ群{θ}に含まれるパラメータθについて、θ^(2)_{0…00}は、c_{0…010}をc_{0…000}で割った値に依存し、これらの係数cは、小さい方から2番目以外の位の値が0で等しくなっている(後の数3参照)。
【0031】
図4は、パラメータ群{θ}の処理を示す回路図である。
図4におけるjはj=k+1として考えてよい。Hはアダマール変換を実行するアダマールゲートである。Rはブロッホ球の回転演算子であり、R
y(-2θ)=exp(iθσ
y)で表される。Uはユニタリ変換を実行するユニタリ演算子である。黒丸は、制御ビットの入力値が1のときには、対応する標的ビットの値(ここでは一般的な意味)に所定の演算を実行させ、制御ビットの入力値が0のときには、対応する標的ビットの値を操作しない。白丸は、制御ビットの入力値が0のときには、対応する標的ビットの値に所定の演算を実行させ、制御ビットの入力値が1のときには、対応する標的ビットの値を操作しない。第1層目のパラメータθ^(1)に係る係数cは、ゲート操作として捉えると、等価回路532aによって表される。第2層目以降のパラメータθ^(k)に係る係数cは、ゲート操作として捉えると、1つ下の層のパラメータθ^(k-1)に係る係数cを用いて表される。具体的には、数3のように規定される。
【数3】
【0032】
数3に関連して、第k層のパラメータ群{θ}に含まれるパラメータθをn-k桁の2進数で表されるインデックスを用いて順に識別することとすると、設定部51は、第k層のパラメータ群{θ}に含まれる第1のパラメータθ^(k)が第k-1層のパラメータ群{θ}に含まれる特定の1組の第2のパラメータθ^(k-1)の余弦の比に依存するように、パラメータθを設定するように構成される。ここで特定の1組の第2のパラメータθ^(k-1)は、第1のパラメータθ^(k)のインデックスの末尾に0及び1をそれぞれ追加したインデックスを有する2つのパラメータθである。
【0033】
このようなパラメータ群{θ}の設定は、数4のように表される。
【数4】
【0034】
さらに、これを再帰的に展開していくと、補助ビットAQの補助出力値がすべて0と観測されたとき、数5のように表されることとなる。
【数5】
【0035】
つまり、第k層目のユニタリ変換が、第k-1層目のユニタリ変換によって再帰的に表されていることとなる。より具体的には、第k層目のユニタリ変換は、次のように決定する。
図4を参照すると、まず、補助ビットAQ0~補助ビットAQ(k-1)をそれぞれ入力値0とし、アダマールゲートを通じて、0と1とが基底として重ね合わさった初期化状態を実現する。次に、補助ビットAQ(k-1)が0の場合に、補助ビットAQ0~補助ビットAQ(k-2)とm個の標的ビットに対して第k―1層目の第1のユニタリ変換が実行される。続いて、補助ビットAQ(k-1)が1の場合に、補助ビットAQ0~補助ビットAQ(k-2)とm個の標的ビットに対して第k-1層目の第2のユニタリ変換が実行される。ここで、第1のユニタリ変換と、第2のユニタリ変換とでは、インデックスの最後が0又は1で異なり、それ以外の位の値が等しい演算子が用いられる。最後に、補助ビットAQ(k-1)に対してθ^(k)の回転演算子R
yによる回転変換が実行される。
【0036】
換言すると、量子ゲート53は、n層の制御ユニタリゲートを含む。第k(2≦k≦n)層目の制御ユニタリゲートは、1個の制御ビットと、k-1個の被制御ビットとm個の標的ビットとを入力させる。第k-1層目の第1及び第2の制御ユニタリゲートと、回転変換ゲートとを備える。第1の制御ユニタリゲートは、制御ビットの値が0の場合、被制御ビットの値と標的ビットを操作するように構成される。第2の制御ユニタリゲートは、制御ビットの値が1の場合、被制御ビットと標的ビットの値を操作するように構成される。回転変換ゲートは、制御ビットに作用させる。
【0037】
3.2 簡易なモデルでの解説
続いて、
図5を参照しながらn=2の場合について考える。
図5は、n=2のときのパラメータ群{θ}の処理を示す回路図である。
図5に含まれる4つのユニタリ演算子Uの線形和Oは、数6に示される。
【数6】
【0038】
図5に示されるように、この量子ゲート53aは、2つの補助ビットAQと、m個の標的ビットTQとからなる。この量子回路において、パラメータ群{θ}は、第1層のパラメータ群{θ}と、第2層のパラメータ群{θ}とを含んでいる。第1層のパラメータ群{θ}は、θ^(1)_{0}とθ^(1)_{1}とを含む。そして、θ^(1)_{0}の正接がc_{01}をc_{00}で割った値で規定される。θ^(1)_{1}の正接がc_{11}をc_{10}で割った値で規定される。第2層のパラメータ群{θ}は、θ^(2)を含み、インデックスは無しとなる。そして、θ^(2}の正接とθ^(1)_{0}及びθ^(1)_{1}の余弦の比との積が、c_{10}をc_{00}で割った値で規定される。すなわち、数7に示されるように、第2層のパラメータ群{θ}に含まれるθ^(2)が第1層のパラメータ群{θ}に含まれるθ^(1)_{0}とθ^(1)_{1}とによって再帰的に設定されている。
【数7】
【0039】
このような量子回路において、2つの補助ビットAQにおける補助出力値がすべて0と観測された場合に、標的ビットTQにおける標的出力値が、標的ビットTQの入力値と数6に示されるユニタリ演算子Uの線形和Oとの積となる。
【0040】
より具体的には、
図5を参照すると、まず、補助ビットAQ0及び補助ビットAQ1をそれぞれ入力値0とし、アダマールゲートを通じて、0と1とが基底として重ね合わさった初期化状態を実現する。次に、補助ビットAQ1が0且つ補助ビットAQ0が0の場合に、標的ビットTQに対してユニタリ演算子U_{00}によるユニタリ変換が実行される。続いて、補助ビットAQ1が0且つ補助ビットAQ0が1の場合に、標的ビットTQに対してユニタリ演算子U_{01}によるユニタリ変換が実行される。続いて、補助ビットAQ1が0の場合に、補助ビットAQ0に対してθ^(1)_0の回転演算子R
yによる回転変換が実行される。
【0041】
続いて、補助ビットAQ1が1且つ補助ビットAQ0が0の場合に、標的ビットTQに対してユニタリ演算子U_{10}によるユニタリ変換が実行される。続いて、補助ビットAQ1が1且つ補助ビットAQ0が1の場合に、標的ビットTQに対してユニタリ演算子U_{11}によるユニタリ変換が実行される。続いて、補助ビットAQ1が1の場合に、補助ビットAQ0に対してθ^(1)_1の回転演算子Ryによる回転変換が実行される。
【0042】
最後に、補助ビットAQ1に対してθ^(2)の回転演算子Ryによる回転変換が実行される。
【0043】
以上をまとめると、この量子計算方法は、設定ステップと、演算ステップと、特定ステップとを備える。設定ステップでは、項数が2のn乗で規定されるユニタリ演算子Uの線形和Oにおける各係数に基づいて、n層のパラメータ群{θ}を設定する。演算ステップでは、n層のパラメータ群{θ}に含まれるパラメータθに基づいて、各ビットに入力された入力値に対して所定の演算を実行する。特定ステップでは、演算ステップでの演算結果に基づいて、ユニタリ演算子Uの線形和Oを特定する。
【0044】
好ましくは、この量子計算方法は、観測ステップをさらに備える。観測ステップでは、量子ゲート53におけるn個の補助ビットAQの出力値である補助出力値を観測する。演算ステップでは、観測ステップで観測された補助出力値がすべて0の場合に、標的ビットTQの入力値とユニタリ演算子Uの線形和Oとの積を標的ビットTQの出力値である標的出力値として出力する。
【0045】
3.3 グリーン関数GFの導出への応用
前述のユニタリ演算子Uの線形和Oを導出が可能となることで、ユニタリ演算子Uの線形和Oに依存する値や関数等を特定することができる。ここでは、グリーン関数GFを例に説明する。グリーン関数GFが求まると、準粒子バンド構造(軌道エネルギー)を計算することが可能となる。グリーン関数を計算するには電子の生成演算子a+(ここでの「+」はダガー)及び消滅演算子aが基底電子状態に作用した状態を準備しなければいけない。
図6は、グリーン関数GFの対角成分・非対角成分を導出する回路図である。
【0046】
【0047】
数8における第1項は、電子パートであり、第2項は、正孔パートである。さらに、第1項の電子パートは、数9のように表され、第2項の正孔パートは、数10のように表される。
【数9】
【数10】
【0048】
特に数9におけるa+及び数10におけるaは、それぞれ電子の生成演算子及び消滅演算子である。量子コンピュータでは、上記の定義式をそのまま計算することができない。具体的には、数11に示される基底状態の波動関数を計算することはできたとしても、この波動関数と生成演算子a+との積である数12又は消滅演算子aとの積である数13の状態を現実的な計算時間で計算することが困難である。
【数11】
【数12】
【数13】
【0049】
電子の生成演算子a+は、電子の消滅演算子aのエルミート共役であるため、これらの和や差をとることで、数14に示されるようなユニタリ演算子Uを定義することができる。
【数14】
【0050】
これを生成演算子a+及び消滅演算子aについて解くと、生成演算子a+及び消滅演算子aは、ユニタリ演算子Uの線形和Oとしてそれぞれ表される。換言すると、第1の線形和O1は、所定の関数(グリーン関数GF)における電子の消滅演算子aであり、第2の線形和O2は、所定の関数における電子の生成演算子a+である。
【数15】
【0051】
すなわち、前述の量子ゲート53を応用することで、電子の生成演算子a+と、電子の消滅演算子aとを導出することができる。具体的には、対角成分については量子ゲート53bを、非対角成分については量子ゲート53cをそれぞれ規定することが好ましい。特に対角成分は、数16のように表される。
【数16】
【0052】
つまり、補助ビットAQの補助出力値が0と観測された場合は、標的ビットTQの入力値(数11に示される波動関数)と電子の消滅演算子aとの積(数13)が出力され(第1の標的出力値)、補助ビットAQの補助出力値が1と観測された場合は、標的ビットTQの入力値(数11)と電子の生成演算子a+との積(数12)が出力されることとなる(第2の標的出力値)。すなわち、ここでは補助ビットAQの補助出力値が0,1どちらであっても、グリーン関数GFの導出に有益な値が標的出力値として出力される。
【0053】
さらに、得られた数12及び数13に対して、ユニタリ行列の固有値を量子計算するアルゴリズムである量子位相推定を適用することで、数9及び数10に表される、グリーン関数GFの各パートを導出することができる。さらに、グリーン関数GFに対して数17を適用することで、
図7に示されるような準粒子スペクトルを得ることができる。
図7は、H_2O分子の準粒子スペクトルの計算結果を示すグラフである。
【数17】
【0054】
以上をまとめると、好ましくは、この量子計算方法において、演算ステップでは、観測ステップで補助出力値を0と観測した場合に、標的ビットTQの入力値とユニタリ演算子Uの第1の線形和O1との積を第1の標的出力値として出力する。演算ステップでは、観測ステップで補助出力値を1と観測した場合に、標的ビットTQの入力値とユニタリ演算子Uの第2の線形和O2との積を第2の標的出力値として出力する。
【0055】
さらに好ましくは、この量子計算方法は、量子位相推定ステップをさらに備える。量子位相推定ステップでは、第1及び第2の標的出力値に対して、量子位相推定を実行する。特定ステップでは、量子位相推定の結果に基づいて、所定の関数を特定する。
【0056】
より具体的には、
図6の量子ゲート53b(対角成分)を参照すると、まず、補助ビットAQ0を入力値0とし、アダマールゲートを通じて、0と1とが基底として重ね合わさった初期化状態を実現する。次に、補助ビットAQ0が0の場合に、ユニタリ演算子U_{0m}によるユニタリ変換が実行される。続いて、補助ビットAQ0が1の場合に、ユニタリ演算子U_{1m}によるユニタリ変換が実行される。その後、補助ビットAQ0に対して再度アダマールゲートを通じて、出力値の観測が実行される。
【0057】
図6の量子ゲート53c(非対角成分)を参照すると、まず、補助ビットAQ0及び補助ビットAQ1をそれぞれ入力値0とし、アダマールゲートを通じて、0と1とが基底として重ね合わさった初期化状態を実現する。次に、補助ビットAQ1が0且つ補助ビットAQ0が0の場合に、標的ビットTQに対してユニタリ演算子U_{0m}によるユニタリ変換が実行される。続いて、補助ビットAQ1が0且つ補助ビットAQ0が1の場合に、標的ビットTQに対してユニタリ演算子U_{1m}によるユニタリ変換が実行される。続いて、補助ビットAQ1に対して位相π/4の回転変換が実行される。
【0058】
続いて、補助ビットAQ1が1且つ補助ビットAQ0が0の場合に、標的ビットTQに対してユニタリ演算子U_{0m’}によるユニタリ変換が実行される。続いて、補助ビットAQ1が1且つ補助ビットAQ0が1の場合に、標的ビットTQに対してユニタリ演算子U_{1m’}によるユニタリ変換が実行される。
【0059】
その後、補助ビットAQ1及び補助ビットAQ0に対して再度アダマールゲートを通じて、出力値の観測が実行される。
【0060】
3.4 線形応答関数LFの導出への応用
続いて、材料計算において頻用される線形応答関数LFを例に説明する。
図8は、線形応答関数LFの電子密度演算子nを導出する回路図である。
図9は、線形応答関数LFのスピン密度演算子sを導出する回路図である。
【0061】
線形応答関数LFは、スピンスピン応答関数LF1(数18)と、電荷電荷応答関数LF2(数19)と、電荷スピン応答関数LF3(数20)とを含む。
【数18】
【数19】
【数20】
【0062】
また、電子密度演算子nと、スピン密度演算子sとが、数21のように表される。
【数21】
【0063】
ここでは、電荷電荷応答関数LF2を例にとってさらに説明する。前述のグリーン関数GF同様、電子の生成演算子a+と、電子の消滅演算子aを、数22に示されるように、ユニタリ演算子Uの線形和Oで表すことができる。
【数22】
【0064】
ここで、数23に示されるようなユニタリ演算子Uを新たに定義する。
【数23】
【0065】
数23を用いると、電子密度演算子nは、数24のように表すことができる。
【数24】
【0066】
このようなユニタリ演算子Uの線形和Oを計算するための量子ゲート53が
図8に示される。具体的には、対角成分については量子ゲート53dを、非対角成分については量子ゲート53eをそれぞれ規定することが好ましい。特に対角成分は、数25のように表される。
【数25】
【0067】
さらに、グリーン関数GFを求める際と同様に、量子位相推定を適用することで、電荷電荷応答関数LF2(数19)を導出することができる。さらに、数26の適用をすることで、光吸収スペクトルを得ることができる。
【数26】
【0068】
もちろん、スピン密度演算子sもユニタリ演算子Uの線形和Oで表すことができるため、電子密度演算子nの場合と同様に量子計算をすることで、スピンスピン応答関数LF1を導出することができる。
【0069】
より具体的には、
図8の量子ゲート53d(対角成分)を参照すると、まず、補助ビットAQ0及び補助ビットAQ1をそれぞれ入力値0とし、アダマールゲートを通じて、0と1とが基底として重ね合わさった初期化状態を実現する。次に、補助ビットAQ1が0且つ補助ビットAQ0が0の場合に、標的ビットTQに対してユニタリ演算子U_{00σ}によるユニタリ変換が実行される。続いて、補助ビットAQ1が0且つ補助ビットAQ0が1の場合に、標的ビットTQに対してユニタリ演算子U_{01σ}によるユニタリ変換が実行される。続いて、補助ビットAQ1が1且つ補助ビットAQ0が0の場合に、標的ビットTQに対してユニタリ演算子U_{10σ}によるユニタリ変換が実行される。続いて、補助ビットAQ1が1且つ補助ビットAQ0が1の場合に、標的ビットTQに対してユニタリ演算子U_{11σ}によるユニタリ変換が実行される。
【0070】
その後、補助ビットAQ1及び補助ビットAQ0に対して再度アダマールゲートを通じて、出力値の観測が実行される。
【0071】
図8の量子ゲート53e(非対角成分)を参照すると、まず、補助ビットAQ0~補助ビットAQ2をそれぞれ入力値0とし、アダマールゲートを通じて、0と1とが基底として重ね合わさった初期化状態を実現する。次に、補助ビットAQ2が0の場合に、補助ビットAQ0、補助ビットAQ1及び標的ビットTQに対して第1のユニタリ変換が実行される。続いて、補助ビットAQ2が1の場合に、補助ビットAQ0、補助ビットAQ1及び標的ビットTQに対して第2のユニタリ変換が実行される。続いて、補助ビットAQ2に対して位相π/4の回転変換が実行される。
【0072】
その後、補助ビットAQ0~補助ビットAQ2に対して再度アダマールゲートを通じて、出力値の観測が実行される。
【0073】
なお、スピンスピン応答関数LF1を導出する際に用いられる量子ゲート53は、
図9を参照されたい。具体的には、対角成分については量子ゲート53fを、非対角成分については量子ゲート53gをそれぞれ規定している。さらに、電子密度演算子n及びスピン密度演算子sによって電荷スピン応答関数LF3を導出することができる。また、このような線形応答関数LFを用いることで、
図10に示されるような光吸収スペクトルを求めることができる。
図10は、C_2分子の光吸収スペクトルの計算結果を示すグラフである。
【0074】
本節において説明したこのような量子計算方法によれば、ユニタリ演算子の線形和を量子的に計算することができるため、ユニタリ演算子の線形和を含む物理量や物理的関数を古典アルゴリズムに代えて計算することができる。すなわち、古典アルゴリズムを用いる従来技術よりも高速に、ユニタリ演算子の線形和やこれを含む物理量や物理的関数を計算することができる。
【0075】
3.5 オラクルの作成
n量子ビットを用いることにより、2^n個の互いに異なる状態の線形結合をとることができる。n量子ビットの状態は、2^n個の自由度を指定して初めて特定することができるものである。換言すると、n量子ビットの状態は、2^n個の情報を1度に保持しているともいえる。
【0076】
n量子ビットにおいて、各量子ビットは0と1の重ね合わせ状態(同時にとる)ことができる。n量子ビットの状態は、各々の量子ビットが0と1の2通りの状態を取り得ることから、2^n個の状態の重ね合わせ状態として表すことができる。また、それぞれの状態の重みを表す2^n個の係数は一般に複素数である。2^n個の係数を任意に制御する方法は、オラクルと呼ばれ、量子テクノロジーにおいて重要な要素技術となっている。
【0077】
ここでは、前述のユニタリ演算子Uの線形和Oを利用することにより、オラクルを実現できることを示す。数27に示すように、一般にn量子ビットの状態は2^n個の状態の線形結合として表現することができる。その係数をcとする。
【数27】
【0078】
続いて、演算子を用いて数27を数28のように式変形する。
【数28】
【0079】
ここで数28における演算子{U_λ}(λは0と1がn個並んだ数字列)は、数29のように定義される。つまり、ある量子ビット列αの状態に対して作用し、λという量子ビット列の状態に変換するユニタリ演算子として定義される。
【数29】
【0080】
ここで、数28は、オラクルがユニタリ演算子{U_λ}の線形結合として書けることを意味している。つまり、前述のユニタリ演算子Uの線形和Oに係る和の公式を利用することにより、任意のオラクルを作成できることを意味している。
【0081】
例として、ある状態αとして、すべての量子ビットが0である状態を考える。つまり、オラクルは数30のように表すことができる。ここで、演算子{U_λ}は、具体的に、
図11に示される形で、量子回路を構成することができる。
図11は、オラクルに係り、各種量子回路の一例を示している。
【数30】
【0082】
つまり、n量子ビットの内、0から1に変換したい量子ビットにXゲート操作(x軸方向回転のパウリ行列)を作用させる量子回路である。Xゲート操作は0をインプットすると1を、1をインプットすると0を返すゲート操作である。演算子{U_λ}はXゲート操作を組み合わせることにより、具体的に書き下すことができる。
【0083】
これら、演算子{U_λ}の具達的な量子回路表現を与えたところで、和の公式を利用することにより、実際に任意のオラクルを作成することができる。
【0084】
4.その他
本節では、量子計算機1の変形例について説明する。すなわち、次のような態様によって、本実施形態に係る量子計算機1をさらに創意工夫してもよい。
【0085】
(1)コンピュータを量子計算機1として機能させるプログラムを実施してもよい。
(2)量子ゲート53を量子回路として単独で実施してもよい。
【0086】
次に記載の各態様で提供されてもよい。
前記量子計算機において、第k層のパラメータ群は、2のn-k乗個のパラメータを含む、もの。
前記量子計算機において、前記ユニタリ演算子の線形和における各係数をn桁の2進数で表されるインデックスを用いて順に識別することとすると、前記設定部は、前記第k層のパラメータ群に含まれるパラメータが前記各係数のうち特定の1組の係数の比に依存するように、前記パラメータを設定するように構成され、ここで前記特定の1組の係数は、前記インデックスの小さい方からk番目の位の値が異なり且つこれ以外の位の値が等しい2つの係数である、もの。
前記量子計算機において、前記第k層のパラメータ群に含まれるパラメータをn-k桁の2進数で表されるインデックスを用いて順に識別することとすると、前記設定部は、前記第k層のパラメータ群に含まれる第1のパラメータが前記第k-1層のパラメータ群に含まれる特定の1組の第2のパラメータの余弦の比に依存するように、前記パラメータを設定するように構成され、ここで前記特定の1組の第2のパラメータは、前記第1のパラメータのインデックスの末尾に0及び1をそれぞれ追加したインデックスを有する2つのパラメータである、もの。
前記量子計算機において、前記量子ゲートは、n層の制御ユニタリゲートを含み、第k(2≦k≦n)層目の前記制御ユニタリゲートは、1個の制御ビットと、k-1個の被制御ビットとを入力させ、第k-1層目の第1及び第2の制御ユニタリゲートと、回転変換ゲートとを備え、前記第1の制御ユニタリゲートは、前記制御ビットの値が0の場合、前記被制御ビットの値を操作するように構成され、前記第2の制御ユニタリゲートは、前記制御ビットの値が1の場合、前記被制御ビットの値を操作するように構成され、前記回転変換ゲートは、前記制御ビットに作用させる、もの。
前記量子計算機において、n=2である、もの。
前記量子計算機において、観測部をさらに備え、前記観測部は、前記量子ゲートにおける前記n個の補助ビットの出力値である補助出力値を観測するように構成され、前記量子ゲートは、前記観測部によって観測された前記補助出力値がすべて0の場合に、前記標的ビットの入力値と前記ユニタリ演算子の線形和との積を前記標的ビットの出力値である標的出力値として出力するように構成される、もの。
前記量子計算機において、前記量子ゲートは、前記観測部が前記補助出力値を0と観測した場合に、前記標的ビットの入力値とユニタリ演算子の第1の線形和との積を第1の標的出力値として出力し、前記観測部が前記補助出力値を1と観測した場合に、前記標的ビットの入力値とユニタリ演算子の第2の線形和との積を第2の標的出力値として出力するように構成され、ここで前記第2の線形和は、前記第1の線形和のエルミート共役である、もの。
前記量子計算機において、前記第1の線形和は、所定の関数における電子の消滅演算子であり、前記第2の線形和は、前記所定の関数における電子の生成演算子であり、ここで前記所定の関数は、グリーン関数又は線形応答関数であり、量子位相推定部をさらに備え、前記量子位相推定部は、前記第1及び第2の標的出力値に対して、量子位相推定を実行するように構成され、前記特定部は、前記量子位相推定の結果に基づいて、前記所定の関数を特定するように構成される、もの。
前記量子計算機において、前記量子ゲートは、前記観測部が前記補助出力値を0と観測した場合に、前記標的ビットの入力値とユニタリ演算子の線形和との積を標準出力値として出力することで、任意の前記量子ビットの状態を出力するように構成される、もの。
プログラムであって、コンピュータを前記量子計算機として機能させる、もの。
量子計算方法であって、設定ステップと、演算ステップと、特定ステップとを備え、前記設定ステップでは、項数が2のn乗で規定されるユニタリ演算子の線形和における各係数に基づいて、n層のパラメータ群を設定し、ここで第k(2≦k≦n)層のパラメータ群は、第k-1層のパラメータ群に基づいて再帰的に設定され、前記演算ステップでは、前記n層のパラメータ群に含まれるパラメータに基づいて、各ビットに入力された入力値に対して所定の演算を実行し、ここで前記各ビットは、n個の補助ビットとm個の標的ビットとを含むn+m個のビットで構成され、前記特定ステップでは、前記演算ステップでの演算結果に基づいて、前記ユニタリ演算子の線形和を特定する、方法。
前記量子計算方法において、第k層のパラメータ群は、2のn-k乗個のパラメータを含む、方法。
前記量子計算方法において、前記ユニタリ演算子の線形和における各係数をn桁の2進数で表されるインデックスを用いて順に識別することとすると、前記設定ステップでは、前記第k層のパラメータ群に含まれるパラメータが前記各係数のうち特定の1組の係数の比に依存するように、前記パラメータを設定し、ここで前記特定の1組の係数は、前記インデックスの小さい方からk番目の位の値が異なり且つこれ以外の位の値が等しい2つの係数である、方法。
前記量子計算方法において、前記第k層のパラメータ群に含まれるパラメータをn-k桁の2進数で表されるインデックスを用いて順に識別することとすると、前記設定ステップでは、前記第k層のパラメータ群に含まれる第1のパラメータが前記第k-1層のパラメータ群に含まれる特定の1組の第2のパラメータの余弦の比に依存するように、前記パラメータを設定し、ここで前記特定の1組の第2のパラメータは、前記第1のパラメータのインデックスの末尾に0及び1をそれぞれ追加したインデックスを有する2つのパラメータである、方法。
前記量子計算方法において、前記演算ステップは、n層の制御ユニタリゲートからなるゲート操作を含み、第k(2≦k≦n)層目の前記制御ユニタリゲートは、1個の制御ビットと、k-1個の被制御ビットとを入力させ、第k-1層目の第1及び第2の制御ユニタリゲートと、回転変換ゲートとを備え、前記第1の制御ユニタリゲートは、前記制御ビットの値が0の場合、前記被制御ビットの値を操作するように構成され、前記第2の制御ユニタリゲートは、前記制御ビットの値が1の場合、前記被制御ビットの値を操作するように構成され、前記回転変換ゲートは、前記制御ビットに作用させる、方法。
前記量子計算方法において、n=2である、方法。
前記量子計算方法において、観測ステップをさらに備え、前記観測ステップでは、前記量子ゲートにおける前記n個の補助ビットの出力値である補助出力値を観測し、前記演算ステップでは、前記観測ステップで観測された前記補助出力値がすべて0の場合に、前記標的ビットの入力値と前記ユニタリ演算子の線形和との積を前記標的ビットの出力値である標的出力値として出力する、方法。
前記量子計算方法において、前記演算ステップでは、前記観測ステップで前記補助出力値を0と観測した場合に、前記標的ビットの入力値とユニタリ演算子の第1の線形和との積を第1の標的出力値として出力し、前記観測ステップで前記補助出力値を1と観測した場合に、前記標的ビットの入力値とユニタリ演算子の第2の線形和との積を第2の標的出力値として出力し、ここで前記第2の線形和は、前記第1の線形和のエルミート共役である、方法。
前記量子計算方法において、前記第1の線形和は、所定の関数における電子の消滅演算子であり、前記第2の線形和は、前記所定の関数における電子の生成演算子であり、ここで前記所定の関数は、グリーン関数又は線形応答関数であり、量子位相推定ステップをさらに備え、前記量子位相推定ステップでは、前記第1及び第2の標的出力値に対して、量子位相推定を実行し、前記特定ステップでは、前記量子位相推定の結果に基づいて、前記所定の関数を特定する、方法。
前記量子計算方法において、前記演算ステップでは、前記観測ステップで前記補助出力値を0と観測した場合に、前記標的ビットの入力値とユニタリ演算子の線形和との積を標的出力値として出力することで、任意の前記量子ビットの状態を出力する、方法。
量子回路であって、入力部と、演算部と、標的ビット出力部とを備え、前記入力部は、n個の補助ビットとm個の標的ビットとを含むn+m個のビットで構成され、前記演算部は、n層のパラメータ群に含まれるパラメータに基づいて、前記入力部より入力された入力値に対して所定の演算を実行するように構成され、ここで前記n層のパラメータ群は、項数が2のn乗で規定されるユニタリ演算子の線形和における各係数に基づいて決定され、且つ第k(2≦k≦n)層のパラメータ群が第k-1層のパラメータ群に基づいて再帰的に決定され、前記標的ビット出力部は、前記標的ビットに入力された入力値と前記ユニタリ演算子の線形和との積を出力するように構成される、もの。
前記量子回路において、第k層のパラメータ群は、2のn-k乗個のパラメータを含む、もの。
前記量子回路において、前記ユニタリ演算子の線形和における各係数をn桁の2進数で表されるインデックスを用いて順に識別することとすると、前記第k層のパラメータ群に含まれるパラメータは、前記各係数のうち特定の1組の係数の比に依存するように決定され、ここで前記特定の1組の係数は、前記インデックスの小さい方からk番目の位の値が異なり且つこれ以外の位の値が等しい2つの係数である、もの。
前記量子回路において、前記第k層のパラメータ群に含まれるパラメータをn-k桁の2進数で表されるインデックスを用いて順に識別することとすると、前記第k層のパラメータ群に含まれる第1のパラメータは、前記第k-1層のパラメータ群に含まれる特定の1組の第2のパラメータの余弦の比に依存するように決定され、ここで前記特定の1組の第2のパラメータは、前記第1のパラメータのインデックスの末尾に0及び1をそれぞれ追加したインデックスを有する2つのパラメータである、もの。
前記量子回路において、前記演算部は、n層の制御ユニタリゲートを含み、第k(2≦k≦n)層目の前記制御ユニタリゲートは、1個の制御ビットと、k-1個の被制御ビットとを入力させ、第k-1層目の第1及び第2の制御ユニタリゲートと、回転変換ゲートとを備え、前記第1の制御ユニタリゲートは、前記制御ビットの値が0の場合、前記被制御ビットの値を操作するように構成され、前記第2の制御ユニタリゲートは、前記制御ビットの値が1の場合、前記被制御ビットの値を操作するように構成され、前記回転変換ゲートは、前記制御ビットに作用させる、もの。
前記量子回路において、n=2である、もの。
前記量子回路において、前記標的ビット出力部は、前記n個の補助ビットの出力値の観測結果がすべて0の場合に、前記積を出力するように構成される、もの。
前記量子回路において、前記標的ビット出力部は、前記n個の補助ビットの出力値がすべて0と観測した場合に、任意の前記量子ビットの状態を出力するように、前記標的ビットの入力値とユニタリ演算子の線形和との積を標的出力値とするように構成される、もの。
もちろん、この限りではない。
【0087】
最後に、本発明に係る種々の実施形態を説明したが、これらは、例として提示したものであり、発明の範囲を限定することは意図していない。当該新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。当該実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0088】
1 :量子計算機
2 :通信バス
3 :通信部
4 :記憶部
5 :制御部
51 :設定部
52 :処理部
53 :量子ゲート
53a :量子ゲート
53b :量子ゲート
53c :量子ゲート
53d :量子ゲート
53e :量子ゲート
53f :量子ゲート
53g :量子ゲート
531 :入力部
532 :演算部
532a :等価回路
533 :出力部
533a :標的ビット出力部
54 :観測部
55 :量子位相推定部
56 :特定部
6 :表示部
7 :入力部
AQ :補助ビット
GF :グリーン関数
LF :線形応答関数
LF1 :スピンスピン応答関数
LF2 :電荷電荷応答関数
LF3 :電荷スピン応答関数
O :線形和
O1 :第1の線形和
O2 :第2の線形和
TQ :標的ビット
U :ユニタリ演算子
a :電子の消滅演算子
a+ :電子の生成演算子
c :係数
n :電子密度演算子
s :スピン密度演算子
θ :パラメータ