IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人 東京大学の特許一覧

特開2024-59124量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム
<>
  • 特開-量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム 図1
  • 特開-量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム 図2
  • 特開-量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム 図3
  • 特開-量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム 図4
  • 特開-量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム 図5
  • 特開-量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム 図6
  • 特開-量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム 図7
  • 特開-量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム 図8
  • 特開-量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024059124
(43)【公開日】2024-05-01
(54)【発明の名称】量子ビットエラー推定装置、量子ビットエラー推定方法、及びプログラム
(51)【国際特許分類】
   H03M 13/47 20060101AFI20240423BHJP
   G06F 7/38 20060101ALI20240423BHJP
   G06N 10/70 20220101ALI20240423BHJP
【FI】
H03M13/47
G06F7/38 510
G06N10/70
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022166585
(22)【出願日】2022-10-18
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人科学技術振興機構 ムーンショット型研究開発事業「誤り耐性型量子コンピュータにおける理論・ソフトウェア研究開発」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】鈴木 泰成
(72)【発明者】
【氏名】徳永 裕己
(72)【発明者】
【氏名】廖 望
【テーマコード(参考)】
5J065
【Fターム(参考)】
5J065AD03
5J065AD13
5J065AG02
5J065AH06
(57)【要約】      (修正有)
【課題】表面符号を用いた量子誤り訂正において、ビットエラーの発生確率を一定とする近似を用いず、実用に耐える符号距離サイズで、求められる時間内でのエラー推定する。
【解決手段】量子ビットエラー推定装置は、1回の符号サイクルで取得するシンドローム値列3次元的に層積み重ね、3次元のビットマップを構築するシンドローム積層部、3次元のビットマップからアクティブ・ノードを抽出してノード状態テーブルを生成するアクティブ・シンドローム抽出部、ペアリング状態である前記ノードのうち任意の2つをペアリングするコストを取得するペアリング・コスト・テーブル、ペアリング・コスト・テーブルとノード状態テーブルを用いてペアリング候補テーブルを生成するペアリング候補抽出部、ペアリング候補テーブル上のペアリング・コストの小さいペアから順にノードを組合わせて組合せ済みペア・テーブルを生成するペア・ノード決定部及び判断部を含む。
【選択図】図6
【特許請求の範囲】
【請求項1】
表面符号で符号化されたデータ量子ビットのエラー位置を推定する、量子ビットエラー推定装置であって、
補助量子ビットを複数回観測して、観測結果の3次元格子を構成する3次元格子構成部と、
前記3次元格子中の任意のノード間のペアリング・コストを格納したペアリング・コスト・テーブルと、
前記3次元格子からアクティブ・ノードを抽出してノード状態テーブルを生成するアクティブ・シンドローム抽出部と、
前記ペアリング・コスト・テーブルと前記ノード状態テーブルを用いてペアリング候補テーブルを生成するペアリング候補抽出部と、
前記ペアリング候補テーブル上のペアリング・コストの小さいペアから順にノードを組合わせて、組合せ済みペア・テーブルを生成するペア・ノード決定部と
を含む、量子ビットエラー推定装置。
【請求項2】
請求項1に記載の量子ビットエラー推定装置であって、
前記3次元格子の辺には、エラーが生じる確率に応じた不均質なコストが設定されている
量子ビットエラー推定装置。
【請求項3】
請求項1に記載の量子ビットエラー推定装置であって、
前記ノード状態テーブルはペアリング状態フラグを備え、前記ペア・ノード決定部が、前記組合せ済みペア・テーブルに基づき、前記ペアリング状態フラグを更新する
量子ビットエラー推定装置。
【請求項4】
請求項1に記載の子ビットエラー推定装置であって、
前記3次元格子構成部は、符号サイクルごとに、最も古い観測結果を除去し、最も新しい観測結果を追加して、前記3次元格子を更新するものである
量子ビットエラー推定装置。
【請求項5】
請求項1に記載の量子ビットエラー推定装置であって、
前記3次元格子を構成する観測結果のうち、最も古い観測結果に属するノードが組合せ済みであるか否かを判断する判断部
を含む、量子ビットエラー推定装置。
【請求項6】
請求項1に記載の量子ビットエラー推定装置であって、
前記ペア・ノード決定部は、所定の値より小さなペアリング・コストの範囲でノードの組合せを実施するものである
量子ビットエラー推定装置。
【請求項7】
表面符号で符号化されたデータ量子ビットのエラー位置を推定する、量子ビットエラー推定方法であって、
3次元格子構成部が、補助量子ビットを複数回観測して、観測結果の3次元格子を構成するステップと、
前記3次元格子中の任意のノード間のペアリング・コストを格納したペアリング・コスト・テーブルをあらかじめ用意するステップと、
アクティブ・シンドローム抽出部が、前記3次元格子からアクティブ・ノードを抽出してノード状態テーブルを生成するステップと、
ペアリング候補抽出部が、ペアリング・コスト・テーブルとノード状態テーブルを用いてペアリング候補テーブルを生成するステップと、
ペア・ノード決定部が、ペアリング候補テーブル上のペアリング・コストの小さいペアから順にノードを組合わせて、組合せ済みペア・テーブルを生成するステップ
を含む、量子ビットエラー推定方法。
【請求項8】
請求項1から6のいずれか一項に記載の量子ビットエラー推定装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示技術は、表面符号を用いた量子誤り訂正技術に関する。
【背景技術】
【0002】
量子コンピュータは、量子力学の重ね合わせの原理を活用して計算を行う技術である。素因数分解や量子化学計算などの問題を高速に解けることが期待されているため、その開発が世界で盛んに進められている。
古典コンピュータを構成する素子である(古典)ビットは0または1の値をとる。一方、量子コンピュータを構成する素子である量子ビットは、0と1に加えて、0と1の連続的な重ね合わせ状態をとることができる。この重ね合わせ状態を用いると、ビットの値が0の場合と1の場合の計算を同時に実行することが可能となるが、量子ビットを観測するとその値は0または1に確定し、重ね合わせ状態が壊れてしまう。
【0003】
図1(a)に量子計算のおおまかな流れを示す。量子計算では、まず、量子ビットの初期化を行い、量子ゲートにより単一または複数の量子ビットを操作し(量子演算)、演算後の量子ビットを観測する。
量子ビットにはエラーが生じやすいため、量子コンピュータの計算を進めていくためにはそのエラーを訂正する必要がある。しかし、前述の量子ビットの性質により、通常の古典ビットのように量子ビットを直接観測してエラーの有無を調べることはできない。そこで、異なる役割を持つ複数の物理量子ビットを組み合わせて1つの論理量子ビットの状態を冗長に表現し、物理量子ビットにある程度のエラーが生じても論理量子ビットの状態を元の状態に復元できるようにした、量子誤り訂正符号という枠組みが提案されている。
【0004】
代表的な量子誤り訂正符号の1つである表面符号は、図2のように、データ量子ビットと、観測用の補助量子ビットを格子状に規則正しく並べて論理量子ビットを構成する(参考文献1:A. Fowler et al. "Surface codes: Towards practical large-scale quantum computation," Physical Review A 86, 032324, 2012)。表面符号は、同様の構造を繰り返し、格子のサイズを大きくすることで符号の冗長性を増し、エラー耐性を向上できるという拡張性も持つ。
データ量子ビットは論理量子ビットの重ね合わせ状態を表すために用いられ、直接観測されることはない。補助量子ビットの観測値は、「隣接する3から4個のデータ量子ビットのうち奇数個にエラーが生じているかどうか」(パリティ)を表す1ビットの値である。このパリティから、実際にデータ量子ビットに生じているエラーの種類と箇所を特定することを復号と呼ぶ。
【0005】
図3に、データ量子ビットのエラーと、補助量子ビットに現れるエラーの関係の例を示す。
データ量子ビット301でビット反転エラーが生じると、補助量子ビット302と303でエラーを示すパリティが検出される。つまり、ビット反転エラー検出用の補助量子ビット302と303で同時にエラーを検出することで、間に挟まれたデータ量子ビット301でビット反転エラーが起きたことを特定できる。
データ量子ビット304、305、306でビット反転エラーが生じると、補助量子ビット307、308でエラーを示すパリティが検出される。補助量子ビット309と310もエラービットに隣接するが、2つのエラービットに同時に隣接するためビット反転を二重に観測することになり(偶数個のエラー)、結果、パリティ・エラーは検出されない。
このように、表面符号では、補助量子ビットの観測結果は、連続したエラー(エラーチェーン)の両端のデータ量子ビットの位置を示す。
【0006】
図1(b)に量子誤り訂正の流れと量子計算の流れとの関係を示す。量子誤り訂正は、量子計算で生じたエラーが累積することの無いよう、量子計算と並行して繰り返し実施する。検出したエラーは、検出の都度、訂正することもできるが、データ量子ビットのエラー特定と訂正は時間を要する手続きである。そこで、データ量子ビットエラーの都度訂正は行わず、量子ゲートの操作と並行してエラー特定を実施して検出結果を保持しておき、データ量子ビットを観測した際にまとめて論理量子ビットのエラー訂正を行う方法がある(参考文献2:L. Riesebos et al., " Pauli Frames for Quantum Computer Architectures," DAC '17: Proceedings of the 54th Annual Design Automation Conference 2017, pp.1-6)。図1は参考文献2に倣った手順を示しており、量子計算フロー(a)の「データ量子ビットの観測」から得られる「エラー訂正前の論理量子ビット測定値」を、量子誤り訂正フロー(b)で得たデータ量子ビットエラー情報を用いて訂正し、「エラー訂正済みの論理量子ビット測定値」を得る流れを示している。「エラー訂正済みの論理量子ビット測定値」は、測定されずに残っているその他の論理量子ビットの、後続の量子ゲートの操作の種類の選択に利用される。
【0007】
実際の量子コンピュータでは補助量子ビットの観測にもエラーが生じる場合がある。そこで、図1(b)のように補助量子ビットの観測を複数回行い、得られた全ての観測値を元に復号処理を行うことで、観測エラーにも対処する。
図4は補助量子ビットの観測を4回行い、観測結果を縦に積み上げた3次元格子である。3次元格子は、ビット反転エラー検出結果と、位相反転エラー検出結果のそれぞれについて作成する。黒がパリティ・エラーを示す補助量子ビットであり、上述の通り、エラーチェーン(孤立エラーも含む)の端点を示す。
表面符号の復号処理は、図4のような3次元格子中のノード(図4では黒色のノード)をエラーチェーンの端部としてペアリングする、グラフのマッチング問題を解くことで実施できることが知られている(参考文献1)。この時、ペアリングしたノード間の辺集合が推定されたエラーチェーンに対応する。すなわち、復号器と呼ばれる、マッチング問題を解く古典コンピュータと量子ビットを組み合わせることで、誤り耐性量子コンピュータを構成できる。
図4のマッチング問題において、それぞれの辺には対応するエラーが生じる確率に応じてコストが設定されている。このコストは対応するエラーが生じる確率が低ければ低いほど大きな値となるように設定される。従って、出来るだけ少ない辺集合でマッチングを行うことが尤もらしいエラーを推定することに対応する。
【0008】
上記のエラーのパリティ値の検出とエラーの推定は計算に追従して行われなければならない。例えば量子計算で実現が有望視されている超伝導量子ビットでは、1μs程度の時間でエラー推定を行うことが期待されている。この速度に追従してエラー推定を行うための制御装置がこれまで提案されてきている(参考文献3:A. Holmes et al, "NISQ+: Boosting quantum computing power by approximating quantum error correction," Proceedings of the ACM/IEEE 47th Annual International Symposium on Computer Architecture, May 2020, pp.556-569)。
この装置では、1μs以内にエラーの推定が収まるよう、上記のマッチング問題を解く近似アルゴリズムを採用して高速なエラー推定を可能にしている。
【0009】
上記技術は量子コンピュータの実機に追従可能なエラーの推定を可能にするが、マッチングにいくつかの近似を導入しているため、エラー推定の精度を犠牲にしている。
その近似で影響の大きいものの一つに、各辺のコストを均質だとみなすというものがある。各辺で本来個々に異なるコストを均質だとみなすと、二つのノードの間のコストの計算や最短経路が定数時間で求まるため、高速なエラー推定が可能となる。
一方、この近似によりマッチングのコストの計算が正しい値とは異なるものになるため、特にコストのばらつきが大きい場合はエラー推定の性能が大きく劣化する。
【0010】
上記のエラー推定を正確に行うために提案された技術として、GoogleらによるLILLIPUTがある(非特許文献1)。これは、与えられたパリティ列のパターンに対して、どのようなエラーが推定されるべきかのルックアップテーブルを保持するというものである。この設計は事前に正しいルックアップテーブルを計算することで近似の一切ない推定が可能となり、しかもルックアップテーブルの参照は高速に行えるため動作も早いという利点を持つ。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献1】P. Das et al, "LILLIPUT: A Lightweight Low-Latency Lookup-Table Based Decoder for Near-term Quantum Error Correction," arXiv preprint, arXiv:2108.06569.
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかし、LILLIPUTでは必要なルックアップテーブルのサイズが格子のサイズに対して指数関数的に大きくなるため、現実的なメモリで実装可能な復号装置のサイズは、3,4程度の小規模な符号距離に限られる。化学計算や素因数分解などの実用的な応用には21程度の符号距離が必要と予想されているため(参考文献4:R. Babbush et al, "Encoding electronic spectra in quantum circuits with linear T complexity," Physical Review X 8, 041015, 2018)、LILLIPUTは実用的なケースに使うには性能が足りていない。
【課題を解決するための手段】
【0013】
上記課題を解決する量子ビットエラー推定装置は、3次元格子構成部と、ペアリング・コスト・テーブルと、アクティブ・シンドローム抽出部と、ペアリング候補抽出部と、ペア・ノード決定部を含む。
3次元格子構成部は補助量子ビットを複数回観測して観測結果の3次元格子を構成する
ペアリング・コスト・テーブルは、3次元格子中の任意のノード間のペアリング・コストを保持する。
アクティブ・シンドローム抽出部は、3次元格子からアクティブ・ノードを抽出してノード状態テーブルを生成する。
ペアリング候補抽出部は、ペアリング・コスト・テーブルとノード状態テーブルを用いてペアリング候補テーブルを生成する。
ペア・ノード決定部は、ペアリング候補テーブル上のペアリング・コストの小さいペアから順にノードを組合わせて、組合せ済みペア・テーブルを生成する。
【発明の効果】
【0014】
開示技術に係る量子ビットエラー推定装置によれば、LILLIPUTとは異なる形で増加速度を抑えたルックアップテーブルを保持し、エラー推定を部分的にルックアップテーブルの参照に委譲するので、不均質な重みを考慮しながら高速なエラー推定が可能となる。
【図面の簡単な説明】
【0015】
図1】量子計算と量子誤り訂正の連携を示す図。
図2】表面符号によるデータ量子ビットと補助量子ビットの配置の例を示す図。
図3】データ量子ビットのエラーと補助量子ビットによる検出の例を示す図。
図4】補助量子ビットの観測結果から構成した3次元格子の例を示す図。
図5】実施例1に係る量子コンピュータの機能ブロックを示す図。
図6】実施例1に係る量子ビットエラー推定装置の機能ブロックを示す図。
図7】実施例1に係る量子ビットエラー推定装置が備えるテーブルの例を示す図。
図8】実施例1に係る量子ビットエラー推定装置の作用を説明するフローチャート図。
図9】コンピュータの機能構成例を示す図。
【発明を実施するための形態】
【0016】
以下、開示技術の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
図1(b)に示した通り、量子計算は、エラー検出のための補助量子ビットの定期的なパリティ検査と共に行われる。このパリティ検査の周期を以降は符号サイクルと呼ぶことにする。また、得られたパリティ値のことをシンドローム値、シンドローム値が奇数のノード(エラーの存在を示すノード)をアクティブ・シンドローム・ノードと呼ぶことにする。
量子計算ではパウリXエラー(ビット反転エラー)とパウリZエラー(位相反転エラー)という二種類のエラーを訂正する必要があるが、この二つのエラー訂正の手続きは、アルゴリズム上は同じ処理で可能である。以降では一種類のエラー推定フローについて述べるが、当該フローはパウリXエラーの推定とパウリZエラーの推定の両方に適用できる。
【実施例0017】
図5に、開示技術に係る量子ビットエラー推定装置を含む、量子コンピュータ501の一例の機能ブロック図を示す。量子コンピュータ501は、物理量子ビット部502、制御部503、量子ビットエラー推定装置504を含む。
制御部503は、符号サイクルごとに補助量子ビットの観測を行い、シンドローム値を取得して量子ビットエラー推定装置504に入力する。
【0018】
図6は、量子ビットエラー推定装置504の機能ブロック図である。量子ビットエラー推定装置504は、シンドローム積層部601、アクティブ・シンドローム抽出部602、ノード状態テーブル603、ペアリング・コスト・テーブル604、ペアリング候補抽出部605、ペアリング候補テーブル606、ペア・ノード決定部607、組合せ済みペア・テーブル608、判断部609を含む。
図7は、ペアリング・コスト・テーブル604(a)、ノード状態テーブル603(b)、ペアリング候補テーブル606(c)、組合せ済みペア・テーブル608(d)の内容の一例を模式的に示したものである。
図8は、量子ビットエラー推定装置504の作用を説明するフローチャートである。
図6,7,8を中心に、開示技術に係る量子ビットエラー推定装置の動作を説明する。
【0019】
[ペアリング・コスト・テーブル]
ペアリング・コスト・テーブル604は固定されたテーブルであり、計算中は読み出ししか行われない。ペアリング・コスト・テーブル604は、3次元ビットマップ(後述)中の二つの3次元座標を送出すると、その2点間のコストを返す機能を持つ。
図7(a)に、ペアリング・コスト・テーブル604の一例を示す。「Node P」は3次元ビットマップ中の位置を示す3次元座標値であり、「cQR」はNode QとNode Rを結ぶ一つまたは複数の辺のコストの合計である。
【0020】
[ノード状態テーブル]
ノード状態テーブル603は3次元ビットマップ中のアクティブ・シンドローム・ノードの全てを、ペアリング状態フラグと共に保持する。以下、組合せ済みのノードは「ペアリング状態=1」とし、組合せが済んでいないノードは「ペアリング状態=0」とする。図7(b)にノード状態テーブル603の一例を示す。
【0021】
[シンドローム値列の取得]
量子ビットエラー推定装置504は、制御部503から最新のシンドローム値列を取得する(ステップS801)。表面符号が符号距離dであるとき、そのビット数はd×(d-1)ビットである。
なお、図2は符号距離4の場合にあたり、ビット反転エラー検出用補助量子ビットの数、位相反転エラー検出用補助量子ビットの数はそれぞれ4×3=12個である。
【0022】
[3次元ビットマップの更新]
シンドローム積層部601は、1回の符号サイクルで取得するシンドローム値列をd×(d-1)の2次元配列(シンドローム層)とし、これを3次元的にd層積み重ね、観測エラーに対する推定も可能な3次元のビットマップを構築する(ステップS802)。このビットマップで値が1となっているノードがマッチングの対象となるアクティブ・シンドローム・ノードである。
なお、シンドローム層をd層積み重ねるのは、1個のシンドローム層と同じ符号距離dで「観測エラー」を訂正可能とするためである。また、測定フィードバック(後述)まで、エラー推定は最新のd個のシンドローム層を用いて実施する。すなわち、符号サイクルのたびに、最も古いシンドローム層を除去し、最新のシンドローム層を追加したd層の3次元ビットマップを用いてエラー推定を実施する。
3次元のビットマップが構成されたら、これをアクティブ・シンドローム抽出部602に送付する。ただし、前回の符号サイクルで最終的に得たノード状態テーブル603で「ペアリング状態=1」になっているノードが再度マッチングに利用されることのないよう、「ペアリング状態=1」のノード・データはマスクして(シンドローム値を反転して)アクティブ・シンドローム抽出部602に送出する。
【0023】
[アクティブ・シンドロームの抽出]
アクティブ・シンドローム抽出部602は、3次元のビットマップを受け取ったら、値が1となっているノードの3次元座標を計算する。この座標のリストがマッチングの対象となる座標のリストである。
アクティブ・シンドローム抽出部602は、計算された座標のリストをノード状態テーブル603に送出し、ノード状態テーブル603を初期化する(全てのノードについて「ペアリング状態=0」とする)(ステップS803)。図7(b)に、ノード状態テーブルの一例を示す。
なお、アクティブ・シンドローム・ノードの数が奇数個だった場合は、バウンダリー・ノード(図4の各シンドローム層で、左右に飛び出た辺の先に仮想したノード)を追加して、ノード状態テーブルのエントリー数を偶数個にする。
【0024】
[ペアリング候補テーブルの生成]
ペアリング・コスト・テーブル604を用いて、ノード状態テーブル603の「ペアリング状態=0」であるノードのうち任意の2つをペアリングすることのコストを取得し、ペアリング候補テーブル606に格納する(ステップS804)。
このとき、ペアリング・コスト・テーブル604への問い合わせ回数は、ノード状態テーブル603にある「ペアリング状態=0」のノード数の2乗のオーダーとなる。
図7(c)にペアリング候補テーブル606の一例を示す。テーブル右側の数字はコストの大小関係を表し、ペアリング候補テーブル606はコストの小さい順に作成しても良い。
【0025】
[ペア・ノードの決定]
ペア・ノード決定部607は、ペアリング候補テーブル606に記載されたコストを参照し、最も小さなコストでマッチングできるペアから順番にペアリングを行う(ステップS805)。ペアリングされたノードはノード状態テーブル603で「ペアリング状態=1」に更新されるとともに、ペア情報が、組合せ済みペア・テーブル608に送出される(ステップS806)。図7(d)に組合せ済みペア・テーブルの一例を示す。
なお、マッチングは一般に、一回で完了しない。ペアリング候補テーブルの状態をマッチングしたノード・ペアによって更新する必要があるためである。
【0026】
[マッチング終了判断]
判断部609は、ノード状態テーブル603を参照し、マッチング処理が終了条件を満たすか否か(最も古いシンドローム層のアクティブ・ノードが全て「ペアリング状態=1」となったか否か)を判断する(ステップS807)。
終了条件を満たす場合、ステップS808に進む。満たさない場合、ステップS804に戻り、「ペアリング状態=0」のノードのマッチングを継続する。
【0027】
[測定フィードバック実施判断]
判断部609は、次の量子ゲート操作のため(中間処理)、または量子演算の結果を確認するため(最終処理)、データ量子ビットが測定されたか否か判断する。
データ量子ビットが測定された場合(ステップS808のYes)、量子ビットエラー推定装置504は、処理を終了する。
データ量子ビットが測定されていない場合(ステップS808のNo)、組合せ済みペア・テーブルの情報をパウリ・フレーム610に送信し(ステップS809)、次の符号サイクル(次のパリティ検査)に入る。
【0028】
[量子演算結果の訂正]
量子コンピュータ501は、データ量子ビットの観測結果にパウリ・フレーム610を適用して、中間の、あるいは最終の量子演算結果の誤りを訂正する。
【0029】
[変形例1]
実施例1では、ペアリング候補テーブルから、ペアリング・コストの小さい順にマッチング可能なノード・ペアをピックアップしたが、ペアリング候補テーブル上の全ての候補を単純に組合わせてしまうと、コストを最小とする組合せから遠ざかる可能性がある。次の観測結果から、よりコストの小さい組合せが導かれる場合があるからである。
そこで、ペア・ノード決定部は、ペアリング・コストの上限値を定め、ペアリング・コストが上限値を超える場合にはそれ以上マッチングを進めないこととする。
この結果、コストが高いペアを無理に「組合せ済み」とすることなく、次の観測結果を待ってよりコストの小さいノード・ペアを作ることが可能になる。
【0030】
[プログラム、記録媒体]
上述の各種の処理は、図9に示すコンピュータ2000の記録部2020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040、表示部2050などに動作させることで実施できる。
【0031】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0032】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0033】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、本発明はFPGA(Field-programmable gate array)の上で高速に量子コンピュータを制御する装置や、ASIC(Application specific integrated circuit)のような集積回路の形での具体的実装として用いてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0034】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0035】
本発明は、表面符号による量子誤り訂正を備えた、ゲート型量子コンピュータに利用することができる。
【符号の説明】
【0036】
501 量子コンピュータ
502 物理量子ビット部
503 制御部
504 量子ビットエラー推定装置
601 シンドローム積層部
602 アクティブ・シンドローム抽出部
603 ノード状態テーブル
604 ペアリング・コスト・テーブル
605 ペアリング候補抽出部
606 ペアリング候補テーブル
607 ペア・ノード決定部
608 組合せ済みペア・テーブル
609 判断部
610 パウリ・フレーム
図1
図2
図3
図4
図5
図6
図7
図8
図9