(57)【要約】      （修正有）【課題】量子シミュレーション計算の効率を高める量子回路シミュレーション方法、装置、設備及び記憶媒体を提供する。【解決手段】量子回路シミュレーション方法は、ｎ個の量子ビットを含む量子回路に基づいて、量子回路の対応する、ｎ階状態テンソルによって表現されるｎ階純粋状態を得ることと、量子回路に基づいて、ｎ階状態テンソルとの縮約処理が行われるべき、量子ゲートを表現する（ｋ，ｋ）階ゲートテンソルを決定することと、ｎ階状態テンソルと（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクス間の処理に変換し、処理結果を得ることと、処理結果をｎ状態テンソルと（ｋ，ｋ）階ゲートテンソルとの縮約処理の結果とし、量子回路のシミュレーションを完了することと、を含む。ここで、ｋは量子ゲートが作用する量子ビットの数を示す。【選択図】図１
2022003501.tif 000002
【特許請求の範囲】
【請求項１】
ｎ個の量子ビットを含む量子回路に基づいて、前記量子回路の対応する、ｎ階状態テンソルによって表現されるｎ階純粋状態を得ることと、
前記量子回路に基づいて、前記ｎ階状態テンソルとの縮約処理が行われるべき、量子ゲートを表現する（ｋ，ｋ）階ゲートテンソルを決定することと、
前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を、古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクス間の処理に変換し、処理結果を得ることと、
前記処理結果を、前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの縮約処理の結果とし、量子回路のシミュレーションを完了することと、を含み、
ここで、ｋは量子ゲートが作用する量子ビットの数を示す、
ことを特徴とする量子回路シミュレーション方法。
【請求項２】
前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現され、
前記ゲートマトリクスは、Ｄｋ×Ｄｋユニタリ行列によって表現され、
前記Ｄは前記量子ビットのエネルギー準位の準位数である、
ことを特徴とする請求項１に記載の量子回路シミュレーション方法。
【請求項３】
前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現され、前記量子ビットのエネルギー準位が２つである場合に、前記ゲートマトリクスは、２ｋ×２ｋユニタリ行列によって表現され、
前記（ｋ，ｋ）階ゲートテンソルにおける各指標と、２ｋ×２ｋユニタリ行列の行指標及び列指標との写像規則は、
前記（ｋ，ｋ）階ゲートテンソルのｋ個の入力の対応する量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｋユニタリ行列の列指標に写像され、 前記（ｋ，ｋ）階ゲートテンソルのｋ個の出力の対応する量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｋユニタリ行列の行指標に対応し、ｋ階ゲートテンソルの対応する前記ゲートマトリクスを得ること、を含む
ことを特徴とする請求項１に記載の量子回路シミュレーション方法。
【請求項４】
前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を、古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクスの間の処理に変換することは、
前記量子ゲートが作用するｋ個の量子ビットに基づいて、前記量子ゲートが作用するｋ個の量子ビットが前記量子回路の初めからｋ個の量子ビットに移動するように、前記ｎ階状態テンソルに対して軸移動変換を行い、（ｋ，（ｎ-ｋ））階状態テンソルを得ることと、
前記（ｋ，（ｎ-ｋ））階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を、古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減する状態マトリクスとゲートマトリクスとの間の処理に変換することと、を含み、
前記（ｋ，（ｎ-ｋ））階状態テンソルは、状態マトリクスによって表現され、
前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現される、
ことを特徴とする請求項１〜３のいずれか一項に記載の量子回路シミュレーション方法。
【請求項５】
前記状態マトリクスは、Ｄｋ×Ｄｎ-ｋ行列によって表現され、
前記Ｄは前記量子ビットのエネルギー準位の準位数である、
ことを特徴とする請求項４に記載の量子回路シミュレーション方法。
【請求項６】
前記量子ビットのエネルギー準位が２つである場合に、前記状態マトリクスは、２ｋ×２ｎ-ｋ行列によって表現され、
前記（ｋ，（ｎ-ｋ））階状態テンソルにおける各指標と、２ｋ×２ｎ-ｋ行列の行指標及び列指標との写像規則は、
前記（ｋ，（ｎ-ｋ））階状態テンソルの初めからｋ個の量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｎ-ｋ行列の行指標に写像され、前記（ｋ，（ｎ-ｋ））階状態テンソルの後ろからｎ-ｋ個の量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｎ-ｋ行列の列指標に写像され、前記（ｋ，（ｎ-ｋ））階状態テンソルの対応する状態マトリクスを得ること、を含む
ことを特徴とする請求項４に記載の量子回路シミュレーション方法。
【請求項７】
前記処理結果は、前記ゲートマトリクスを前記状態マトリクスに右乗して得られた新たな状態マトリクスである、
ことを特徴とする請求項４に記載の量子回路シミュレーション方法。
【請求項８】
写像規則に基づいて、前記新たな状態マトリクスを新たなテンソルに写像することと、
前記軸移動変換に基づいて、前記新たなテンソルに対して逆向きの軸移動を行い、前記量子回路の量子ビットとマッチングする新たなｎ階テンソルを得ることと、を含む
ことを特徴とする請求項７に記載の量子回路シミュレーション方法。
【請求項９】
ｎ個の量子ビットを含む量子回路に基づいて、前記量子回路の対応する、ｎ階状態テンソルによって表現されるｎ階純粋状態を得るための状態テンソル取得モジュールと、
前記量子回路に基づいて、前記ｎ階状態テンソルとの縮約処理が行われるべき、量子ゲートを表現する（ｋ，ｋ）階ゲートテンソルを決定するためのゲートテンソル決定モジュールと、
前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクス間の処理に変換して処理結果を得、前記処理結果を前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの縮約処理の結果とし、量子回路のシミュレーションを完了するための縮約処理モジュールと、を備え、
ここで、ｋは量子ゲートが作用する量子ビットの数を示す、
ことを特徴とする量子回路シミュレーション装置。
【請求項１０】
前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現され、
前記ゲートマトリクスは、Ｄｋ×Ｄｋユニタリ行列によって表現され、
前記Ｄは前記量子ビットのエネルギー準位の準位数である、
ことを特徴とする請求項９に記載の量子回路シミュレーション装置。
【請求項１１】
前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現され、前記量子ビットのエネルギー準位が２つである場合に、前記ゲートマトリクスは、２ｋ×２ｋユニタリ行列によって表現され、
前記（ｋ，ｋ）階ゲートテンソルにおける各指標と、２ｋ×２ｋユニタリ行列の行指標及び列指標との写像規則は、
前記（ｋ，ｋ）階ゲートテンソルのｋ個の入力の対応する量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｋユニタリ行列の列指標に写像され、 前記（ｋ，ｋ）階ゲートテンソルのｋ個の出力の対応する量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｋユニタリ行列の行指標に対応して、ｋ階ゲートテンソルの対応する前記ゲートマトリクスを得ることを含む
ことを特徴とする請求項９に記載の量子回路シミュレーション装置。
【請求項１２】
前記縮約処理モジュールは、
前記量子ゲートが作用するｋ個の量子ビットに基づいて、前記量子ゲートが作用するｋ個の量子ビットが前記量子回路の初めからｋ個の量子ビットに移動するよう、前記ｎ階状態テンソルに対して軸移動変換を行い、（ｋ，（ｎ-ｋ））階状態テンソルを得る軸移動処理サブモジュールと、
前記（ｋ，（ｎ-ｋ））階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減する状態マトリクスとゲートマトリクスとの間の処理に変換する縮約処理サブモジュールと、を備え、
前記（ｋ，（ｎ-ｋ））階状態テンソルは、状態マトリクスによって表現され、
前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現される、
ことを特徴とする請求項９〜１１のいずれか一項に記載の量子回路シミュレーション装置。
【請求項１３】
前記量子回路シミュレーション装置は、
前記状態マトリクスは、Ｄｋ×Ｄｎ-ｋ行列によって表現され、
前記Ｄは前記量子ビットのエネルギー準位の準位数である、
ことを特徴とする請求項１２に記載の量子回路シミュレーション装置。
【請求項１４】
前記量子ビットのエネルギー準位が２つである場合に、前記状態マトリクスは、２ｋ×２ｎ-ｋ行列によって表現され、
前記（ｋ，（ｎ-ｋ））階状態テンソルにおける各指標と、２ｋ×２ｎ-ｋ行列の行指標及び列指標との写像規則は、
前記（ｋ，（ｎ-ｋ））階状態テンソルの初めからｋ個の量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｎ-ｋ行列の行指標に写像され、前記（ｋ，（ｎ-ｋ））階状態テンソルの後ろからｎ-ｋ個の量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｎ-ｋ行列の列指標に写像され、前記（ｋ，（ｎ-ｋ））階状態テンソルの対応する状態マトリクスを得ること、を備える
ことを特徴とする請求項１２に記載の量子回路シミュレーション装置。
【請求項１５】
前記処理結果は、前記ゲートマトリクスを前記状態マトリクスに右乗して得られた新たな状態マトリクスである、
ことを特徴とする請求項１４に記載の量子回路シミュレーション装置。
【請求項１６】
写像規則に基づいて、前記新たな状態マトリクスを新たなテンソルに写像するための写像モジュールと、
前記軸移動変換に基づいて、前記新たなテンソルに対して逆向きの軸移動を行い、前記量子回路の量子ビットとマッチングする新たなｎ階テンソルを得るための逆軸移動モジュールと、を備える
ことを特徴とする請求項１５に記載の量子回路シミュレーション装置。
【請求項１７】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに通信接続されるメモリと、を備え、
前記メモリには、前記少なくとも１つのプロセッサにより実行可能な命令が記憶されており、
前記命令は、前記少なくとも１つのプロセッサにより実行される場合、請求項１〜８のいずれか一項に記載の量子回路シミュレーション方法を実行させることを特徴とする電子設備。
【請求項１８】
請求項１〜８のいずれか一項に記載の量子回路シミュレーション方法をコンピュータに実行させるためのコンピュータ命令を記憶した非一過性のコンピュータ可読記憶媒体。
【請求項１９】
コンピュータにおいてプロセッサにより実行されると、請求項１〜８のいずれか一項に記載の量子回路シミュレーション方法を実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、量子コンピュータ技術分野に関し、特に量子シミュレーション計算分野に関する。
【背景技術】
【０００２】
テンソルネットワーク（Ｔｅｎｓｏｒ Ｎｅｔｗｏｒｋ）は現代物理学、コンピュータ科学研究分野において核心的な役割を果たす数学ツールの一つである。Ｄ.Ｄｅｕｔｓｃｈが１９８９年に量子計算モデル（Ｑｕａｎｔｕｍ ｃｏｍｐｕｔａｔｉｏｎａｌ ｍｏｄｅｌ）を創立し、量子回路はテンソルネットワークの一種であり、量子回路計算過程の本質はテンソルネットワーク縮約（Ｔｅｎｓｏｒ Ｎｅｔｗｏｒｋ Ｃｏｎｔｒａｃｔｉｏｎ）であることを提唱した。近年、各社製品はテンソルネットワーク縮約フレームワークに基づくアルゴリズムを用いて一連の量子回路のシミュレーションを実現している。しかし、既存のテンソルネットワークはマトリクスの汎化（ｎｄｉｍ＞２）であり、計算効率が低く、既存のツールライブラリを使用することが困難であるため、量子シミュレーション計算においてどのように計算効率を高めるかは量子シミュレーション技術の早急に解決すべき問題となっている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、量子回路シミュレーション方法、装置、設備及び記憶媒体を提供する。
【課題を解決するための手段】
【０００４】
本発明の１つの態様は、量子回路シミュレーション方法を提供し、当該方法は、ｎ個の量子ビットを含む量子回路に基づいて、前記量子回路の対応する、ｎ階状態テンソルによって表現されるｎ階純粋状態を得ることと、前記量子回路に基づいて、前記ｎ階状態テンソルとの縮約処理が行われるべき、量子ゲートを表現する（ｋ，ｋ）階ゲートテンソルを決定することと、前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクス間の処理に変換し、処理結果を得ることと、前記処理結果を前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの縮約処理の結果とし、量子回路のシミュレーションを完了することと、を含み、ここで、前記ｋは量子ゲートが作用する量子ビットの数を示す。
【０００５】
本発明の別の態様は、量子回路シミュレーション装置を提供し、当該装置は、ｎ個の量子ビットを含む量子回路に基づいて、前記量子回路の対応する、ｎ階状態テンソルによって表現されるｎ階純粋状態を得るための状態テンソル取得モジュールと、前記量子回路に基づいて、前記ｎ階状態テンソルとの縮約処理が行われるべき、量子ゲートを表現する（ｋ，ｋ）階ゲートテンソルを決定するためのゲートテンソル決定モジュールと、前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクス間の処理に変換して処理結果を得、前記処理結果を前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの縮約処理の結果とし、量子回路のシミュレーションを完了するための縮約処理モジュールと、を備え、ここで、前記ｋは量子ゲートが作用する量子ビットの数を示す。
【０００６】
本発明の別の態様は、電子設備を提供し、当該設備は、少なくとも１つのプロセッサと、前記少なくとも１つのプロセッサに通信接続されるメモリと、を備え、前記メモリには、前記少なくとも１つのプロセッサにより実行可能な命令が記憶されており、前記命令は、前記少なくとも１つのプロセッサにより実行される場合、以上の方法を実行させる。
【０００７】
本発明の別の態様は、以上の方法をコンピュータに実行させるためのコンピュータ命令を記憶した非一過性のコンピュータ可読記憶媒体を提供する。
【０００８】
このように、量子回路における量子ゲートと純粋状態とのテンソル縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクス間の処理に変換することで、計算ステップを簡略化すると同時に、計算効率を向上する。
【０００９】
ここに記載された内容は、本発明の実施形態のキーポイント又は重要な特徴を標識することを意図せず、また、本発明の範囲を制限することにも用いられないことを理解すべきである。本発明の他の特徴については、下記の明細書を通して説明を促す。
【図面の簡単な説明】
【００１０】
添付図面は、本方案をより良く理解するためのものであり、本発明を限定するものではない。
【図１】本発明の実施形態による量子回路シミュレーション方法の実現フローチャート模式図である。
【図２】本発明の実施形態による量子回路シミュレーション方法の１つの具体例におけるフローチャート模式図である。
【図３】本発明の実施形態による１つの具体例における量子回路模式図１である。
【図４】本発明の実施形態による１つの具体例における量子回路模式図２である。
【図５】本発明の実施形態による量子回路シミュレーション装置の構造模式図１である。
【図６】本発明の実施形態による量子回路シミュレーション装置の構造模式図２である。
【図７】本発明の実施形態による量子回路シミュレーション方法の電子設備のブロック図である。
【発明を実施するための形態】
【００１１】
以下では、本出願の例示的な実施形態を、理解を容易にするために本出願の実施形態の様々な詳細を含む添付の図面に関連して説明するが、これらは単に例示的なものであると考えるべきである。 したがって、当業者は、本出願の範囲及び精神を逸脱することなく、本明細書に記載された実施形態に様々な変更及び修正を加えることができることを認識すべきである。  同様に、以下の説明では、周知の機能及び構成については、明確化及び簡明化のために説明を省略する。
【００１２】
ここで、まずテンソルネットワークの概念を紹介する。具体的に、テンソルは、ベクトル空間上の多重線型写像として数学的に定義され、コンピュータ科学におけるｎ次元配列に相当し、即ち、ｎ階テンソルは、ｎ次元配列Ｔｉ１ｉ２．．．ｉｎと記すことができ、テンソルネットワークは有限又は無限個のテンソルが接続された集合である。量子回路における状態、ゲート等の概念はすべてテンソルとして表現することができるため、1つの量子回路は、1つのテンソルネットワークとして表現することができる。
【００１３】
具体的に、図1は本発明の実施形態による量子回路シミュレーション方法の実現フローチャート模式図であり、図1に示すように、以下ステップを含む。
【００１４】
ステップＳ１０１において、ｎ個の量子ビットを含む量子回路に基づいて、前記量子回路の対応する、ｎ階状態テンソルによって表現されるｎ階純粋状態を得る。
【００１５】
ステップＳ１０２において、前記量子回路に基づいて、前記ｎ階状態テンソルとの縮約処理が行われるべき、量子ゲートを表現する（ｋ，ｋ）階ゲートテンソルを決定し、ここで、前記ｋは量子ゲートが作用する量子ビットの数を示す。
【００１６】
ステップＳ１０３において、前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクス間の処理に変換し、処理結果を得る。
【００１７】
ステップＳ１０４において、前記処理結果を前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの縮約処理結果とし、量子回路のシミュレーションを完了する。
【００１８】
実際の応用において、前記ｎは２以上の正の整数であり、前記ｋはｎ以下の正の整数である。ここで、前記量子ゲートは、前記量子回路のｋ個の量子ビットに作用する、又は、前記量子ゲートは、量子回路のｋ個の回路に作用する、ということもでき、そのうち、各回路は1個の量子ビットに対応する。
【００１９】
ここで、前記（ｋ，ｋ）階ゲートテンソルは、量子ゲートがｋ個の入力とｋ個の出力とを有することを示す。この例において、量子ゲートの入力と出力との数が異なる場合は省略する。
【００２０】
このように、量子回路における量子ゲートと純粋状態とのテンソル縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクスの間の処理に変換することで、いわゆる、テンソルを特殊な一種のマトリクスに同型写像し、テンソルネットワークを縮約してマトリクス演算に同型写像することで、テンソルネットワークを縮約して等価的に計算装置上で直接演算可能なマトリクス処理に変換し、このようにして、計算ステップを簡略化し、計算効率と利便性を高め、全体的に量子回路シミュレーションの効率を高めるための基礎を打ち立てた。
【００２１】
本発明の１つの具体例において、前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現され、前記ゲートマトリクスは、Ｄｋ×Ｄｋユニタリ行列によって表現され、前記Ｄは、前記量子ビットのエネルギー準位の準位数である。このように、具体的なゲートテンソルのマトリクス表現方式を提供し、該マトリクス表現は古典コンピュータにおいて利便的に表現及び処理を行うことができ、更に計算ステップを簡略化し、計算効率を高めるための基礎を打ち立てた。
【００２２】
本発明の１つの具体例において、前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現され、前記量子ビットのエネルギー準位が２つである場合（すなわち、準位数が２である。通常、２準位の量子ビットエネルギーは、常用の超伝導及び核磁気共鳴（Ｎｕｃｌｅａｒ Ｍａｇｎｅｔｉｃ Ｒｅｓｏｎａｎｃｅ，ＮＭＲ）量子コンピュータのエネルギー準位である）に、前記ゲートテンソルは、２ｋ×２ｋユニタリ行列によって表現され、前記（ｋ，ｋ）階ゲートテンソルにおける各指標（即ち、各元素）と、２ｋ×２ｋユニタリ行列の行指標及び列指標（即ち、各元素）との写像規則は、前記（ｋ，ｋ）階ゲートテンソルのｋ個の入力の対応する量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｋユニタリ行列の列指標に写像され、前記（ｋ，ｋ）階ゲートテンソルのｋ個の出力の対応する量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｋユニタリ行列の行指標に対応することで、ｋ階ゲートテンソルの対応する前記ゲートマトリクスを得ることを含み、明らかに、該方式は簡単であり、利便性が強く、解釈可能性が強いと同時に、計算ステップを簡略化し、計算効率を高めるための基礎を打ち立て、また、全体的に量子シミュレーション計算の効率を高めるための基礎を打ち立てた。
【００２３】
本発明の１つの具体例において、以下のような方法を用いて、前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクスの間の処理に変換するすることができ、具体的に、前記量子ゲートが作用するｋ個の量子ビットに基づいて、前記量子ゲートが作用するｋ個の量子ビットが前記量子回路の初めからｋ個の量子ビットに移動するよう、前記ｎ階状態テンソルに対して軸移動変換を行い、（ｋ，（ｎ-ｋ））階状態テンソルを得、さらに、前記（ｋ，（ｎ-ｋ））階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を古典コンピュータにおいても表現可能で、古典コンピュータにおける計算量を削減する状態マトリクスとゲートマトリクスとの間の処理に変換することを含み、そのうち、前記（ｋ，（ｎ-ｋ））階状態テンソルは、状態マトリクスによって表現され、前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現される、ここで、該例において、前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現され、前記ゲートマトリクスは、Ｄｋ×Ｄｋユニタリ行列によって表現される、又は、前記ゲートマトリクスは、２ｋ×２ｋユニタリ行列によって表現される。
【００２４】
即ち、この例において、まずｎ階状態テンソルに対して軸移動の処理を行った後に、軸移動処理後に得られた（ｋ，（ｎ-ｋ））階状態テンソルと（ｋ，ｋ）階ゲートテンソルとを縮約処理し、即ち、（ｋ，（ｎ-ｋ））階状態テンソルと（ｋ，ｋ）階ゲートテンソルとの縮約処理を古典コンピュータにおいても表現可能で、古典コンピュータにおける計算量を削減する状態マトリクスとゲートマトリクスとの間の演算処理に変換することで、乗積演算を有効的に行うための基礎を打ち立てたと同時に、該方式は簡単であり、利便性が強く、解釈可能性が強く、計算ステップを有効的に簡略化し、計算効率を高めるための基礎を打ち立て、また、全体的に量子シミュレーション計算の効率を高めるための基礎を打ち立てた。
【００２５】
本発明の１つの具体例において、前記状態マトリクスは、Ｄｋ×Ｄｎ-ｋ行列によって表現され、前記Ｄは、前記量子ビットのエネルギー準位の準位数である。このように、具体的な状態テンソルのマトリクス表現方式を提供し、該マトリクス表現は古典コンピュータにおいて利便的に表現及び処理を行うことができ、更に計算ステップを簡略化し、計算効率を高めるための基礎を打ち立てた。
【００２６】
本発明の１つの具体例において、前記量子ビットのエネルギー準位が２つである場合に、前記状態マトリクスは、２ｋ×２ｎ-ｋ行列によって表現され、前記（ｋ，（ｎ-ｋ））階状態テンソルにおける各指標（即ち、各元素）と、２ｋ×２ｎ-ｋ行列の行指標及び列指標（即ち、各元素）との写像規則は、前記（ｋ，（ｎ-ｋ））階状態テンソルの初めからｋ個の量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｎ-ｋ行列の行指標に写像され、前記（ｋ，（ｎ-ｋ））階状態テンソルの後ろからｎ-ｋ個の量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｎ-ｋ行列の列指標に写像されることで、前記（ｋ，（ｎ-ｋ））階状態テンソルの対応する状態マトリクスを得る。明らかに、該方式は簡単であり、利便性が強く、解釈可能性が強いと同時に、計算ステップを簡略化し、計算効率を高めるための基礎を打ち立て、また、全体的に量子シミュレーション計算の効率を高めるための基礎を打ち立てた。
【００２７】
本発明の１つの具体例において、前記処理結果は、前記ゲートマトリクスを前記状態マトリクスに右乗して得られた新たな状態マトリクスである。例を挙げると、（ｋ，ｋ）階ゲートテンソルの対応するゲートマトリクスを、ｎ階状態テンソルに対して軸移動変換を行い得られた（ｋ，（ｎ-ｋ））階状態テンソルの状態マトリクスに右乗し、例えば、２ｋ×２ｋユニタリ行列×２ｋ×２ｎ-ｋ行列をした後に得られる新たな状態マトリクスがそうである。明らかに、該過程は簡単であり、計算効率が高く、さらに、全体的に量子シミュレーション計算の効率を高めるための基礎を打ち立てた。
【００２８】
実際の応用において、前記処理結果を直接縮約処理結果とすることができ、もちろん、縮約処理結果を新たなテンソルに変換し、さらに新たなテンソルを縮約処理結果とすることもでき、このように、テンソル縮約出力をワンステップで容易にすることができる。具体的に、本発明の１つの具体例において、処理結果、即ち新たな状態マトリクスを得た後、写像規則（前記状態テンソルをマトリクスに写像する際の写像規則に類似している）に基づいて、前記新たな状態マトリクスを新たなテンソルに写像し、前記軸移動変換に基づいて、前記新たなテンソルに対して逆向きの軸移動を行い、即ち前述の軸移動処理に対して逆向きの処理を行い、かつ、量子回路の元の位置に軸移動することで、前記量子回路における量子ビットとマッチングする新たなｎ階テンソルを得る。さらに、後続のテンソル縮約処理を行うための基礎を打ち立てたと同時に、量子シミュレーション計算の完了過程を実現するための基礎を打ち立てた。
【００２９】
このように、本発明では、量子回路における量子ゲートと純粋状態とのテンソル縮約処理変換を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクス間の処理の方式に変換することにより、テンソル縮約を計算するアルゴリズムに対して改善を行い、かつ、改善後の方案の計算効率が高く、このようにして、量子回路シミュレーション計算の性能を高めると同時に、さらに効率的なアインシュタインの縮約記法の計算を実現した。
【００３０】
以下、具体例と総合して本発明についてさらに詳細な説明を行い、具体的に、量子回路のテンソルネットワークをマトリクス乗積に同型写像する。ここで、量子回路の対応するテンソルネットワークの縮約は量子ゲートと純粋状態との間で発生したものであるため、１個の量子ゲートと１個の純粋状態との間の対応するテンソル縮約を提供してマトリクス乗積に同型写像すれば良い。
【００３１】
例を挙げると、ｎ個の量子ビット（ｎ-ｑｕｂｉｔ）を含む量子回路上の純粋状態が１個のｎ階テンソル（以下、状態テンソルと称する）に対応し、該量子回路におけるｋ個のｑｕｂｉｔ回路（即ち、ｋ個の量子ビット）に作用する量子ゲートが１個の（ｋ，ｋ）階テンソル（以下、ゲートテンソルと称する）に対応すると仮定する。ここで、量子ビットのエネルギー準位が２つである場合を例にすると、この時、上記２個のテンソルの間の縮約は、２ｋ×２ｋ行列と２ｋ×２ｎ-ｋ行列との間の乗積演算に同型写像することができる。
【００３２】
具体的に、（一）量子ゲートと純粋状態とのテンソル縮約と、マトリクス乗積との同型写像は、図２に示すように、まず、状態テンソルを読み取り、状態テンソルに対して軸移動変換をし、１個のｎ階状態テンソルを１個の２ｋ×２ｎ-ｋ状態マトリクスに同型写像し変換する。 具体的なステップに、軸移動をした後に写像することを含む。
【００３３】
（１）量子ゲートの作用しようとするｑｕｂｉｔ回路を決定し、例えば、第［ｍ１，ｍ２，．．．ｍｋ］番目のような、出力回路のシーケンスを得る。
【００３４】
（２）量子ゲートの作用しようとするｋ個のｑｕｂｉｔが位置する回路を第［１，２，．．．，ｋ］番目の回路の位置に移動するために、状態テンソルに対して軸移動変換をし、後続の乗積演算を行うことを容易にする。
【００３５】
（３）軸移動変換後の状態テンソルを２ｋ×２ｎ-ｋ行列に対応させ、ここで、軸移動変換後の状態テンソルにおける各指標と、２ｋ×２ｎ-ｋ行列の行、列指標との写像規則は、軸移動変換後の状態テンソルにおける初めからｋ個の量子ビットが、量子ビットコンピューティングベースの自然順序付けに従ってマトリクスの行の順序に対応し、後ろからｎ-ｋ個のｑｕｂｉｔが、量子ビットコンピューティングベースの自然順序付けに従ってマトリクスの列の順序に対応することである。
【００３６】
次に、上記で得られた状態マトリクス、即ち２ｋ×２ｎ-ｋ行列を右乗して、新たな状態マトリクスを得るために、（ｋ，ｋ）階ゲートテンソルを２ｋ×２ｋユニタリ行列に対応させる。ここで、ゲートテンソルは（ｋ，ｋ）階であり、ゲートテンソル階の入力と出力との違いを省略する、即ちゲートテンソルの入力と出力との階数は同じであると仮定する。
【００３７】
ここで、ゲートテンソルにおける各指標と、２ｋ×２ｋユニタリ行列の行、列指標との写像規則は、（ｋ，ｋ）階ゲートテンソルにおけるｋ個の入力の対応する量子ビットが、量子ビットコンピューティングベースの自然順序付けに従ってマトリクスの列の順序に対応し、ｋ個の出力の対応する量子ビットが、量子ビットコンピューティングベースの自然順序付けに従ってマトリクスの行の順序に対応することである。
【００３８】
最後に、ゲートマトリクス２ｋ×２ｋを状態マトリクス２ｋ×２ｎ-ｋに作用し、新たな状態マトリクスを得、新たな状態マトリクスに対して還元処理を行い、新たなｎ階状態テンソルを得る。還元ステップは、
【００３９】
２ｋ×２ｋゲートマトリクスを用いて２ｋ×２ｎ-ｋ状態マトリクスを右乗し、２ｋ×２ｎ-ｋの新たな状態マトリクスを得ることを含む。新たな状態マトリクス２ｋ×２ｎ-ｋをｎ階テンソルに写像した後、軸移動処理（例えば、上記の出力回路のシーケンスに基づいて、逆方向の軸移動を行う）を行い、かつ、元の量子回路の対応する位置、即ち元の位置に移動し、新たなｎ階状態テンソルを得ることで、量子ゲートと純粋状態とのテンソル縮約を実現する。
【００４０】
（二）以下、本発明のテンソル軸移動変換方法の数学的説明を示し、具体的に、テンソルＲｉ１ｉ２．．．ｉｎとＳｊ１ｊ２．．．ｊｍとが存在し、この２個のテンソルの指標ベクトル（ｉｐ１，ｉｐ２，．．．，ｉｐｎ）と（ｊｐ１，ｊｐ２，．．．，ｊｐｎ）に関するテンソル縮約問題を式（１）とする。
【数１】
2022003501.tif 000003
【００４１】
ここで、テンソルの指標交換によって以下の新たなテンソルを得る。
【数２】
2022003501.tif 000004
【００４２】
上記の等号の意味は、指標ベクトル（ｉ１，ｉ２，．．．，ｉｐ１−１，ｉｐ１，ｉｐ１＋１，．．．，ｉｎ）の値を与え、左右両端のテンソルが同じ分量、即ち同じ複素数を取るということである。そのため、以下のとおりになる。
【数３】
2022003501.tif 000005
【００４３】
したがって、式（１）を式（５）に変換すると、以下のとおりになる。
【数４】
2022003501.tif 000006
【００４４】
（ｉｐ１，ｉｐ２，．．．，ｉｐｎ）を指標Ｉ０とし、Ｒの残りの指標をＩ１とし、（ｊｐ１，ｊｐ２，．．．，ｊｐｎ）を指標Ｊ０とし、Ｓの残りの指標をＪ１とすると、式（５）は、さらに式（６）と記すことができる。
【数５】
2022003501.tif 000007
【００４５】
また、式（７）と記す。
【数６】
2022003501.tif 000008
【００４６】
このように記号に対して簡略化を行う。
【００４７】
（三）以下に、本発明のテンソル軸移動変換方法のアルゴリズムの実現を示し、具体的に、式（１）により、入力テンソルのすべての指標を直接表現し、かつ、ｎｕｍｐｙのｅｉｎｓｕｍ方法を用いて計算することができる。ただし、式（７）から出発したとすると、２個の２階テンソルの縮約を計算するだけでよく、その縮約指令（ｉｄｘ）は‘ａｂ、ｂＺ→ａＺ’と記すことができる。
【００４８】
このような指令を用いて一般的な２個のｎ階テンソル縮約を計算するために、以下のような前記変形をする必要がある。まず、ｎ階テンソル、即ちｎ次元配列は、軸の変換を経て、式（３），（４）の左端に対応する形式から右端に対応するテンソル形式になる必要がある。変換過程において、「ｎｕｍｐｙ.ｍｏｖｅａｘｉｓ」方法を用いて、量子状態を表すテンソル（ｓｔａｔｅ＿ｂａｃｋｕｐ）のいくつかの軸（ｓｏｕｒｃｅ＿ｐｏｓ）を指定の位置（ｔａｒｇｅｔ＿ｐｏｓ）に移動する。
【数７】
2022003501.tif 000009
【００４９】
（四）以下に、本発明のテンソル軸移動変換をマトリクス計算に変換するアルゴリズムの実現を示し、具体的に、式（７）の単純な形を用いて計算するために、入力されたｎ階（ｇａｔｅ＿ｍａｔｒｉｘ＿ｂａｃｋｕｐ）、ｍ階テンソル（ｓｔａｔｅ＿ｂａｃｋｕｐ）を２階テンソルに変換し、ｒｅｓｈａｐｅ方法を用いて、
【数８】
2022003501.tif 000010
【００５０】
すると、式（７）における計算を行うことができる。
【数９】
2022003501.tif 000011
【００５１】
これにより、形式が簡潔になるだけでなく、メモリの読み取りと書き込みにかかる時間を短縮し、大幅に実行時間を短縮することができる。さらに、このようなテンソル縮約はマトリクス乗算であるため、このステップでは、ｎｕｍｐｙ.ｍａｔｍｕｌ（）関数のような通常のマトリクス乗算を直接使用して計算を行うことができる。
【数１０】
2022003501.tif 000012
【００５２】
これにより、さらに時間を節約でき、かつ、計算精度も向上する。
【００５３】
（五）以下に、ＣＮＯＴゲート回路テンソルネットワーク縮約の例を示し、具体的に、図３に示すように、量子回路の入力状態は｜１００＞であり、出力状態は｜１０１＞であり、量子ゲートは１、３回路上に作用する。以下に、本発明のテンソルネットワーク縮約-マトリクス乗積同型写像方法を示す。
【００５４】
まず、入力状態｜１００＞をマトリクスに変換し、ＣＮＯＴゲートは１、３番目の回路に作用するため、ｑｕｂｉｔｓ＝｛１，３｝＝と決定し、以下のステップを通して入力状態を１個の２２×２３-２＝２２×２１＝４×２マトリクスに対応するようにする。具体的に以下を含む。
【００５５】
（１）ＣＮＯＴゲートの作用しようとするｑｕｂｉｔｓが１、３番目の回路であると決定する。
【００５６】
（２）軸移動変換をして、ゲートの作用しようとする１、３番目の回路を１、２番目の回路の位置に変換する。
【００５７】
具体的に、以下のとおりである。
【数１１】
2022003501.tif 000013
【００５８】
（３）軸移動変換後に得られる状態テンソルは、以下のとおりである。
【数１２】
2022003501.tif 000014
【００５９】
テンソル指標とマトリクスの行、列指標との写像規則に従い、上記状態テンソルの前２個のｑｕｂｉｔｓがコンピューティングベースの自然順序付けに従ってマトリクスの行順序に対応し、００，０１，１０，１１を得る。上記新たな状態テンソルの１つ後ろのｑｕｂｉｔがコンピューティングベースの自然順序付けに従ってマトリクスの列順序に対応し０，１を得る。このようにして得られた新たな状態テンソルの対応する４×２階状態マトリクスは、以下のとおりである。
【数１３】
2022003501.tif 000015
【００６０】
そのうち、ＣＮＯＴゲートのマトリクス表現は、以下のとおりである。
【数１４】
2022003501.tif 000016
【００６１】
ここで、ＣＮＯＴゲートを４×２階状態マトリクスに作用すると、以下のとおりになる。
【数１５】
2022003501.tif 000017
【００６２】
マトリクスの行、列指標とテンソル指標との写像規則に従い、新たな４×２階状態マトリクスの各要素のテンソル指標は、以下のようにと表される。
【数１６】
2022003501.tif 000018
【００６３】
よって、新たな４×２階状態マトリクスから戻される３階テンソル形式は、以下のとおりである。
【数１７】
2022003501.tif 000019
【００６４】
さらに、状態テンソルの軸を元の位置に戻す（軸移動）と、量子ゲートが１、３番目の回路に作用するため、前に１、３番目の回路の位置を1、２番目の回路の位置に変換しているので、このとき、１、２番目の回路を１、３番目の位置に戻す。具体的な過程は、以下のとおりである。
【数１８】
2022003501.tif 000020
【００６５】
得られたテンソルは、以下のとおりである。このテンソルは、量子状態｜１０１＞に対応する。
【数１９】
2022003501.tif 000021
【００６６】
このようにして、マトリクス乗積の出力マトリクスと元の量子回路の出力状態とが一致することを検証し、本発明を用いて量子回路のシミュレーションを実現した。
【００６７】
（六）以下、テスト結果を示す。
【００６８】
ここで、まず、既存のｅｉｎｓｕｍ縮約方法を用いて、図３に示す量子回路に対して縮約を行った処理結果、即ち、Ｅｉｎｓｕｍ縮約（軸移動変換がまだ行っていない、即ちアインシュタインの縮約記法である）方案は、便宜上、以下のように説明すると、図４に示すように、初期状態｜１００＞テンソルをＡｉｊｋと表し、ＣＮＯＴゲートテンソルをＢｉｋｌｍと表し、最終状態｜１０１＞テンソルをＣｌｊｍと表し、以下ｅｉｎｓｕｍ（未軸移動変換）の計算過程である。
【００６９】
｜１００＞の対応するテンソルは、［［［０、０］、［０、０］］、［［１、０］、［０、０］］］であり、ＣＮＯＴゲートの対応するテンソルは、［［［［１、０］、［０、０］］、［［０、１］、［０、０］］］、［［［０、０］、［０、１］］、［［０、０］、［１、０］］］］であり、ＣＮＯＴを｜１００＞とｅｉｎｓｕｍして得られるテンソルは、［［［０、０］、［０、０］］、［［０、１］、［０、０］］であり、対応する状態は、｜１０１＞である。
【００７０】
次に、既存のＢｒｉｓｔｌｅｃｏｎｅ回路を用いてテストを行い、それぞれの回線におけるすべてのテンソル縮約操作に要する時間の和を、３つの異なる方法で記録し、かつ、比較を行った。ここで、深さが２４、３２、４０の回路を用いて、１２ｑｕｂｉｔ、１６ｑｕｂｉｔの場合に対して、初めから５個の回路を用いて、それぞれの実験を３回繰り返す。２４ｑｕｂｉｔの場合に対して、計算に係る時間が比較的長いため、前の２個の回路を用いて、それぞれの実験を２回繰り返す。ファイル標識は「ｑｕｂｉｔの数_深さ_回路番号」と記す。
【表１】
2022003501.tif 000022
【００７１】
以下の表２は、本発明の軸移動変換過程においてｅｉｎｓｕｍを用いる方法と、軸移動変換過程においてｍａｔｍｕｌを用いる方法との２つの方法による所要時間、オリジナルのｅｉｎｓｕｍ方法による所要時間、の３つの方法の比較表である。
【表２】
2022003501.tif 000023
【００７２】
回路の所要時間が多いほど、改善効果が顕著であることを考慮して、以上の同じビットの数であり、同じ深さであり、異なる回路の所要時間の結果を直接足して平均を取ると、以下のような平均相対所要時間が得られる。
【表３】
2022003501.tif 000024
【００７３】
上記テストは、異なる大きさ、異なる深さの異なる量子回路を用いてテストを行い、かつ、オリジナルのｅｉｎｓｕｍ方法、本発明の軸移動変換においてｅｉｎｓｕｍ方法を用いる方法、本発明の軸移動変換においてｍａｔｍｕｌ方法を用いる方法の所要時間を比較した結果、以下のような結論を得た。
【００７４】
量子ビットの数が比較的小さい場合に、本発明の軸移動変換においてｅｉｎｓｕｍアルゴリズムを用いる方法、本発明の軸移動変換においてｍａｔｍｕｌアルゴリズムを用いる方法はいずれも計算速度を大幅に向上することができ、
【００７５】
量子ビット数の増加、計算密度の増加に伴い、本発明の軸移動変換においてｍａｔｍｕｌを用いる方法は依然として大きな優位性を持ち、
【００７６】
これに基づいて、本発明において、量子回路のテンソルネットワーク縮約のテンソル乗積表現を実現する。既存の他の量子シミュレーション器が用いる方案と比べて、本発明のテンソルネットワークを無向グラフに変換する必要なく、グラフの簡略化を行う必要がないため、縮約方案の効率と実用性を著しく高め、また、汎用性があり、既存のツールライブラリを使用することができ、あらゆる量子回路モデルの実験に幅広く応用できる。
【００７７】
もちろん、実際の応用において、マトリクス乗算のｍａｔｍｕｌ関数を改良することで計算効率をさらに向上させることができ、たとえば、数値演算ライブラリ（ＭＫＬ）を直接使用する等により計算の加速を図ることができ、また、疎行列処理の方法を加えることもできるが、本発明ではこれに限定しない。
【００７８】
本発明は、さらに量子回路シミュレーション装置を提供し、図５に示すように、ｎ個の量子ビットを含む量子回路に基づいて、前記量子回路の対応する、ｎ階状態テンソルによって表現されるｎ階純粋状態を得るための状態テンソル取得モジュール５０１と、前記量子回路に基づいて、前記ｎ階状態テンソルとの縮約処理が行われるべき、量子ゲートを表現する（ｋ，ｋ）階ゲートテンソルを決定するためのゲートテンソル決定モジュール５０２と、前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減するマトリクス間の処理に変換して処理結果を得、前記処理結果を前記ｎ階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの縮約処理の結果とし、量子回路のシミュレーションを完了するための縮約処理モジュール５０３と、を備え、ここで、ｋは量子ゲートが作用する量子ビットの数を示す。
【００７９】
本発明の１つの具体例において、前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現され、前記ゲートマトリクスは、Ｄｋ×Ｄｋユニタリ行列によって表現され、前記Ｄは前記量子ビットのエネルギー準位の準位数である。
【００８０】
本発明の１つの具体例において、前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現され、前記量子ビットのエネルギー準位が２つである場合に、前記ゲートマトリクスは、２ｋ×２ｋユニタリ行列によって表現され、前記（ｋ，ｋ）階ゲートテンソルにおける各指標と、２ｋ×２ｋユニタリ行列の行指標及び列指標との写像規則は、前記（ｋ，ｋ）階ゲートテンソルのｋ個の入力の対応する量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｋユニタリ行列の列指標に写像され、 前記（ｋ，ｋ）階ゲートテンソルのｋ個の出力の対応する量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｋユニタリ行列の行指標に対応して、ｋ階ゲートテンソルの対応する前記ゲートマトリクスを得ることを含む。
【００８１】
本発明の１つの具体例において、前記縮約処理モジュールは、前記量子ゲートが作用するｋ個の量子ビットに基づいて、前記量子ゲートが作用するｋ個の量子ビットが前記量子回路の初めからｋ個の量子ビットに移動するよう、前記ｎ階状態テンソルに対して軸移動する変換を行い、（ｋ，（ｎ-ｋ））階状態テンソルを得る軸移動処理サブモジュールと、前記（ｋ，（ｎ-ｋ））階状態テンソルと前記（ｋ，ｋ）階ゲートテンソルとの間の縮約処理を古典コンピュータにおいて表現可能で、古典コンピュータにおける計算量を削減する状態マトリクスとゲートマトリクスとの間の処理に変換する縮約処理サブモジュールと、を備え、前記（ｋ，（ｎ-ｋ））階状態テンソルは、状態マトリクスによって表現され、前記（ｋ，ｋ）階ゲートテンソルは、ゲートマトリクスによって表現される。
【００８２】
本発明の１つの具体例において、前記状態マトリクスは、Ｄｋ×Ｄｎ-ｋ行列によって表現され、前記Ｄは前記量子ビットのエネルギー準位の準位数である。
【００８３】
本発明の１つの具体例において、前記量子ビットのエネルギー準位が２つである場合に、前記状態マトリクスは、２ｋ×２ｎ-ｋ行列によって表現され、前記（ｋ，（ｎ-ｋ））階状態テンソルにおける各指標と、２ｋ×２ｎ-ｋ行列の行指標及び列指標との写像規則は、前記（ｋ，（ｎ-ｋ））階状態テンソルの初めからｋ個の量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｎ-ｋ行列の行指標に写像され、前記（ｋ，（ｎ-ｋ））階状態テンソルの後ろからｎ-ｋ個の量子ビットが、量子ビットコンピューティングベースの自然順序付けに従って２ｋ×２ｎ-ｋ行列の列指標に写像され、前記（ｋ，（ｎ-ｋ））階状態テンソルの対応する状態マトリクスを得ること、を備える。
【００８４】
本発明の１つの具体例において、前記処理結果は、前記ゲートマトリクスを前記状態マトリクスに右乗して得られた新たな状態マトリクスである。
【００８５】
本発明の１つの具体例において、図６に示すように、さらに、写像規則に基づいて、前記新たな状態マトリクスを新たなテンソルに写像するための写像モジュール５０４と、前記軸移動する変換に基づいて、前記新たなテンソルに対して逆向きの軸移動を行い、前記量子回路の量子ビットとマッチングする新たなｎ階テンソルを得るための逆軸移動モジュール５０５と、を備える。
【００８６】
以上の装置の実施形態の説明は、上記の方法説明と類似しており、方法の実施形態と同様の有益な効果を有するため、ここでは繰り返し説明しないことに注意すべきである。本発明の実施形態において開示されていない技術の細部については、当業者は、本発明方法の実施形態の説明を参照して理解すべきであり、長くなるのを防ぐため、ここでは繰り返し説明しない。
【００８７】
本発明の実施形態によれば、本発明は、電子設備及び可読記憶媒体をさらに提供する。
【００８８】
図７に示すよう、本発明の実施形態による量子回路シミュレーション方法を実現する電子設備のブロック図である。電子設備は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータのような様々な形態のデジタルコンピュータを表すことができる。また、電子設備はパーソナルデジタル処理、携帯電話、スマートフォン、装着可能デバイス、及びその他の類似のコンピューティングデバイス等の様々な形態のモバイルデバイスを表すことができる。ここで示した構成要素、それらの接続と関係、及びそれらの機能は例示的なものに過ぎず、本発明で説明されたもの及び／又は要求される本発明の実施を制限することは意図されない。
【００８９】
図７に示すよう、当該電子設備は、１つ又は複数のプロセッサ７０１と、メモリ７０２と、高速インターフェースと低速インターフェースとを含む各構成要素を接続するためのインターフェースとを含む。各構成要素は、異なるバスを利用して互いに接続し、共通のマザーボードに取り付けられてもよいし、必要に応じて他の方法で取り付けられてもよい。プロセッサは、電子設備内で実行される命令を処理してもよく、また、外部入出力デバイス（例えば、インターフェースに接続された表示デバイス）にグラフィックユーザインターフェース（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ、ＧＵＩ）を表示するための、メモリ又はメモリ上に記憶されたグラフィカル情報の命令を含む。他の実施形態では、必要に応じて、複数のプロセッサ及び／又は複数のバスを複数のメモリ及び複数のメモリとともに使用することができる。同様に、複数の電子設備を接続してもよく、各デバイスは、部分的に必要な動作（例えば、サーバアレイ、ブレードサーバのセット、又はマルチプロセッサシステムとして）を提供する。図７においてプロセッサ７０１を例とする。
【００９０】
メモリ７０２は、本発明にて提供された非一過性のコンピュータ可読記憶媒体である。メモリは、本発明で提供される量子回路シミュレーション方法を少なくとも１つのプロセッサに実行させるように、少なくとも１つのプロセッサによって実行されることができる命令を記憶する。本発明における非一過性のコンピュータ可読記憶媒体は、本発明で提供された量子回路シミュレーション方法をコンピュータに実行させるためのコンピュータ命令を記憶する。
【００９１】
メモリ７０２は、非一過性のコンピュータ可読記憶媒体として、非一過性のソフトウェアプログラム、非一過性のコンピュータ実行可能なプログラム及びモジュールを記憶するために使用されてもよく、本発明の実施形態における量子回路シミュレーション方法に対応するプログラム命令／モジュール（例えば、図６に示すような、状態テンソル取得モジュール５０１、ゲートテンソル決定モジュール５０２、縮約処理モジュール５０３、写像モジュール５０４及び逆軸移動モジュール５０５である）のようなものである。プロセッサ７０１は、メモリ７０２に記憶されている非一過性のソフトウェアプログラム、命令及びモジュールを実行することにより、サーバの様々な機能アプリケーション及びデータ処理、即ち上述した方法に関する実施形態に係る量子回路シミュレーション方法を実行する。
【００９２】
メモリ７０２は、オペレーティングシステムや少なくとも１つの機能に必要なアプリケーションを記憶することができるプログラムの記憶領域と、量子回路シミュレーション方法に係る電子設備の使用によって生成されたデータ等を記憶することができるデータの記憶領域と、を含むことができる。さらに、メモリ７０２は、高速ランダムアクセスメモリを含んでもよく、非一過性の固体記憶装置を含んでもよい。例えば、少なくとも１つの磁気ディスク記憶装置、フラッシュメモリ装置、又は他の非一過性の固体記憶装置を含むことができる。いくつかの実施形態では、メモリ７０２はオプションとして、プロセッサ７０１に対して遠隔的に設定されたメモリを含み、これらの遠隔メモリは、ネットワークを介して量子回路シミュレーション方法に係る電子設備に接続されてもよい。上記のネットワークの例は、インターネット、企業内ネットワーク、ローカルネットワーク、モバイル通信ネットワーク及びその組み合わせを含むが、これらに限定されない。
【００９３】
本発明の実施形態の量子回路シミュレーション方法に対応する電子設備は、入力装置７０３と出力装置７０４とをさらに含むことができる。プロセッサ７０１、メモリ７０２、入力装置７０３、及び出力装置７０４は、バス又は他の方法で接続されてもよく、図７ではバスを介して接続されている。
【００９４】
入力装置７０３は、入力された数字又は文字を受信し、量子回路シミュレーション方法に係る電子設備のユーザ設定及び機能制御に関するキー信号入力を生成することができ、例えば、タッチパネル、キーパッド、マウス、トラックボード、タッチパッド、指示棒、１つ又は複数のマウスボタン、トラックボール、ジョイスティック等を含むことができる。出力装置７０４は、表示装置、補助照明装置（例えばＬＥＤ）、及び触覚フィードバック装置（例えば、振動モータ）等を含むことができる。この表示装置は、液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ、ＬＣＤ）、発光ダイオード（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ、ＬＥＤ）ディスプレイ及びプラズマディスプレイを含むことができるがこれらに限定されない。いくつかの実施形態では、表示装置はタッチパネルであってもよい。
【００９５】
本発明におけるシステム及び技術に係る様々な実施形態は、デジタル電子回路システム、集積回路システム、専用集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ、ＡＳＩＣ）、コンピュータハードウェア、ファームウェア、ソフトウェア、及び／又はこれらの組み合わせによって実現されることができる。これらの様々な実施形態は、１つ又は複数のコンピュータプログラムにおいて実装されてもよく、この１つ又は複数のコンピュータプログラムは、少なくとも１つのプログラマブルプロセッサを含むプログラム可能なシステム上で実行されてもよく、及び／又は解釈されてもよく、このプログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、記憶システム、少なくとも１つの入力装置、及び少なくとも１つの出力装置より、データと命令を受信し、記憶システム、少なくとも１つの入力装置、及び少なくとも１つの出力装置に、データと命令を送信する。
【００９６】
これらの計算プログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードともいう）は、プログラマブルプロセッサのマシン命令を含み、プロセス指向及び／又はオブジェクト指向プログラミング言語、及び／又はアセンブリ／マシン言語を用いてこれらの計算プログラムを実施することができる。本発明で使用されるように、「機械可読媒体」及び「コンピュータ可読媒体」という用語は、マシン命令及び／又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、デバイス、及び／又は装置（例えば、磁気ディスク、光ディスク、メモリ、編集可能論理デバイス（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ、ＰＬＤ）を意味し、機械読み取り可能な信号としてのマシン命令を受信する機械可読媒体を含む。「機械読み取り可能な信号」という用語は、マシン命令及び／又はデータをプログラマブルプロセッサに提供するための任意の信号を意味する。
【００９７】
ユーザとのイントラクションを提供するために、本発明で説明されているシステムや技術は、コンピュータ上で実施されてもよく、また、ユーザに情報を表示するための表示装置（例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ、ブラウン管）又はＬＣＤ（液晶ディスプレイ）モニタ）と、入力をコンピュータに提供するためのキーボード及びポインティングデバイス（例えば、マウス又はトラックボール）とを備えてもよい。他の種類の装置も、ユーザとのイントラクションを提供するために使用され得る。例えば、ユーザに提供されたフィードバックは、任意の形態のセンシングフィードバック（例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック）であってもよく、ユーザからの入力は、いかなる形式（音響入力、音声入力、又は触覚入力を含む）で受信されてもよい。
【００９８】
発明で説明されているシステム及び技術は、バックグラウンド構成要素を含む計算システム（例えば、データサーバとして）、又は中間部構成要素を含む計算システム（例えば、アプリケーションサーバ）、又は、フロントエンド構成要素を含む計算システム（例えば、グラフィカルユーザインタフェース又はネットワークブラウザを備えたユーザコンピュータであって、ユーザがこのグラフィカルユーザインタフェース又はネットワークブラウザを介して本発明で説明されたシステム及び技術に係る実施形態とインタラクションを行うことができるユーザコンピュータ）に実行されてもよく、又は、このようなバックグラウンド構成要素、中間部構成要素、又はフロントエンド構成要素の任意の組合せを含む計算システムにおいて実行されてもよい。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信（例えば、通信ネットワーク）によって相互に接続されてもよい。通信ネットワークの例えとして、ローカルネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、ＬＡＮ）、広域ネットワーク（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、ＷＡＮ）及びインターネットを含む。
【００９９】
コンピュータシステムは、クライアント及びサーバを含むことができる。クライアントとサーバは一般的に相互に離れており、通信ネットワークを介してインタラクションを行う。クライアントとサーバとの関係を持つコンピュータプログラムがそれぞれのコンピュータ上で実行されることによって、クライアントとサーバとの関係は構築される。サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバ又はクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムの中の一つのホスト製品であり、従来の物理ホストとバーチャル・プライベート・サーバ（ＶＰＳ）サービスにおいて存在する管理難しく、業務拡張性が弱いという欠陥を解決する。
【０１００】
このように、量子回路における量子ゲートと純粋状態とのテンソル縮約処理をマトリクス間の乗積演算に変換することで、計算ステップを簡略化すると同時に、計算効率を向上する。
【０１０１】
上記の様々な態様のフローを使用して、ステップを新たに順序付け、追加、又は削除することが可能であることを理解すべきである。例えば、本発明で記載された各ステップは、並列に実行しても良いし、順階に実行しても良いし、異なる順序で実行しても良い。本発明で開示された技術案が所望する結果を実現することができる限り、本発明ではこれに限定されない。
【０１０２】
上記具体的な実施形態は、本発明の保護範囲に対する限定を構成するものではない。当業者は、設計事項やその他の要因によって、様々な修正、組み合わせ、サブ組み合わせ、及び代替が可能であることを理解するべきである。本発明の要旨及び原則内における変更、均等な置換及び改善等は、いずれも本発明の保護範囲に含まれるべきである。
【図１】
2022003501.tif 000025
【図２】
2022003501.tif 000026
【図３】
2022003501.tif 000027
【図４】
2022003501.tif 000028
【図５】
2022003501.tif 000029
【図６】
2022003501.tif 000030
【図７】
2022003501.tif 000031