JP2022538721A - 量子計算のためのスワップネットワーク - Google Patents
量子計算のためのスワップネットワーク Download PDFInfo
- Publication number
- JP2022538721A JP2022538721A JP2021565724A JP2021565724A JP2022538721A JP 2022538721 A JP2022538721 A JP 2022538721A JP 2021565724 A JP2021565724 A JP 2021565724A JP 2021565724 A JP2021565724 A JP 2021565724A JP 2022538721 A JP2022538721 A JP 2022538721A
- Authority
- JP
- Japan
- Prior art keywords
- qubit
- qubits
- wheel
- subset
- swap
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B82—NANOTECHNOLOGY
- B82Y—SPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
- B82Y10/00—Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C10/00—Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Optimization (AREA)
- Chemical & Material Sciences (AREA)
- Nanotechnology (AREA)
- General Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
- Superconductor Devices And Manufacturing Methods Thereof (AREA)
Abstract
量子コンピュータが分子化学を完全にシミュレートすることができるように、量子コンピュータおよび量子コンピュータを操作する方法が説明される。量子コンピュータの回路深度は、従来の量子計算法と比較して、少なくとも1桁減少する。並列化された量子ビットまたはフェルミオンスワップネットワークを採用して、コンピュータの連続する量子ビット上の局所として、第二量子化ハミルトニアンの非局所項がレンダリングされる。したがって、非局所的な量子ダイナミクスが局所的にレンダリングされる。非局所的相互作用を局所化することにより、量子計算を大幅に並列化し、4量子ビット相互作用の時間発展演算子をシミュレートする単一のテンプレート回路を4つの量子ビットの局所化グループに適用することができる。化学に加えて、量子コンピュータおよび量子コンピュータを操作する方法を採用して、局所化された計算の並列化を介して、必要とされる回路深度を減少させながら、任意の多体相互作用を局所化することができる。【選択図】図2E
Description
量子コンピューティングの応用として、量子システムの評価(またはシミュレーション)がある。例えば、量子情報および量子計算法を採用して、複雑な化合物の種々の特性を決定できることが示されている。量子力学的多体系と量子レジスタ内の相互作用する量子ビットの集合との両方の挙動が量子システムの力学の影響を受けるため、材料(例えば、化合物で構成される材料)の種々の量子力学的特性は、量子コンピューティングを介してシミュレートすることができる。より簡潔に言えば、N個の量子ビットのシステムを採用して、量子力学的多体系のダイナミクスをシミュレートすることができ、Nは相互作用する粒子の数に比例する。
従来の量子計算法では、実装態様の詳細に応じて、N個の量子ビットを利用する化学システムを完全にシミュレートするために必要な回路深度は、O(N5)またはO(N4)として比例する。化学などの量子計算シミュレーションの多くの興味深いアプリケーションには、相互作用する粒子が非常に多いシステムが含まれている。例えば、大きな分子には、数十または数百の占有軌道が含まれる場合がある。従来の量子計算法では、回路深度のスケーリングは多項式となるが、回路深度は、N個の量子ビットの適度な値を必要とする量子計算では急速に非実用的なものとなる。
この概要は、以下の発明を実施するための形態でさらに説明される選定された概念を簡略化された形式で紹介するために提供される。この概要は、特許請求される主題の主要な特徴または本質的な特徴を特定することを意図しておらず、特許請求される主題の範囲を制限するために使用されることも意図していない。
種々の実施形態は、フェルミ粒子(例えば、電子)の非局所的相互作用のシステムなどであるがこれらに限定されない、多体系のダイナミクスをシミュレートするための量子コンピュータおよび量子コンピュータを操作する方法を対象としている。アプリケーションの非限定的な例として、実施形態を採用して、レジスタの量子ビットに作用する量子回路(すなわち、量子論理ゲートの構成)を介して、分子化学における電子軌道の時間発展をシミュレート(または計算)することができる。より具体的には、実施形態は、量子ビットまたはフェルミオン軌道上で並列化されたスワップ操作を実行するスワップゲートのネットワークを含んでおり、これは、量子レジスタ内の量子ビットの局所化グループを介して、非局所的多体相互作用のシミュレーションを可能にする。スワップゲートのネットワークを介して、多数の多体項の計算を量子コンピュータ内で並列化することができ、その結果、コンピュータの回路深度が大幅に減少する。スワップゲートのネットワークにより、量子ビットの局所化グループに作用し、フェルミ粒子などであるがこれに限定されない非局所化相互作用量子粒子の時間発展をシミュレートする少数の回路テンプレート、または単一のテンプレートさえ、反復適用が可能になる。
一実施形態は、量子ハードウェア、コンピュータ、またはシステムを含み、これらは、方法を実行するために量子ビットのセットで動作する量子ゲートのネットワークを動作させるように構成されている。量子ゲートは、量子ビットスワップゲートを含み得る。量子ビットのセットは、複数の4量子ビットの組み合わせを定義する。例えば、セットのカーディナリティが正の整数Nで示されている場合、量子ビットのセットは
の一意の4量子ビットの組み合わせを定義できる。セットは、順序付けられたセットであり得る。本方法は、複数の量子ビットスワップ操作を介して、量子ビットのセットの順序を反復的に更新することを含み得る。量子ビットスワップ操作は、量子ゲートのネットワークによって実装することができる。反復スワップ操作を介して、4量子ビットの組み合わせの各々は、複数のスワップ操作中に少なくとも1回、量子ビットのセットの順序内で連続する4量子ビットグループとして表される。つまり、
の一意の4量子ビットの組み合わせの各々は、スワップ操作によって少なくとも1回、順序セット内の連続する4量子ビットグループとしてレンダリングされる。複数のスワップ操作の各々においてスワップされた量子ビットの各ペアは、量子ビットのセットの順序内で最大3つの量子ビットによって分離され得る。
少なくとも一部の実施形態では、量子ビットのセットは、複数の2量子ビットの組み合わせをさらに定義することができる。例えば、そのセットにより、
の一意の2量子ビットの組み合わせを定義できる。セットの順序は、追加の量子ビットスワップ操作によって反復的に更新され得る。追加のスワップ操作を介して、2量子ビットの組み合わせの各々は、追加のスワップ操作中に少なくとも1回、量子ビットのセットの順序内で連続する2量子ビットグループとして表される。つまり、
の一意の2量子ビットの組み合わせの各々は、追加のスワップ操作によって少なくとも1回、順序セット内の最近傍2量子ビットのペアとしてレンダリングされる。追加のスワップ操作の各々においてスワップされた量子ビットの各ペアは、量子ビットのセットの順序内の最近傍ペアまたは量子ビットであり得る。
本開示の態様は、添付の図面図を参照して以下に詳細に説明されている。
本開示の態様の主題は、本明細書に具体的に説明されており、法定要件を満たしている。ただし、説明自体は、この特許の範囲を制限することを意図したものではない。むしろ、本発明者らは、請求された主題が他の方法で具現化されて、他の現在または将来の技術と併せて、本明細書に記載されたものと同様の異なるステップまたはステップの組み合わせを含むように、他の方法でも具現化される可能性があることを想定している。さらに、「ステップ」および/または「ブロック」という用語は、採用される方法の異なる要素を示唆するために本明細書で採用され得るが、これらの用語は、個々のステップの順序が明示的に記述されている場合を除き、ここに開示されている種々のステップ間またはステップ間の特定の順序を意味すると解釈されるべきではない。本明細書に記載の各方法は、量子コンピューティングプロセス、古典的なコンピューティングプロセス、ならびに/もしくは量子および/もしくは古典的なハードウェア、ファームウェア、ならびに/またはソフトウェアの任意の組み合わせを使用して実行され得るそれらの組み合わせを含み得る。例えば、種々の機能は、メモリに格納された命令を実行するプロセッサによって実行されてもよい。これらの方法はまた、コンピュータ記憶媒体に記憶されたコンピュータ使用可能な命令として具現化されてもよい。これらの方法は、一部例を挙げると、スタンドアロンアプリケーション、サービスまたはホステッドサービス(スタンドアロンまたは別のホステッドサービスとの組み合わせ)、または別の製品へのプラグインによって提供されてもよい。
本明細書で使用される場合、「セット」という用語は、量子ビットなどであるがこれに限定されないオブジェクト(または要素)の順序付けられた(すなわち、シーケンシャルな)または順序付けられていない(すなわち、非シーケンシャルな)集合を指すために採用され得る。セットには、N個の要素(量子ビットなど)が含まれ得る。ここで、Nは任意の非負の整数である。つまり、セットには0、1、2、3、...N個のオブジェクトおよび/または要素が含まれ得、ここで、Nは上限のない正の整数である。したがって、本明細書で使用される場合、セットは、要素を含まないヌル(null)セット(すなわち、空のセット)であり得る。セットには、単一の要素のみが含まれ得る。他の実施形態では、セットは、1つ、2つ、または3つの要素よりも著しく大きい複数の要素を含み得る。本明細書で使用される場合、「サブセット」という用語は、別のセットに含まれるセットである。サブセットは、サブセットが含まれる他のセットの適切または厳密なサブセットであり得るが、そうである必要はない。すなわち、セットBがセットAのサブセットである場合、一部の実施形態では、セットBは、セットAの適切または厳密なサブセットである。他の実施形態では、セットBはセットAのサブセットであるが、セットAの適切または厳密なサブセットではない。
種々の実施形態は、フェルミ粒子(例えば、電子)の非局所的相互作用のシステムなどであるがこれらに限定されない、多体系のダイナミクスをシミュレートするための量子コンピュータおよび量子コンピュータを操作する方法を対象としている。アプリケーションの非限定的な例として、実施形態は、レジスタの量子ビットに作用する量子回路(すなわち、量子論理ゲートの構成)を介して、分子化学における電子軌道の時間発展をシミュレート(または計算)するために採用することができる。より具体的には、実施形態は、並列化されたスワップ操作を実行するスワップゲートのネットワークを含み、これにより、非局所的な多体相互作用のシミュレーションが可能となる。一部の実施形態では、スワップ操作は、量子レジスタ内の量子ビットのグループを局所化する量子ビットスワップ操作を含む。他の実施形態では、スワップ操作は、フェルミオン軌道をスワップするために採用される。つまり、フェルミオンスワップ操作を含むスワップ操作は、ハミルトニアン項をスワップして、ハミルトニアンの項の局所化グループを可能にし得る。
第二量子化形式では、電子軌道の多体相互作用に対応するハミルトニアン関数と、量子コンピュータの量子ビットの多体相互作用に対応するハミルトニアン関数との間のマッピングは、カノニカルな生成演算子および消滅演算子を介して生成することができる。ハミルトニアン関数のこのマッピングにより、軌道のハミルトニアンの種々の項の時間発展演算子の特性をエミュレートするように設計された量子回路が、量子ビット上で動作し得る。軌道の第二量子化ハミルトニアンには、1体項および2体項の両方が含まれる。ハミルトニアンは非局所的であり、1体項は、量子レジスタ内の2つの量子ビットの可能な各ペアの量子ビット間の2量子ビット相互作用に対応する。したがって、すべての1体項を評価するには、1体の時間発展演算子に対応する回路が量子ビットの可能なペアごとに動作する必要がある。2体項は、レジスタ内の4つの量子ビットの可能な各グループ間の4量子ビットの相互作用に対応する。2体項のすべてを評価するには、2体の時間発展演算子に対応する回路が4つの量子ビットの可能な各グループで動作する必要がある。
4量子ビット構成の組み合わせ論は、2量子ビット項の組み合わせ論よりも大幅に高速にスケーリングするものであるため、かかる計算スキームでは、回路深度は、4量子ビット項が支配的となる。従来の量子計算法では、N個の量子ビットを利用した化学システムを完全にシミュレートするために必要な回路深度はO(N4)として比例する。化学などの量子計算シミュレーションの多くの興味深いアプリケーションには、相互作用する粒子が非常に多いシステムが含まれている。例えば、大きな分子には、数十または数百の占有軌道が含まれる場合がある。従来の量子計算法では、回路深度のスケーリングは多項式となるが、回路深度は、N個の量子ビットの適度な値を必要とする量子計算では急速に非実用的なものとなる。以下で論じるように、本明細書の種々の強化された実施形態の少なくとも一部の回路深度は、ほぼO(N3)として比例し、回路深度の少なくとも1桁の減少を提供する。したがって、種々の実施形態は、量子コンピュータの性能、機能性、および効率、ならびに量子コンピュータを操作する方法を大幅な改善することが明らかになっている。
上記のように、実施形態は、量子ビットスワップネットワークを含み、量子ビットスワップネットワークは、複数のスワップゲートを含む。本明細書で論じられる実施形態の多くは、量子レジスタの量子ビットをスワップするスワップネットワークを対象としているが、他の実施形態はそれほど限定されていない。スワップ操作は、フェルミオンスワップ操作を介したフェルミオンスワップ操作として容易に採用することができる。量子ビットスワップ操作として本明細書で論じられるスワップ操作のいずれも、フェルミオンスワップ操作を含むように容易に一般化され得ることが理解される。すなわち、本明細書で論じられるスワップネットワークおよび/またはスワップゲートのいずれかは、フェルミオン軌道および/またはフェルミオン軌道を表すハミルトニアン項をスワップするフェルミオンスワップ演算子として作用し得る。量子ビットスワップ操作と同様に、フェルミオンスワップ操作は並列化されたスワップ操作であり得る。
量子ビットおよび/またはフェルミオン軌道スワップ操作は、量子レジスタ内の量子ビットの局所化グループおよび/またはフェルミオン軌道の局所化グループを介して、非局所的な多体相互作用のシミュレーションを可能にする。スワップゲートのネットワークを介して、多数の多体項の計算を量子コンピュータ内で並列化することができ、その結果、コンピュータの回路深度が大幅に減少する。スワップゲートのネットワークにより、量子ビットの局所化グループに作用し、フェルミ粒子などであるがこれに限定されない非局所化相互作用量子粒子の時間発展をシミュレートする少数の回路テンプレート、または単一のテンプレートの反復適用が可能になる。かかるシミュレーションスキーム用の量子コンピュータを設計する従来の方法では、コンピュータの回路深度は、4量子ビットの相互作用に対応する2体ハミルトニアン項が支配的となり、O(N4)としてスケーリングされる。図7Eに示されるように、本明細書の強化された実施形態の回路深度は、スワップネットワークによって可能にされる回路並列化を介して、O(N3)としてスケーリングされる。したがって、種々の実施形態は、シミュレーションから必要とされる回路深度のスケーリングにおいて少なくとも1桁の減少を提供する。
本明細書で論じられる種々の実施形態の多くは、非局所的な1体および2体のフェルミオン相互作用に対応するハミルトニアン項をシミュレートすることを目的としている。つまり、ハミルトニアンの効果をシミュレートする場合、高次の項は無視される。しかしながら、実施形態はそのように限定されず、実施形態は、k体の相互作用を含むことによってより高次の項を含むように一般化することができる。ここで、kは1より大きい任意の整数である。例えば、3体ハミルトニアン項を計算するために、スワップネットワーク(および他の回路)、ならびに本明細書で論じられる種々の方法、プロセス、および計算システムは、量子回路に8量子ビット(または他の任意の高次)相互作用を組み込むためにスケールアップされ得る。かかる実施形態は、すべての可能な8量子ビットグループを局所化するために適切にスケーリングされたスワップネットワークを含み得る。実施形態はまた、ボソンについて同様のハミルトニアンをシミュレートするために一般化され得る。開示された方法およびシステムは、とりわけ、トラップされたイオン、冷原子、ジョセフソン接合デバイス、固体スピン、マヨラナフェルミ粒子、光子偏光に基づくものなど、量子ビットの種々の物理的実装態様および/またはインスタンス化に基づくシステムに適用され得る。一部のアプリケーションでは、フォールトトレランスを提供するために、いわゆるトポロジカルに保護された量子ビットが好まれる。
本明細書で論じられるように、量子コンピュータ、またはコンピュータ内の1つ以上の量子レジスタは、1つ以上の量子ビットのセットを含み得る。コンピュータに含まれる1つ以上のセットの少なくとも1つには、N個の量子ビットが含まれる。ここで、Nは1より大きい任意の正の整数である。種々の実施形態では、量子ビットのセットは、順序付けられた量子ビットのセットであり得る。一部の実施形態では、セットの順序は、論理的かつ/または仮想化された順序であり得る。量子ビットの論理的かつ/または仮想化された順序は、量子ビットの物理的インスタンス化の物理的な順序付け、構成、および/もしくは配置に類似している場合があり、または類似していない場合がある。量子ビットのセットの順序について説明する際、別段明記されていない限り、量子ビットの論理的かつ/または仮想化された順序付けであり、量子ビットの物理的インスタンス化の物理的な順序付けとは別の場合がある。したがって、「論理的」または「仮想的」という用語は、セットの順序を説明する際に省略され得る。なぜなら、別段の定めがない限り、説明されているのはセットの論理的かつ/または仮想化された順序であることが示唆されるからである。
種々の実施形態は、量子ビットスワップ操作を介してセットの順序を反復的に更新することができ、その結果、セットの現在の順序は、本明細書で論じられる方法および/またはプロセス中に何度も更新され得る。量子ビットの論理的および/または仮想化された構成および/または配置は、セットの現在の論理的かつ/または仮想的順序を示し得、1~Nの一意の整数インデックスを介して各量子ビットを参照かつ/または示し得る。量子ビットの論理的かつ/もしくは仮想化された配置および/または構成を説明する際、論理的かつ/もしくは仮想化された配置および/または構成は、量子ビットの1Dアレイ、ストリング、および/または格子の文脈で説明され得る。例えば、N=10の量子ビットの論理的かつ/もしくは仮想化された配置および/または構成は、論理的または仮想的な1Dアレイ、すなわち(1,2,3,4,5,6,7,8,9,10)として表すことができる。
しかしながら、量子ビットのセットの物理的インスタンス化は、物理的量子ビットの1D格子またはストリングではない量子ビットの物理的配置および/または物理的構成を含み得る。一部の実施形態では、量子ビットの物理的インスタンス化は、2Dまたは3Dの物理的アレイ、ストリング、または格子に物理的に配置および/または構成され得る。他の実施形態では、量子ビットの物理的インスタンス化は、1D物理的アレイ、ストリング、または格子に物理的に配置および/または構成され得る。したがって、実施形態を説明する際、1Dアレイである量子ビットの論理的かつ/もしくは仮想化された配置および/または構成は、(複数の次元を含み得る)物理的配置および/または構成とは異なる場合がある。したがって、量子ビットの配置、構成、および/または順序付けについて説明する際、別段明記しない限り、論理的かつ/もしくは仮想化された配置または構成が示唆される。つまり、別段明記しない限り、量子ビットの配置、構成、および/または順序付けについて説明する際、参照されているのは、物理的な配置ではなく、論理的かつ/または仮想化された配置であることを意味する。したがって、以下の説明では、論理的かつ/もしくは仮想化された配置および/または順序付けが説明されていることが示唆されるので、論理的かつ/または仮想化という用語は省略され得る。
セットの順序は、論理または仮想1Dアレイ内の量子ビットの論理または仮想位置によって示される。したがって、上記のN=10の例では、量子ビット1(それぞれ〈1|または|1〉とブラケット表記で示され得る)はアレイの第1の論理位置にあり、量子ビット2はアレイの第2の論理位置にあり、量子ビット10はアレイの第10の論理位置にある。上記のように、セットの論理的順序が更新され得、その結果、量子ビットの論理的配置および/または論理的構成が更新される。
全体を通して説明したように、セットの再順序付けは、1つ以上の量子ビットスワップ操作を介して可能となり得る。量子ビットのペアを操作する量子ビットスワップ操作により、ペア内の2つの量子ビットの論理位置が「スワップ」され得る。量子ビットの論理位置をスワップすることで、セットの現在の順序が再順序付けされ得るか、または更新され得る。例えば、量子ビット1および2で動作するスワップ操作は、論理配置および/または論理構成が(2,1,3,4,5,6,7,8,9,10)に更新されるように、量子ビットのセットを論理的に再順序付けすることができる。ここで、量子ビット2はセットの論理的な第1の位置にあり、量子ビット1はセットの論理的な第2の位置にある。種々の実施形態では、スワップ操作は、順序付けられた量子ビットのセット全体で並列化され得、その結果、並列化されたスワップ操作は、前のアレイを同時(またはほぼ同時)に、(1,2,3,4,5,6,7,8,9,10)→(2,1,4,3,6,5,8,7,10,9)と再順序付けすることができる。ここで、スワップ操作により、{1,2}、{3,4}、{5,6}、{7,8}、および{9,10}の論理位置にある量子ビットがスワップされている。かかるスワップ操作は、行列表記で
のように示され得る。ここで、一番上の行はセットの最初の順序を示し、次の行は並列化されたスワップ操作の結果として更新された順序を示している。
種々の実施形態では、量子ビットスワップゲートのネットワーク(すなわち、スワップネットワーク)は、セット内の特定の論理位置に論理的に配置された2つの量子ビットの論理位置をスワップするために採用される。かかる量子ビットスワップゲートは、少なくとも図1Bと併せて説明される。スワップ操作を介して量子ビットの論理位置をスワップすることは、量子ビットの物理的インスタンス化の物理的配置および/または物理的順序付けを保存し得ることに留意されたい。より具体的には、量子ビットスワップ操作は、影響を受ける2つの量子ビットの量子状態をスワップし、量子ビットの物理的インスタンス化の物理的に観察可能な構成に影響を与えない場合がある。量子ビット1および2での上記のスワップ操作では、最初にアレイの第1の論理位置にある量子ビットは、|1〉=α|↑〉+β|↓〉のように表される量子状態(すなわち、量子ビットの2つの固有状態の重ね合わせ)にあり得る。アレイの第2の論理位置にある量子ビットは、|2〉=α’|↑〉+β’|↓〉のように表される第2の量子状態にあり得る。(|↑〉,↓〉)は量子ビットの直交基底を構成し、α、β、α’、およびβ’は複素振幅(または係数)であり、|α|2+|β|2=|α’|2+|β’|2=〈↑│↑〉=〈↓│↓〉=1かつ〈↑│↓〉=〈↓│↑〉=0である。スワップ操作がアレイの第1および第2の位置にある量子ビットで動作した後、第1の位置にある量子ビットは|2〉=α’|↑〉+β’|↓〉の量子状態になり、アレイの第2の位置にある量子ビットは|1〉=α|↑〉+β|↓〉の量子状態となる。したがって、量子ビット1および2の順序付けおよび/または位置は論理的にスワップされていると言える。量子ビットの量子状態を論理的にスワップするために、物理的インスタンス化(例えば、個々の電子)の物理的な順序付けまたは構成をスワップする必要がないことに留意されたい。
分子化学ダイナミクスの物理
開示された方法およびシステムは、概して、関心のある材料に関連する第二量子化ハミルトニアンに基づく量子計算に関する。第二量子化ハミルトニアンは量子ビットにマッピングでき、各量子ビットの論理状態は、単一電子スピン軌道の占有に関連付けることができる。ここで、0は占有を示し、1は非占有を示している。複数の単一電子スピン軌道を有するシステムは、量子コンピュータ内でN個の量子ビットで表すことができる。任意の数の電子を有するシステムは、Nの値を適切にスケーリングすることで表すことができる。以下の説明では、Nは1より大きい任意の整数であり得る。つまり、Nは上限に関連付けられていない。一部の実施形態では、Nは50より大きい。一部の実施形態では、Nは100よりも著しく大きいか、または1000である。
開示された方法およびシステムは、概して、関心のある材料に関連する第二量子化ハミルトニアンに基づく量子計算に関する。第二量子化ハミルトニアンは量子ビットにマッピングでき、各量子ビットの論理状態は、単一電子スピン軌道の占有に関連付けることができる。ここで、0は占有を示し、1は非占有を示している。複数の単一電子スピン軌道を有するシステムは、量子コンピュータ内でN個の量子ビットで表すことができる。任意の数の電子を有するシステムは、Nの値を適切にスケーリングすることで表すことができる。以下の説明では、Nは1より大きい任意の整数であり得る。つまり、Nは上限に関連付けられていない。一部の実施形態では、Nは50より大きい。一部の実施形態では、Nは100よりも著しく大きいか、または1000である。
ジョーダンウィグナー変換は、パウリスピン行列を使用して表されるように、生成演算子と消滅演算子とを変換するために使用され得る。多体系の一般的な時間発展演算子は、ゲートのシーケンスとして簡単に表現できない場合があるが、第二量子化ハミルトニアンは1電子項および2電子項の和として表すことができる。各項の時間発展演算子は、量子論理ゲートのシーケンスを介して物理的に実装できる。関連するユニタリ時間発展演算子は、非可換演算子の時間発展に基づくTrotter-Suzuki関係を使用して近似できる。
多体系の量子計算は、第二量子化形式で定式化できる。ここで、ハミルトニアン演算子は次のように表される。
式中、p、q、r、およびsは、分子軌道を識別する指標であり、各分子軌道は、スピンアップ粒子またはスピンダウン粒子のいずれか、あるいはその両方またはいずれでもない粒子によって占められている。hpq係数およびhpqrs係数は、種々の波動関数に関連する振幅である。a†演算子およびa演算子は、それぞれ、量子力学の第二量子化形式のカノニカルな粒子の生成演算子および消滅演算子である。この定式化では、高次の項は無視される。しかしながら、これらの項は、kが4より大きい場合、k体の相互作用を対象としたスワップネットワークを採用することによって、種々の実施形態に含まれ得ることに留意されたい。
hpq係数およびhpqrs係数は、正確に決定または近似することができる。例えば、これらの係数は、ハートリーフォック法の適切な積分を実行することによって近似できる。便宜上、説明のために、hpq係数およびhpqrs係数は、本明細書では、それぞれ、1体ハミルトニアン係数および2体ハミルトニアン係数と称される。これらの係数は、基底状態pおよびq、ならびにp、q、r、およびsを結合する波動関数の複素係数である。ここで、p、q、r、およびsは整数インデックスである。これらの1体および2体ハミルトニアン係数は、例えば、ハートリーフォック近似での空間積分などの計算を実行する従来のコンピュータプログラムを使用して、種々の方法で取得できる。以下の例では、任意の方法で得られた係数を使用できる。生成演算子および消滅演算子は、エルミート行列とユニタリ2×2パウリスピン行列(ここではX、Y、Zと称する)とを介して表現できることに留意されたい。
量子計算の目的で、各軌道は2つの量子ビットにマッピングされる。ここで、hpqap
†aq項はpおよびq(1つの電子を表す)としてインデックス付けされた量子ビットのペアで動作し、hpqrsap
†aq
†aras項はp、q、r、およびs(2つの電子を表す)としてインデックス付けされた4つの量子ビットのグループで動作する。
軌道の時間発展は、軌道の波動関数に作用する単一の時間発展演算子U(t)=e-iHtを介して生成される。したがって、軌道の初期波動関数(Ψ(t=0))が与えられると、軌道の時間発展はΨ(t)=e-iHtΨ(0)のように求めることができる。概して、ハミルトニアン項は可換でないことに留意されたい。ただし、U(t)の評価は、時間の経過とともに繰り返される離散評価(Trotterステップなど)によって、次のように概算できる。
式中、MはTrotterステップの数であり、ΔtはTrotterステップのサイズであり、Hjはハミルトニアンの項である。したがって、時間発展演算子は、各Trotterステップで次のように近似できる。
式中、
および
である。したがって、かかる軌道の時間発展は、ハミルトニアンの指数演算を介して、量子ビットで動作するゲートを含む量子コンピューティングシステムを介してシミュレートすることができる。
ハミルトニアンには、電子のすべての非局所的相互作用が含まれることに留意されたい。したがって、N個の量子ビットにマッピングすると、4つの量子ビットのペアとグループごとに
の1体の時間発展操作および
の2体の時間発展操作が必要になる。かかる各操作には量子回路が必要であり、各回路には1つ以上の量子ゲートが含まれる。1体ハミルトニアン項はO(N2)としてスケーリングされ、2体ハミルトニアン項はO(N4)としてスケーリングされるため、量子計算に必要な回路深度は2体項が支配的となる。したがって、項を計算するための量子回路およびゲートに関する以下の説明は、2体項を対象としている。ただし、1体項の計算には、他の量子回路およびゲートが含まれ得る。
上記のように、概してハミルトニアンの項は可換ではない。したがって、単純に、
には、暗黙的に4!=24の順列項の和が含まれる。ただし、係数を実数値にする必要があり、ハートリーフロック積分で8回の回転対称性を採用することにより、固有項は、
、
、および
3つのみである。クロネッカーのデルタ関数は、軌道のスピン状態に適用されており、2つの軌道のスピン波動関数の内積の積分から生じる。したがって、量子ビットにマッピングする場合、非ゼロ項になるには、2つの内側の量子ビットの状態が同等である必要があり、外側の2つの量子ビットの状態が同等である必要がある。行列形式で表現すると、この特性により行列のスパース性が高まる。以下の説明を明確にするために、デルタ直接関数は省略されているが、含まれていると理解される。
生成演算子および消滅演算子をパウリスピン行列として表現することにより、ジョーダンウィグナー変換により、次のことが示され得る。
式中、Xi、Yi、およびZiは、対応する量子ビットに作用するパウリスピン行列である。上記の等式の左辺の総和は、軌道のスピン状態(または対応する量子ビットの状態)全体にわたっている。上記のように、内側の2つの量子ビットの状態の対称性要件と外側の2つの量子ビットの状態の対称性要件が示唆されており、上記の等式の右辺に示されているように、これは非ゼロ項の数を大幅に削減する。右辺のこれら3つの項の各々は、4つの量子ビットの各々に対する2つの回転操作を表している。したがって、各2体項の計算には、4つの対応する量子ビットに対する6つの回転操作が必要である。
各量子ビットは2つの状態の重ね合わせであり、
は、概してもつれた4量子ビットの組み合わせ、すなわち
で動作する。したがって、
は16×16回転行列として表され、指数は行列要素に適用される。同じく、
は、4×4回転行列として表される。図1Cは、種々の実施形態と一致する、2体の時間発展演算子(すなわち、
)の一実施形態の行列表現140の一実施形態を示している。図1Cの指数化された行列140に示されるように、
行列の非対角項の多く(すべてではない)は、軌道のスピン状態の対称性要件のために同じように0である。行列要素の各々のt係数は暗黙的に示されているが、明示的には示されていない。
ハミルトニアンの2体項に関連する軌道の波動関数の時間発展をシミュレートするための種々の強化された量子回路および量子回路が、少なくとも図1A~1Bおよび図2A~2Eと併せて説明される。図2A~2Dに示される量子回路の各々は、補助量子ビットを必要とせずに、4つの相互作用する量子ビット間で6回転を分配する。これらの実施形態は、そのように制約されておらず、他の実施形態は、補助量子ビットを採用する回路を含み得る。補助量子ビットを採用する回路の1つの非限定的な例は、図2Eによって提供される。
2体項は最大限に非局所的であり、回転を実行する回路は、量子ビットの
のグループの各々に作用する必要があることに留意されたい。量子ビットの4タプルごとに作用する量子回路を設計するための従来の方法の回路深度は、O(N5)として比例する。しかしながら、本明細書の種々の拡張された実施形態では、量子ビットスワップゲートのネットワークが、非局所的相互作用の各々をレンダリングするために採用される。すなわち、本明細書で論じられる種々のスワップネットワークを介して、2体項を計算するための量子回路は、4つの最近傍量子ビットのグループにのみ作用し得る。したがって、回路テンプレート(例えば、図1A~1Dの実施形態のうちの1つ以上)は、4つの最近傍量子ビットのグループに反復的に採用され得る。さらに、スワップ操作と回路テンプレートを並列化することができ、これは、図7Dの数値結果に示されるように、回路深度のスケーリングをほぼO(N3)に劇的に減少させる。
量子ゲートおよび量子回路の実施形態
図1A~1Bは、本開示の実施形態を実装する際に使用するのに適した量子ゲートの概略図を提供する。より具体的には、図1Aは、種々の実施形態で採用される単一量子ビットゲートの種々の回路概略記号を提供する。図1Bは、マルチ量子ビットゲートの概略記号を提供する。図1Aは、Xゲート102、Yゲート104、Zゲート106、Hゲート108、Sゲート110、S†ゲート112(すなわち、S共役転置またはSダガーゲート)、Tゲート114、および指数ゲート116を示している。これらのゲートの各々は、単一の量子ビットを回転(例えば、ブロッホ球の周りの回転)させるように作用する。Xゲート102、Yゲート104、およびZゲート106は、集合的または個別に、パウリスピンゲートおよび/または行列と称され得る。Hゲート108は、アダマールゲートまたはNOTゲートの平方根と称され得る。量子ビットの回転を介して、ゲート102~116の各々により、量子ビットの状態に相対的な位相差が導入される。標準基底で記述された、ゲート102~116の各々の2×2行列形式は、
、
、
、
、
、
、
、および
であり、ここで、Aは2×2の行列である。
図1A~1Bは、本開示の実施形態を実装する際に使用するのに適した量子ゲートの概略図を提供する。より具体的には、図1Aは、種々の実施形態で採用される単一量子ビットゲートの種々の回路概略記号を提供する。図1Bは、マルチ量子ビットゲートの概略記号を提供する。図1Aは、Xゲート102、Yゲート104、Zゲート106、Hゲート108、Sゲート110、S†ゲート112(すなわち、S共役転置またはSダガーゲート)、Tゲート114、および指数ゲート116を示している。これらのゲートの各々は、単一の量子ビットを回転(例えば、ブロッホ球の周りの回転)させるように作用する。Xゲート102、Yゲート104、およびZゲート106は、集合的または個別に、パウリスピンゲートおよび/または行列と称され得る。Hゲート108は、アダマールゲートまたはNOTゲートの平方根と称され得る。量子ビットの回転を介して、ゲート102~116の各々により、量子ビットの状態に相対的な位相差が導入される。標準基底で記述された、ゲート102~116の各々の2×2行列形式は、
図1Bは、マルチビット量子ゲート、すなわちC-NOTゲート120および4つのスワップゲート130、132、134、および136を示している。C-NOT120ゲート(制御-NOTゲート)とスワップゲート130は、ケット表記|1〉および|2〉でラベル付けされた2つの量子ビットに作用する。スワップゲート132、134、および136は、それぞれ3、4、および5ビットに作用し、追加の量子ビットにはそれぞれ|3〉、|4〉、および|5〉としてラベル付けされる。量子ビットラインの入力および出力のラベル付けは、量子ビットの量子状態のスワップを明示的に表している。複数の量子ビットがもつれている場合ともつれていない場合がある。標準基底で書かれたC-NOTゲート120および2量子ビットスワップゲート130の4×4行列形式は次のとおりである。
簡潔にするために、スワップゲート132、134、および136の8×8行列、16×16行列、および32×32行列は省略されている。ただし、これらの行列は同様に生成されてもよい。全体を通して使用される量子ビットスワップ表記では、スワップゲート130を採用して、最近傍量子ビット(1,2)→(2,1)をスワップすることができる。最近傍スワップゲート130の複数のインスタンス化を採用して、非隣接量子ビットをスワップすることができる。より具体的には、局所性の程度が正の整数kによって示される量子ビットの任意のペアは、最近傍スワップゲート130の複数のインスタンスを採用することによってスワップすることができる(ここで、k=1の場合は最近傍量子ビットスワップを示す)。スワップゲート132の場合、k=2、スワップゲート134の場合、k=3、およびスワップゲート136の場合、k=4である。全体で使用される量子ビットスワップ表記では、スワップゲート132は量子ビットを(1,2,3)→(3,2,1)にスワップし、スワップゲート134は量子ビットを(1,2,3,4)→(4,2,3,1)にスワップし、スワップゲート136は量子ビットを(1,2,3,4,5)→(5,2,3,4,1)にスワップする。本明細書で論じられるフェルミオンスワップネットワークの実施形態の各々について、1≦k≦4であるが、スワップゲート132~136は、最近傍スワップゲート130の複数のインスタンスのみを採用して量子ビットの任意のペアをスワップし得る方法を示している。すなわち、kは、種々の実施形態に対して上限を持たない。
図1A~1Bに示される量子ゲートのいずれかの種々の組み合わせを採用して、種々の実施形態で利用される量子回路を構築することができる。制御されたZゲート、制御された位相ゲート、トフォリゲート、フレドキンゲート、測定ゲートなどであるがこれらに限定されない追加の量子ゲートは、種々の実施形態では図1A~1Bのゲートと組み合わせることができる。
上記のように、量子化学を完全にシミュレートするには、1体の時間発展演算子
が量子ビットの各
のペアを操作し、2体の時間発展演算子
が4量子ビットの
のグループの各々を操作する必要がある。量子ビットへの適用について説明する際、1体の時間発展演算子
は、2量子ビット演算子と称され得る。同様に、2体の時間発展演算子
は、4量子ビット演算子と称され得る。これらの2量子ビットおよび4量子ビットの演算子の各々は、それぞれ2量子ビットの量子回路と4量子ビットの量子回路に対応する。これらの量子回路は、図1A~1Bに関連して説明した量子ゲートの種々の組み合わせから構成され得る。上記のように、図1Cは、2体の時間発展演算子
の行列表現140の一実施形態を示しており、ここで、行列要素の各々のt係数が示唆されている。
図2A~2Eは、4量子ビットの時間発展演算子
に対応する4量子ビットの量子回路の5つの代替実施形態を示している。図示していないが、同様の2量子ビット量子回路を2量子ビットの時間発展演算子
に採用することができる。計算の回路深度は、4量子ビット演算子の実装態様が支配的であるため、以下の説明では4量子ビット演算子の実装態様に焦点を当てる。
図2A~2Eの4つの回路の各々、すなわち210、220、230、240、および250は、それぞれ、4つの量子ビット入力および4つの量子ビット出力を含み、ここで、4つの量子ビットは|p〉、|q〉、|r〉および|s〉のように表される。回路210、220、230、および240の各々は、指数演算子(例えば、図1Aの指数演算子116)を介して、4つの量子ビットに分散された2体の時間発展演算子の6回転を実行する。しかしながら、回路210、220、230、および240は、回転深度(すなわち、単一量子ビットで実行される回転の最大数)によって異なる。回路はまた、実装に必要な2量子ビットゲート(例えば、図1BのC-NOTゲート120)の数が異なる。実施形態では、回転深度および2量子ビットゲートの数を変えることによって、種々の実装態様のトレードオフを実現することができる。より具体的には、図2Aの量子回路210は、4つの量子ビットの間で6つの回転を均衡化し(すなわち、量子ビット|p〉、|q〉、および|s〉の各々に2つの回転であり、量子ビット|r〉の回転はない。回路の回転深度は、回路内の任意の量子ビットの最大回転数であり得るしたがって、回路210は2の回転深度を有する)、18個の2量子ビットゲートを利用する。図2Bの量子回路220は、2の回転深度を有し、16個の2量子ビットゲートを利用する。図2Cの量子回路230は、2の回転深度を有し、14個の2量子ビットゲートを利用する。図2Dの量子回路240は、3の回転深度を有し、12個の2量子ビットゲートを利用する。図2Eの量子回路250は、3つの補助量子ビットを採用する。種々の操作を介して、量子回路250が、量子回路200、210、230、または240のいずれかに変換かつ/または減少され得ることを示し得る。
フェルミオンスワップネットワークの実施形態
上記のように、量子化学ならびに他の多体量子システムをシミュレートするために、複数の量子体がN個の量子ビットにマッピングされる。ここで、Nは1より大きい無制限の整数である。本明細書で論じられる実施形態は、第二量子化ハミルトニアンの1体および2体の局所項および非局所項を考慮している。(1体の時間発展演算子
の)1体項は、量子ビットの各
のペアを操作する2量子ビット演算子を介してシミュレートでき、(2体の時間発展演算子
の)2体項は、4量子ビットの
のグループの各々を操作する4量子ビット演算子を介してシミュレートできることに留意されたい。図2A~2Eは、これらの4量子ビット演算子を実装するための量子回路の種々の実施形態を示している。
上記のように、量子化学ならびに他の多体量子システムをシミュレートするために、複数の量子体がN個の量子ビットにマッピングされる。ここで、Nは1より大きい無制限の整数である。本明細書で論じられる実施形態は、第二量子化ハミルトニアンの1体および2体の局所項および非局所項を考慮している。(1体の時間発展演算子
「量子レジスタ」または単に「レジスタ」は、N個の量子ビットのセットを含むか、または表すことができる。ここで、Nは、1より大きい任意の整数である。Nは、レジスタの深度と称され得る。上記のように、セットは論理順序を含み得、セットは論理1Dアレイとして論理的に構成され得、ここで、N個の量子ビットの各々は、アレイ内の論理位置または場所に関連付けられる。量子ビットの論理位置は反復的にスワップされるため、量子ビットの順序(またはシーケンス)は、本明細書で論じられる方法およびプロセスの間に変化する。以下の説明では、量子ビットは1Dアレイに論理的に配置されている。しかしながら、他の実施形態はそれほど制約されておらず、説明された方法および操作は、量子ビットの2Dおよび3Dアレイに一般化され得る。量子ビットの順序付けられた文字列は、(1,2,3,4,...N-3,N-2,N-1,N)の表記で参照でき、ここで整数は各量子ビットの一意のインデックスを指す。インデックスに加えて、各量子ビットはレジスタ内の論理位置を有する。レジスタ内の量子ビットの現在の位置は、量子ビットの文字列の現在の順序に依存する。全体で説明されているように、スワップ操作は量子ビットに対して反復的に実行されるため、レジスタ内の量子ビットの位置(したがって量子ビットの順序)は反復的に更新されるが、その一意のインデックスは一定である。上記の1Dアレイでは、1としてインデックス付けされた量子ビットは第1の位置にあり、2としてインデックス付けされた量子ビットは第2の位置にある。量子ビット1と2とがスワップされると、レジスタの更新された順序は(2,1,3,4,...N-3,N-2,N-1,N)のように表記される。ここで整数は量子ビットのインデックスを指す。量子ビット2は位置1になり、量子ビット1は位置2になる。
「最近傍」量子ビットは、レジスタ内の2つの論理的に連続した量子ビットである。したがって、上記の両方のレジスタ配置における2つの最近傍量子ビットのペアには、(1,2)および(N-1,N-2)の2つの量子ビットペアが含まれる。2≦k≦Nのような正の整数kの場合、k量子ビットの局所グループには、k個の論理的に連続した(レジスタ内の)量子ビットの組み合わせが含まれる。したがって、初期のレジスタ配置では、4つの量子ビットの局所グループには、(1,2,3,4)および(N-3,N-2,N-1,N)の4量子ビットグループが含まれる。
「量子ビットホイール」または単に「ホイール」は、量子レジスタ内の量子ビットの論理的に順序付けられたグループであり得る。したがって、ホイールは、量子ビットの物理的なグループではなく、論理的な構成概念であり得る。以下に説明するように、ホイールは、レジスタ内の量子ビットのセットのサブセットを含み得る。一部の実施形態では、ホイールは、レジスタ内のN個の量子ビットのサブセットを含む。ホイールに含まれる量子ビットの順序付けられたサブセットのカーディナリティはnとして示され得、ここで、1≦n≦Nである。nはホイールの深度と称され得る。一部のホイールでは、ホイールの量子ビットは、レジスタの論理順序を表す1Dアレイ内の論理的に連続した量子ビットであり得る。他のホイールの場合、ホイールの量子ビットは、レジスタのアレイ内の1つ以上の量子ビットによって分離され得る。つまり、レジスタの順序付けによって、ホイールは量子ビットの局所グループではない場合がある。レジスタと同様に、ホイール内の量子ビットが順序付けられる。したがって、ホイールに含まれる量子ビットは、レジスタ内の位置だけでなく、ホイール内の位置も有することができる。量子ビットは、レジスタ内の量子ビットの位置である第1の位置と、ホイール内の量子ビットの位置である第2の位置とを有し得る。量子ビットは反復的にスワップされるため、ホイール内の量子ビットの位置(したがってホイールの順序)は反復的に更新され得る。同じホイールに含まれる2つの量子ビットは、ホイール内の最近傍量子ビットであり得るが、レジスタ内の最近傍量子ビットではないことに留意されたい。2つの量子ビットは、レジスタ内の最近傍量子ビットであり得るが、同じホイールに含まれていない。以下で説明するように、一部の実施形態では、レジスタの順序付けられた量子ビットのセットは、ほぼ等しい深度またはカーディナリティのk個の順序付けられたホイールに細分される。k個のホイールの各々には、量子ビットのセットのサブセットが含まれている。量子ビットのサブセットの各々は、量子ビットの他のすべてのサブセットから互いに素であり得る。つまり、レジスタの各量子ビットは、k個のホイールのうちの1つに正確に割り当てることができる。
レジスタおよび/またはホイール内の量子ビットはスワップできる。量子ビットのスワップ操作は、レジスタ(またはホイール)の回転と称され得る。表記{i,j}(ここで1≦i≠j≦N)は、レジスタ(またはホイール)内のi番目とj番目の論理位置の量子ビットをスワップする量子ビットスワップ操作を指すために採用されている。つまり、表記{i,j}は、コンテキストに応じて、ホイールまたはレジスタ内の位置を参照し得る。一部の実施形態では、反復量子ビットスワップの部分は並列化されている。つまり、量子ビットの複数のペアが同じスワップ(または回転)操作でスワップされ得る。並列化された量子ビットスワップは、{{i,j},{j,k}}と表記され得、ここで、二重の{{}}は、同じスワップまたは回転操作での複数の(または並列化された)スワップを示している。一部の実施形態では、(レジスタ内またはホイールを備えた)最近傍の交互のペアが反復的にスワップされる。例えば、最初に順序付けられた10量子ビットレジスタ(1,2,3,4,5,6,7,8,9,10)を検討する。第1のスワップ(または回転)操作中に、{{1,2}、{3,4}、{5,6}、{7,8}、{9,10}}のスワップ操作の各々が実行される。ここで、整数は、同時にスワップされている量子ビットのペアの位置を指す。第1のスワップ操作の後、レジスタの更新された順序は(2,1,4,3,6,5,8,7,10,9)である。これらのスワップ操作は、スワップされたビットの各最近傍ペアの下位量子ビットがレジスタ内の奇数位置に配置され、上位位置の量子ビットが偶数位置に配置されるため、奇数ペアスワップ操作と称され得る。次のスワップ操作は、量子ビットの交互の位置をスワップし得る({{2,3}、{4,5}、{6,7}、{8,9}})。ここで整数は、同時にスワップされる量子ビットのペアの位置を指す。第2のスワップ操作の後、レジスタの更新された順序は(2,4,1,6,3,8,5,10,7,9)である。これらのスワップ操作は、スワップされたビットの各最近傍ペアの下位量子ビットがレジスタ内の偶数位置に配置され、上位位置の量子ビットが奇数位置に配置されるため、偶数ペアスワップ操作と称され得る。降順の行は量子ビットのセットの順序付けの更新を示しているため、レジスタの論理的順序の発展は、
のように表記できる。ホイールの回転およびスワップ操作について説明する際も、同様の操作、表記、および項を採用できる。
種々の実施形態は、スワップ演算子を反復的に適用しており、これは、N個の量子ビット上に図1Bのスワップゲート130~136を実装することができる。スワップゲートは、スワップゲートの1つ以上のネットワーク(すなわち、スワップネットワーク)に実装され得る。反復スワップ操作および/またはスワップネットワークは、可能な
の2量子ビットペアの各々を論理的に最近傍ペアとして少なくとも1回、可能な
の4量子ビットの組み合わせの各々を4つの論理的に連続した量子ビットのグループとしてレンダリングするように構成され得る。したがって、ハミルトニアン演算子は、局所量子ビットのグループ(例えば、最近傍量子ビットのペアおよび/または4つの連続する量子ビットのグループ)に対してのみ操作する必要がある。つまり、非局所1体ハミルトニアン項をシミュレートするために適用される2量子ビット(非局所)時間発展演算子は、量子ビットの2つの最近傍ペアに対してのみ操作する必要がある。同様に、非局所2体ハミルトニアン項をシミュレートするために適用される4量子ビット(非局所)時間発展演算子は、量子ビットの4つの最近傍グループに対してのみ操作する必要がある。つまり、2量子ビットおよび4量子ビットの量子回路は、4つの量子ビットの局所ペア(すなわち、最近傍量子ビット)または局所化グループ(つまり、位置が連続している)にのみ作用する必要がある。
さらに、スワップ演算子は、最大で3つの量子ビットによって論理的に分離されている量子ビット(つまり、図1Bのスワップゲート130~136に示されているk≦4)に対して局所的に作用するだけで済む。したがって、スワップ演算子もある程度局所化され得る。より具体的には、すべての非局所多体相互作用は、局所2および4量子ビット量子回路および最近傍スワップゲート(例えば、スワップゲート130~136)を介して計算され得る。並列量子ビットスワップ用にスワップネットワークを構成し、回路とゲートを局所化することにより、非局所的相互作用のシミュレーションを並列化して、回路深度および計算時間を削減することができる。量子ビットスワップ操作のアーキテクチャについては、2体、3体、および4体の相互作用演算子について以下で説明する。しかしながら、他の実施形態はそのように制約されておらず、より高次の項は、本明細書で論じられるスワップ操作のネットワークを一般化することによって計算され得る。すなわち、種々の実施形態は、k体の相互作用について容易に一般化することができる。ここで、kは、1より大きい任意の整数である。
2量子ビットペアの局所化(すなわち、k=2)
k=2の実施形態についての以下の説明は、量子ビットスワップ操作を対象としている。しかしながら、全体を通して述べられるように、種々の実施形態はそのように制約されておらず、スワップ操作はフェルミオンスワップ操作を含み得る。次に、種々の量子ビットスワップネットワークについて説明する。スワップネットワークは、説明された種々の量子ビットスワップ操作を実行する複数のスワップゲート(例えば、図1Bのスワップゲート130~136)を含み得る。スワップネットワークは、量子ビットの複数のペアを同時に(またはほぼ同時にスワップする)並列化されたスワップゲートを含み得る。各個別のスワップゲートは、量子回路のN個の量子ビットラインのうちの2つに作用し得る。
k=2の実施形態についての以下の説明は、量子ビットスワップ操作を対象としている。しかしながら、全体を通して述べられるように、種々の実施形態はそのように制約されておらず、スワップ操作はフェルミオンスワップ操作を含み得る。次に、種々の量子ビットスワップネットワークについて説明する。スワップネットワークは、説明された種々の量子ビットスワップ操作を実行する複数のスワップゲート(例えば、図1Bのスワップゲート130~136)を含み得る。スワップネットワークは、量子ビットの複数のペアを同時に(またはほぼ同時にスワップする)並列化されたスワップゲートを含み得る。各個別のスワップゲートは、量子回路のN個の量子ビットラインのうちの2つに作用し得る。
図3Aは、2量子ビットペアスワップネットワークの動作のプロセス300を示すフロー図を提供する。図3Bは、ホイールスワップネットワークの動作のプロセス320を示すフロー図を提供する。前述のように、2体スワップネットワークとホイールスワップネットワークとの両方は、図1Bのスワップゲート130~136の体系的な適用を介して実装され得る。すなわち、プロセス300および320の各々は、本明細書で論じられる時間発展演算子をシミュレートするために採用される量子コンピュータ内にスワップゲートの対応する構成(すなわち、スワップネットワーク)を移植することによって物理的に実装され得る。プロセス300および320は、図3Cと併せて説明される。図3Cは、N=4、N=5、N=10、およびN=11の量子ビットについて図3A~3Bのプロセス300および320を実装する量子ビットスワップネットワークの回転操作を示している。プロセス300および320の以下の説明は、量子ビットスワップ操作を対象としている。しかしながら、全体を通して述べられるように、種々の実施形態はそれほど制約されておらず、全体を通して説明されるスワップ操作は、フェルミオンスワップ操作を含み得る。
図3Aのプロセス300を実装するものなどの2量子ビットペアスワップネットワークは、レジスタのN個の量子ビット(またはホイールのN個の量子ビット)の最近傍ペアにスワップ操作を適用し、その結果、
の2量子ビットペアの各々は、プロセス300の間に少なくとも1回、最近傍(または隣接)ペアとなる各2量子ビットペアは、プロセス300の実装中に少なくとも1回は最近傍ペアであるため、局所化された2量子ビット時間発展回路は、可能なペア
の各ペアで動作して、局所化された量子ビットのペアを介して非局所の相互作用の各々をシミュレートし得る。2量子ビットペアスワップネットワークのスワップ深度は、d2(N)=N-1であることが示され得る。つまり、プロセス300を介して、レジスタ(またはホイール)がN-1構成(初期構成を含む)で回転すると、N個の量子ビットの各々が他のN-1量子ビットの各々と最近傍になる。
図3Bのプロセス320を実装するものなどのホイールスワップネットワークは、n個の量子ビットの各々がホイール内のn個の位置の各々に少なくとも1回到達するように、ホイールのn個の量子ビットのペアにスワップ操作を適用する。スワップ操作の各々は、ホイール内の最近傍ペアで実行される。ただし、ホイール内の最近傍ペアは、レジスタ内の最近傍ペアではなくてもよい。つまり、ホイールスワップネットワークは、レジスタ内の隣接していないビットで動作し得る。ただし、2≦k≦4である実施形態では、ホイールの2つの最近傍量子ビットは最大で3つの介在量子ビットによって分離される。したがって、スワップゲート130~136を採用して、ホイールスワップネットワークを実装することができる。ホイールスワップネットワークのスワップ深度は、
であることが示され得る。つまり、プロセス320を介して、レジスタ(またはホイール)が2n-2+mod(n,2)構成(初期構成を含む)を介して回転すると、n個の量子ビットの各々は、プロセス320の実装中に少なくとも1回、ホイールの論理的なn個の位置の各々となる。
プロセス300および320は、各プロセス300および320が、量子ビット上で並列化された交互の奇数ペアおよび偶数ペアのスワップ操作を反復的に適用するという点で、同様のプロセスである。プロセス300およびプロセス320は、終了基準が異なる。プロセス300は、各量子ビットが少なくとも1回は互いに最近傍量子ビットであった場合、すなわちds(N)=N-1の場合に終了し得る。プロセス320は、各量子ビットがそのホイール内の各位置を少なくとも1回訪れた場合、すなわちdw(n)=2n-2+mod(n,2)の場合、終了し得る。プロセス300および320の各々は、奇数ペアおよび偶数ペアのスワップ操作を交互に行う反復ループを含む。前述のように、プロセス300の反復ループの終了条件は、すべての量子ビットが、プロセス300の間に少なくとも1回、他のすべての量子ビットとの最近傍量子ビットであったことであり、これは、スワップの深度がds(N)=N-1の場合に決定論的に生じる。プロセス320の反復ループの終了条件は、すべての量子ビットがプロセス320の間に少なくとも1回はホイール内の各位置にあることであり、これは、スワップの深度がdw(n)=2n-2+mod(n,2)の場合に決定論的に生じる。図3Aおよび3Bに示されるように、プロセス300および320は、終了条件が満たされているかどうかをチェックする判定ブロック(すなわち、プロセス300の場合はブロック306および312、プロセス320の場合はブロック326および332)を含む。終了条件は決定論的に決定されたスワップ深度を介して発生するため、これらの判定ブロックは任意である。すなわち、プロセス300および320は、上記のそれぞれのスワップ深度を介して、決定論的に発生するため、終了条件が発生したかどうかをチェックする必要はない。これらの判定ブロックは、説明の目的で含まれており、実装する必要はない。
プロセス300は、開始ゲートの後、ブロック302で開始し、そこで、量子ビットの各奇数ペアの最近傍ペアがスワップされる。複数のスワップは、並列化された2量子ビットペアスワップネットワークを介して並列化できる。例えば、ブロック302の最初の反復で、N=10レジスタの並列化された2量子ビットスワップネットワークを介して、レジスタを(1,2,3,4,5,6,7,8,9,10)の初期の順序付けから(2,1,4,3,6,5,8,7,10,9)の更新された順序付けに変換することが実装される。ここで、スワップ操作は、最近傍量子ビットの奇数ペアの各々に適用されている。任意のブロック304において、
などであるがこれに限定されない2量子ビット演算子を、最近傍量子ビットの各ペアに適用することができる。判定ブロック306で、2量子ビットペアスワップネットワークの終了条件がチェックされる。すなわち、判定ブロック306で、各量子ビットがレジスタ内の互いに最近傍(または隣接する)量子ビットであったかどうかを判定することができる。上述したように、これはレジスタのd2(N)=N-1構成の後に発生する。終了条件が満たされない場合、プロセス300はブロック308に進む。そうでない場合、プロセス300は終了ブロックで終了し得る。
ブロック308において、量子ビットの各偶数ペアの最近傍ペアをスワップすることができる。奇数ペアのスワップと同様に、複数の偶数ペアのスワップを並列化することができる。上記の例を続けると、ブロック308の第1の反復は、レジスタを(2,1,4,3,6,5,8,7,10,9)の第2の配置から(2,4,1,6,3,8,5,10,7,9)の第3の配置に変換する。ここで、スワップ操作が最近傍量子ビットの偶数ペアの各々に適用されている。任意のブロック310では、2量子ビット演算子を、最近傍量子ビットの各ペアに適用することができる。判定ブロック312で、2量子ビットペアスワップネットワークの終了条件がチェックされる。終了条件が満たされない場合、プロセス300はブロック302に戻る。そうでない場合、プロセス300は終了ブロックで終了し得る。
プロセス320は、開始ゲートの後、ホイール内の量子ビットの各奇数ペアのグループがスワップされるブロック302で開始する。任意のブロック324において、
などであるがこれに限定されないk量子ビット演算子を、k個の量子ビットの局所化グループに適用できる。かかる演算子は、図2A~2Eの回路210、220、230、240、または250などであるがこれらに限定されない量子回路を介して実装され得る。判定ブロック326で、ホイールスワップネットワークの終了条件がチェックされる。すなわち、判定ブロック326で、各量子ビットがホイール内の各位置を訪れたかどうかを判定することができる。上述したように、これはホイールのdw(n)=2n-2+mod(n,2)構成の後に発生する。終了条件が満たされない場合、プロセス320はブロック328に進む。そうでない場合、プロセス320は終了ブロックで終了し得る。
ブロック328において、量子ビットの各偶数ペアの最近傍ペアをスワップすることができる。奇数ペアのスワップと同様に、複数の偶数ペアのスワップを並列化することができる。任意のブロック330では、最適なブロック324と同様に、k量子ビット演算子を適用することができる。判定ブロック322で、ホイールスワップネットワークの終了条件がチェックされる。終了条件が満たされない場合、プロセス320はブロック322に戻る。そうでない場合、プロセス320は終了ブロックで終了し得る。
図3Cは、N=4、N=5、N=10、およびN=11の量子ビットレジスタおよび/またはホイールについて、それぞれ2量子ビットペアスワップネットワークおよびホイールスワップネットワークを介して実装された、プロセス300および320の両方の回転(または並列化スワップ)操作を示している。より具体的には、スワップまたは回転操作330は、N=4用であり、スワップ操作340は、N=5用であり、スワップ操作360は、N=10用であり、スワップ操作380は、N=11用である。種々の行列内で、行はレジスタおよび/またはホイール内の量子ビットの配置(または論理的順序付け)を示している。ここで、整数は量子ビットのインデックスを示している。行からその真下の行への遷移は、2量子ビットスワップネットワークまたはホイールスワップネットワーク、例えば、プロセス300のブロック302または308および/またはプロセス320のブロック322または328を介して実装される1つの回転操作を示している。2量子ビットスワップネットワークおよび/またはプロセス300について説明する際、行は、レジスタ量子ビットの配置を示すことができる。ホイールスワップネットワークについて説明する際、行は量子ビットのホイールの配置を示すことができる。
操作330のN=4の場合、d2(4)=3およびdw(4)=6である。水平バー334および水平バー332は、それぞれ、N=4について、プロセス300(例えば、2量子ビットスワップネットワークの動作)およびプロセス320(例えば、ホイールスワップネットワークの動作)の終了を示している。水平バー332の下の追加の回転操作は、追加の回転操作がどのようにレジスタおよび/またはホイールを量子ビットの初期配置に戻すことができるかを示している。操作340のN=5の場合、d2(5)=4およびdw(5)=9である。水平バー344および水平バー342は、それぞれ、N=5の場合のプロセス300およびプロセス320の終了を示している。水平バー342の下の追加の回転操作は、追加の回転操作がどのようにレジスタおよび/またはホイールを量子ビットの初期配置に戻すことができるかを示している。操作360のN=10の場合、d2(10)=9およびdw(10)=19である。水平バー364は、プロセス300の終了を示している。操作360の場合、プロセス320は最後の行で終了する。操作380のN=11の場合、d2(11)=10およびdw(11)=21である。水平バー384は、プロセス300の終了を示している。操作380の場合、プロセス320は最後の行で終了する。
これらのレジスタ/ホイール回転の一般的なパターンが、最初は、奇数インデックスの量子ビットがホイール内の第Nの位置に向かって移動し、偶数インデックスの量子ビットがホイール内の第1の位置に向かって移動することに留意されたい。量子ビットがレジスタ/ホイールの第1または第N(つまり境界)の位置に達すると、量子ビットは2回のスワップ反復で境界位置に配置され、レジスタ/ホイールの反対側の境界位置に向かって戻る。量子ビットがレジスタ/ホイールの第Nの位置に向かって移動するとき、量子ビットは入力量子ビットと称され得、一方、量子ビットがレジスタ/ホイールの第1の位置に向かって移動するとき、量子ビットは出力量子ビットと称され得る。また、各量子ビットがレジスタ/ホイールの第1または第Nの位置に到達すると、量子ビットは2回のスワップ反復の間その位置に留まり、次に進行方向を変更することに留意されたい。
2量子ビットスワップネットワークによって実装されるプロセス300を介して、各量子ビットは、N-1の回転深度内で、少なくとも1回、他のすべての量子ビットに対して最近傍となる。ホイールスワップネットワークによって実装されたプロセス320を介して、各量子ビットは、最初に入ってくる最後から2番目の量子ビットが第Nの位置に到達したときに、レジスタ/ホイール内のすべての位置に少なくとも1回到達する。最初に入る量子ビットは、偶数インデックスの量子ビットである。したがって、最後から2番目の偶数インデックス位置が第Nの位置に到達すると、各量子ビットは各位置を訪れる。N=4の場合、最後から2番目の偶数インデックスの量子ビットは量子ビット2、N=5の場合、最後から2番目の偶数インデックスの量子ビットは量子ビット4、N=10の場合、最後から2番目の偶数インデックスの量子ビットは量子ビット8、およびN=10の場合、最後から2番目の偶数インデックスの量子ビットは量子ビット10である。したがって、プロセス320を介したレジスタ/ホイールの回転は、量子ビット2、4、8、または10が、それぞれ、N=4、5、10、または11個のレジスタ/ホイールについて第Nの位置に到達したときに終了することができる。水平線332および334の下の回転は、追加のレジスタ/ホイール回転が、量子ビットの順序付けをその初期の順序付けに戻すために採用されることを示している。量子ビットを初期位置に戻すことは、実施形態では必要とされない場合があることに留意されたい。
プロセス300および302の各々を介して、各2量子ビット項は、すべてのNについて最近傍量子ビットのペアを介して操作され得る。さらに、操作は、並列化されたスワップゲートのネットワークを介して並列化され、回路深度を減少させることができる。2量子ビットスワップネットワークおよびホイールスワップネットワークと併せて論じられるプロセス300および320の実施形態は、量子ビットの局所化グループを介して、k量子ビットの非局所的相互作用を実現するために再帰的に採用され得る。ここで、kは2より大きい整数である。より具体的には、2量子ビットペアおよびホイールスワップネットワークの概念を、量子ビットのベクトル化および量子ビットのベクトル化された構成の回転/順列と組み合わせて、局所化された(すなわち、位置が連続した)k量子ビットのグループを介して非局所的相互作用を実現することができる。
3量子ビットの組み合わせの局所化(つまり、k=3)
k=3の実施形態についての以下の説明は、量子ビットスワップ操作を対象としている。しかしながら、全体を通して述べられるように、種々の実施形態はそのように制約されておらず、スワップ操作はフェルミオンスワップ操作を含み得る。次に、3量子ビットの相互作用(つまり、k=3)について説明する。3量子ビットの相互作用の場合、3つの量子ビットの
の一意の組み合わせの各々が考慮される。k=2の実施形態と同様に、スワップネットワークは、各非局所3量子ビット相互作用が3つの局所(すなわち、論理的に連続する)量子ビットを介して局所的相互作用としてレンダリングされるように、量子ビットを反復的にスワップするために採用される。以下で説明するように、k=3の実施形態は、4つの局所(すなわち、論理的に連続する)量子ビットを介して、すべての非局所4量子ビット(すなわち、k=4)相互作用を局所的相互作用としてレンダリングするために再帰的に採用できる。上述したように、分子化学軌道シミュレーションは、k=2およびk=4の項の和を介して実現することができる。k=2、k=3、およびk=4の実施形態は、kの任意のさらに高い値に一般化することができる。
k=3の実施形態についての以下の説明は、量子ビットスワップ操作を対象としている。しかしながら、全体を通して述べられるように、種々の実施形態はそのように制約されておらず、スワップ操作はフェルミオンスワップ操作を含み得る。次に、3量子ビットの相互作用(つまり、k=3)について説明する。3量子ビットの相互作用の場合、3つの量子ビットの
k>2の場合、レジスタの量子ビットはベクトル化された構成で配置できる。かかるベクトル化された構成の場合、N個の量子ビットの各々はk個のクラスの1つに属するものとして分類できる。したがって、各量子ビットは、一意のインデックスおよびクラスラベルを用いてラベル付けされる。ここで、量子ビットのインデックスは、N個の量子ビットの各々の一意のIDであり、1つ以上の量子ビットがk個の量子ビットクラスの各々に割り当てられる。一意の量子ビットインデックスとは対照的に、複数の量子ビットに同じクラスでラベル付けすることができる。したがって、N個の一意の量子ビットインデックスおよびk個のクラスの量子ビットが存在する(k<N)。したがって、k=3の場合、一意の量子ビットインデックスに加えて、各量子ビットにはクラス1、2、または3のいずれかが割り当てられる。量子ビットは周期的にラベル付けされる。14量子ビットレジスタの場合、14個の量子ビットは(11,22,33,41,52,6371,82,93,101,112,123,131,142)としてラベル付けされ、順序付けられ得る。通常のフォントサイズの整数は量子ビットの一意のインデックスを示し、下付き整数は量子ビットのクラス(1、2、または3)を示している。
クラスに割り当てられた量子ビットを含むクラスごとに、別個の量子ビットホイールを形成することができる。各量子ビットには正確に1つのクラスが割り当てられるため、クラスの形成により、N個の量子ビットのk個の互いに素なサブセットが生成される。例えば、14量子ビットレジスタについて、クラス1のホイールは、(11,41,71,101,131)の量子ビットを含み、クラス2のホイールは、(22,52,82,112,142)の量子ビットを含み、クラス3のホイールは、(33,63,93,123)の量子ビットを含む。N量子ビットレジスタの場合、量子ビットwheel_1の深度は
のように計算され、量子ビットwheel_2の深度は
であり、量子ビットwheel_3の深度は
である。すべてのNについてn1≧n2≧n3であることに留意されたい。
3量子ビットの組み合わせタイプは、量子ビットクラスの量子ビット組み合わせタイプの対称性に基づいて5つのカテゴリに分類することができる。例えば、量子ビットの組み合わせタイプ122と133との間の対称性を考慮して、これらの量子ビットの組み合わせタイプは、メンバーの量子ビットの組み合わせタイプ122および133を有するカテゴリとして分類され得る。同様に、量子ビットの組み合わせタイプ211および233は併せて分類され得、量子ビットの組み合わせタイプ311および322は併せて分類され得、そして量子ビットの組み合わせタイプ111、222、および333は併せて分類され得る。
図4Aは、本明細書に提示される種々の実施形態と一致する、3量子ビット相互作用のクラスタイプの種々の特性を示す表400を提供している。より具体的には、表400の各行は、量子ビットの組み合わせタイプのカテゴリに対応する。k=3の場合、カテゴリ0は123のタイプの組み合わせに対応し、カテゴリ4にはメンバータイプ111、222、および333が含まれる。カテゴリ1、2、3にはそれぞれ、カテゴリで示されるホイールからの単一の量子ビットと、他の2つのホイールの1つからの2つの量子ビットを有するメンバータイプとが含まれる。表400の第1の列は、3量子ビットの組み合わせタイプのカテゴリを示している。表400の第2の列は、行のカテゴリに含まれる組み合わせタイプのメンバーを示している。表400の第3の列は、カテゴリに含まれる一意の3量子ビットの組み合わせの数を示している。この列の計算では、Nが3で割り切れると想定していることに留意されたい。Nが大きい場合、
であり、したがって、この仮定に起因するエラーはわずかである。表400の第4の列は、大きいNについての3量子ビットの組み合わせの総数に対する(列3によって示される)カテゴリの3量子ビットの組み合わせの比率を示している。以下で説明するように、表400の第5の列はすべての3量子ビットの組み合わせを3つの局所(つまり、連続)量子ビットのグループとしてレンダリングするために必要なホイール回転の深度(量子ビットスワップ操作など)を示している。
図4Bは、本明細書に提示される種々の実施形態と一致する、3量子ビット構成のベクトル化を示す表410を提供しており、ここで、5≦N≦10である。表410の各行は、Nの個別の値に対応し、ここで、Nの値は、第1の列に示されている。表410の第2、第3、第4の、および第5の列は、3量子ビットの組み合わせタイプのカテゴリ0、カテゴリ1、カテゴリ2、およびカテゴリ3に対応する。表の各エントリは、Nの対応する値と組み合わせタイプのカテゴリの(長さTVの)ベクトルを提供している。以下で説明するように、ベクトルは、
の3量子ビットの相互作用の各々を実現するための組み合わせタイプの配置を示している。
ここで簡単に説明すると、組み合わせタイプのカテゴリのベクトル化は、組み合わせタイプの対応するカテゴリのメンバーである組み合わせタイプの一意の3量子ビットの組み合わせの数の各々を実現するために、レジスタの対応する位置に配置(またはスワップ)する必要がある量子ビットのクラスを示している。例えば、少なくとも図5A~5Bと併せて以下で論じられるように、3量子ビットの局所的グループ化を介して、可能な3量子ビットの組み合わせの各々を実現するために、N=8の場合、8つの量子ビットは、レジスタ内の量子ビットクラスが[1,2,3,1,2,3,1,2]のベクトルを介して順序付けられるように配置される。ここで、整数は量子ビットインデックスではなく、量子ビットタイプを示している。8量子ビットレジスタ内でかかる想定される量子ビット配置の1つは、(1,2,3,4,5,6,7,8)の初期の量子ビット順序付けである。ここで、整数は量子ビットインデックスを示す。別の例として、N=8のカテゴリ1の場合、8つの量子ビットは、レジスタ内の量子ビットクラスが[1,2,2,1,2,3,3,1]のベクトルとして順序付けられるように配置される。8量子ビットレジスタ内で考えられるかかる量子ビット配置の1つは、(1,2,5,4,8,3,6,7)の初期の量子ビット順序付けである。種々の組み合わせタイプ(およびカテゴリ)のベクトル化パターンは、表410の対称性から明らかである。図4Cの表420は、N=14、15、16、17、18、および19の場合のカテゴリ1のベクトル化の非限定的な実施形態を示している。すなわち、表420は、図4Aの表400に提供されているよりも大きいN値のベクトル化のための種々の実施形態を提供している。図4Dの表430は、N=14、15、16、17、18、および19の場合のカテゴリ1のベクトル化のさらに他の非限定的な実施形態を示している。表420および430に示されるベクトル化は非限定的であり、他のベクトル化を採用することができる。例えば、N=17の代替ベクトル化では、図4Cまたは図4Dに示されていないものは、{1,2,2,1,2,2,1,2,2,1,3,3,1,3,3,1,3}である。
図4Bの表410に示される3量子ビットのベクトル化の実施形態は非限定的であり、他のベクトル化が可能であることに留意されたい。したがって、実施形態は、表410に示されるベクトル化を介して制約されない。非限定的な例として、一部の実施形態では、N=6、カテゴリ1のベクトル化は、表410に示すように、ベクトル[1,2,2,1,3,3]ではなく、ベクトル[1,3,3,1,2,2]を含み得る。追加の非限定的な例として、N=10、カテゴリ2のベクトル化は、ベクトル[1,1,2,1,1,2,3,3,2,3]を代替的に含み得、N=10、カテゴリ3のベクトル化は、ベクトル[1,1,3,1,1,3,2,2,3,2]を代替的に含み得る。つまり、カテゴリ2および/または3の場合、wheel_2の量子ビットが使い果たされるまでパターン「1,2,2」を繰り返し、その後「3,3,1」のパターンを採用できる。
図5Aは、量子コンピュータ内の123個のタイプ3量子ビットの組み合わせ(すなわち、カテゴリ0)すべてを局所化するためのホイールスワップネットワークの動作のプロセス500を示すフロー図を提供する。図5Bは、N=8の量子ビット量子コンピュータの場合のプロセス500の動作を示している。図5A~5Bは併せて説明される。図5A~5Bの以下の説明は、量子ビットスワップ操作を対象としている。しかしながら、全体を通して述べられるように、種々の実施形態はそのように制約されておらず、スワップ操作はフェルミオンスワップ操作を含み得る。
図5Bのスワップ操作520は、3量子ビットホイールに細分された、N=8の量子ビットレジスタ上でのプロセス500の反復ホイール回転操作を示している。操作520の行列表記は、N=8の場合のプロセス500の各反復ステップの量子ビットスワップ(すなわち、回転)のダイナミクスを示している。以下の説明では、ホイールの単一回転操作は、ホイール内の最近傍ペアの1つの並列化された奇数ペアまたは偶数ペアのスワップを指す場合がある。すなわち、単一のホイール回転は、図3Bのプロセス320の各々であるブロック322またはブロック328のうちの1つの実行に対応する、ホイールの並列化された奇数ペアまたは偶数ペアのスワップ操作を含み得る。ホイールの完全な回転は、プロセス320の完全な実行に対応し得る。ホイールの深度がdw(n)の場合、ホイールは完全に回転するためにn個の配置(または再順序付け)を経て遷移する必要がある。したがって、初期の配置(または順序)から始めて、ホイール内の各位置にアクセスするには、通常、各量子ビットに対してn-1回のシングルスワップ操作が必要である。
プロセス500には、奇数ペアと偶数ペアのスワップ操作を切り替える反復ループが含まれている。前述のように、プロセス500の反復ループの終了条件は、すべての量子ビットがプロセス500の間に少なくとも1回はホイール内の各位置にあることであり、これは、スワップの深度がdw(n)=2n-2+mod(n,2)の場合に決定論的に生じる。図5Aに示されるように、プロセス500は、終了条件が満たされているかどうかをチェックする判定ブロック(すなわち、ブロック504)を含む。終了条件は決定論的に決定されたスワップ深度を介して発生するため、この判定ブロックは任意である。すなわち、プロセス500は、決定論的に決定されたスワップ深度を介して、決定論的に発生するため、終了条件が発生したかどうかをチェックする必要はない。この判定ブロックは、説明の目的で含まれており、実装する必要はない。
プロセス500は、開始ブロックの後、ブロック502で開始し、ここで、N個の量子ビットの各々が、wheel_1、wheel_2、またはwheel_3のいずれかに割り当てられる。図5Bに示すように、N=8の場合、wheel_1(530)は量子ビット[1,4,7]を含み、wheel_2(540)は量子ビット[2,5,8]を含み、wheel_3(560)は量子ビット[3,6]を含む。したがって、n1=3、n2=3、およびn3=2である。各ホイールのレベルでの量子ビットスワップの対応するダイナミクスは、操作520の右側の対応する行および列に示されている。プロセス500には、wheel_1とwheel_2で反復的に動作するホイールスワップネットワークが含まれており、局所グループとして各カテゴリ0の3量子ビットの組み合わせを実現する。図5A~5Bに示されるように、wheel_1で動作するホイールスワップネットワークは、wheel_2で動作するホイールスワップネットワークのサブルーチンにネスト化され、かつ/またはそのサブルーチンとして実行され得る。一意の3量子ビットカテゴリ0の組み合わせを実現するために、wheel_3を回転させる必要はない。
wheel_1で動作するホイールスワップネットワークはwheel_2で動作するホイールスワップネットワークのサブルーチンであるため、wheel_2の配置(つまり、再順序付け)ごとに(wheel_2のホイールの深度内で)、wheel_1は完全に回転する。すなわち、wheel_2の順序の更新ごとに、wheel_1は図3Bのプロセス320を介して完全に回転し、wheel_1の各量子ビットはwheel_1内の各位置を少なくとも1回訪れる。N=8の場合、wheel_1(530)およびwheel_2(540)用ホイールの深度は、dw(n1)=dw(n2)=dw(3)=5である。したがって、量子ビットがwheel_1(540)またはwheel_2(540)のいずれかの各場所を訪れるには、対応するホイールが5つの配置(または順序付け)を介して遷移する必要があり、これには通常、5-1=4の単一並列化奇数ペアまたは偶数ペアスワップ操作、つまり単一回転が必要である。図5Bおよびwheel_1(530)の場合、wheel_1(530)の5つの再順序付けをグループ化するボックスは、wheel_1(530)の完全な回転を示している。wheel_1(530)を完全に回転させるには、wheel_1(530)の4つの並列化されたスワップ操作(または4つの単一回転)が必要であることに留意されたい。wheel_2(540)の場合、ボックスはwheel_2(540)の単一のスワップ操作(つまり、単一の回転)をグループ化する。wheel_1(530)と同様に、wheel_2(540)を完全に回転させるには、各量子ビットがwheel_2(540)内の各位置にアクセスするために、4つの単一並列化スワップ操作(または単一回転)が必要であることに留意されたい。wheel_1(530)およびwheel_2(540)のボックスは、wheel_1(530)の回転がwheel_2(540)の回転のサブルーチンであることを示している。ホイール上のスワップ操作の完全なサイクルは、ホイールの完全な回転および/またはホイール上のプロセス320の完全な実行を含み得る。
図5Bにも示されているように、wheel_1(540)の回転は、6回転の周期で周期的であり、[1,4,7]→[4,1,7]→[4,7,1]→[7,4]、1]→[7,1,4]→[1,7,4]→[1,4,7]となるwheel_1(530)との対称性により、wheel_2(540)の回転も6回転の周期で周期的であり、[2,5,8]→[5,2,8]→[5,8,2]→[8,5,2]→[8,2,5]→[2,8,5]→[2,5,8]となる。図5Bの操作520において、N=8の場合、123タイプ(すなわち、カテゴリ0)の量子ビットの組み合わせのうちのすべてのn1・n2・n3=12が実現される。図4Aの表400の第5の列に示されるように、プロセス500(カテゴリ0の組み合わせの場合)におけるwheel_1およびwheel_2のネスト化された回転の深度は、dw(n1)・dw(n2)である。
判定ブロック504において、回転wheel_2の終了条件が満たされているかどうかが判定される。少なくとも図3Bの判定ブロック326に関連して説明したように、ブロック504で、wheel_2の各量子ビットがwheel_2内の各位置を訪れたかどうかが判定される。前述のように、wheel_2のスワップ深度はdw(3)=5である。したがって、wheel_2の終了条件は、wheel_2が4回転した後に満たされる。wheel_2が完全に回転していない場合、プロセス500はブロック506に進む。それ以外の場合、プロセス500はブロック510に進む。
ブロック506で、wheel_1は完全に回転している。回転wheel_1の種々の実施形態は、少なくとも図3Bのプロセス320と併せて説明される。上記のように、図5Bのwheel_1(530)の再順序付けをグループ化するボックスは、wheel_1(530)の完全な回転を示している。ブロック508で、wheel_2は、1つのスワップ操作を介して(並列化された奇数ペアまたは偶数ペアの量子ビットスワップ操作を介して)回転される。wheel_2(540)の単一のスワップ操作(またはホイール回転)をグループ化するボックスは、wheel_1の1回転を示している。プロセス500は、判定ブロック504に戻る。ブロック510では、すべてのカテゴリ0の3量子ビットの組み合わせを生成するために、スワップ操作の別の完全なサイクルおよび/またはホイールの完全な回転が必要とされる。その後、プロセス500は終了する。
図5Bに示されるように、プロセス500は、各カテゴリ0の3量子ビットの組み合わせの生成を可能にする。カテゴリ1、2、3、および4の3量子ビットの組み合わせも生成する必要がある。図5Cは、量子コンピュータ内のすべてのカテゴリ1の3量子ビットの組み合わせを局所化するプロセス580を示すフロー図を提供している。カテゴリ1、2、および3の間の対称性のために、プロセス580は、それらのカテゴリの対応するホイールを置き換えるカテゴリ2および3のすべての3量子ビットの組み合わせをすべて求めるように一般化することができる。カテゴリ4の3量子ビットの組み合わせについては、以下で説明する。
図5Dは、種々の実施形態と一致する、図5Cのプロセス580で利用される2D量子ビット構成の実施形態を示している。図5Dに示される量子ビット構成の2Dの性質は、量子ビットの物理的構成である必要はなく、むしろ論理的構成であり得ることに留意されたい。したがって、図5Dは、図5Cのプロセス580と併せて説明される。図5C~5Dの以下の説明は、量子ビットスワップ操作を対象としている。しかしながら、全体を通して述べられるように、種々の実施形態はそのように制約されておらず、スワップ操作はフェルミオンスワップ操作を含み得る。プロセス580には、奇数ペアと偶数ペアのスワップ操作を切り替える反復ループが含まれている。前述のように、プロセス580の反復ループの終了条件は、すべての量子ビットがプロセス580の間に少なくとも1回はホイール内の各位置にあることであり、これは、スワップの深度がdw(n)=2n-2+mod(n,2)の場合に決定論的に生じる。図5Cに示されるように、プロセス580は、終了条件が満たされているかどうかをチェックする判定ブロック(すなわち、ブロック588)を含む。終了条件は決定論的に決定されたスワップ深度を介して発生するため、この判定ブロックは任意である。すなわち、プロセス580は、決定論的に決定されたスワップ深度を介して、決定論的に発生するため、終了条件が発生したかどうかをチェックする必要はない。この判定ブロックは、説明の目的で含まれており、実装する必要はない。
開始ブロックの後、プロセス580は、量子ビットがカテゴリ1のベクトル化と一致する、かつ/またはそれに基づく順序にソートされるブロック582で開始する。図4B、4C、および4Dは、カテゴリ1のベクトル化を示している。これらのベクトル化のパターンは、Nの値が高い場合に一般化できる。量子ビットスワップ操作を介して、量子ビットをソートするために、任意の量子ビットのソートルーチンを採用できる。例えば、プロセス500の終了後、量子ビットは、ホイールがインターリーブされるように順序付けられる。バブルソートアルゴリズムを採用して、カテゴリ1のベクトル化に基づく順序に量子ビットをソートできる。図5Dは、N=18の非限定的な例を示している。3つのホイールの各々に割り当てられた量子ビットが表示される。図4Cの表420によって示されるように、カテゴリ1のN=18のベクトル化は、{1,2,2,1,3,3,1,2,2,1,3,3,1,2,2,1,3,3}であり得る。図4Dの表430に示されるように、他の代替のベクトル化が可能である。ソートされたレジスタは、ベクトル化に基づいた量子ビットの1つの可能なソートを示している。レジスタの他の順序付けも可能である。一実施形態では、ブロック582の前に、量子ビットは、追加のホイール回転を介してそれらの初期位置に戻され、次いで、ベクトル化に基づいてソートされ得る。図5Dでは、カテゴリ1のベクトル化における同じホイール量子ビットのボックスとソートされたレジスタ内のボックスをグループ化する矢印は、ブロック582を介して生成されたベクトル化とソートレジスタとの間の対応を示している。N=18の場合、n1=n2=n3=6である。
プロセス580は、それぞれの可能な122およびそれぞれの可能な133タイプの組み合わせを生成する。プロセス580の種々の実施形態では、wheel_1は、図5Bのプロセス520を介して回転される。wheel_2およびwheel_3は、2D量子ビット構成として構成できる。wheel_2およびwheel_3の2D量子ビット構成は、図5Dの下部近くに示されている。2D量子ビット構成は、量子ビットの論理的または仮想的な配置であり、量子ビットの物理的インスタンス化の物理的な配置である必要はない。図5Dに示されるように、2D量子ビット構成は、2つの列および
行を含む量子ビットの2D論理配置を含み得る。ここで、nは、ホイール内の量子ビットの数である。nが奇数の場合、最後の行には単一の量子ビットのみが含まれる。
2D量子ビット構成は、2輪スロットマシンに幾分類似していてもよく、2D量子ビットの垂直列はスロットマシンのホイールに類似しており、水平列はスロットマシンのスロットに対応している。水平方向の各行は、レジスタ内のホイールの最近傍ペアの1つに対応する。図5Dに示すように、N=18の場合、wheel_2およびwheel_3の各々に3つの水平方向の行がある。水平方向の各行は、カテゴリ1のベクトル化に基づく、同じホイールからの量子ビットの2量子ビットペアの1つに対応する。図5Dでは、ソートされたレジスタ内の2量子ビットのペアと水平方向の行との間の矢印は、対応関係を示している。
wheel_1は、並列化されたスワップ操作を介して回転され、wheel_1のすべての量子ビットが、カテゴリ1のベクトル化に対応するレジスタ内の各場所に少なくとも1回アクセスする。図5Dでは、wheel_1の並列化された奇数ペアおよび偶数ペアのスワップ操作が、カテゴリ1のベクトル化の矢印として示されている。122タイプの組み合わせごとに実現するには、wheel_2の可能な
の2量子ビットペアの各々が、wheel_1の各配置中に少なくとも1回、wheel_2の2D量子ビット構成の水平方向の行の1つに連続して表示される必要がある。同様に、133タイプの組み合わせごとに生成するには、wheel_3の可能な
の2量子ビットペアの各々が、wheel_1の各配置中に少なくとも1回、wheel_3の2D量子ビット構成の水平方向の行の1つに連続して表示される必要がある。したがって、2D量子ビット構成の量子ビットは、ホイール内の各ペアが水平列の1つで連続して見えるように、(例えば、それぞれ、図3Aおよび3Bのプロセス300またはプロセス320を介して)インクリメント的にスワップされ得る。
したがって、プロセス580において、wheel_1は、図3Bのプロセス320を介して回転される。wheel_1のスワップ操作のサブルーチンとして、wheel_2およびwheel_3の2D量子ビット構成を並列にインクリメントして、122タイプおよび133タイプの3量子ビットの組み合わせをそれぞれ生成することができる。プロセス580は、回転されるホイールを並べ替えることによって112、233、311、および322の組み合わせの各々を生成することができ、2つのホイールは2D量子ビット構成上に配置されることを理解されたい。したがって、カテゴリ1、2、および3のすべての3量子ビットの組み合わせは、プロセス580を介して生成され得る。
図5Cに戻ると、ブロック584において、wheel_2は、論理的に2D量子ビット構成に配置されている。ブロック586で、wheel_3は論理的に2D量子ビット構成に配置される。wheel_2およびwheel_3の2D量子ビット構成の一実施形態を図5Dに示す。判定ブロック588で、wheel_1の終了条件が満たされているかどうかが判定される。すなわち、ブロック588で、wheel_1内の各量子ビットがwheel_1の各位置にあるかどうかが判定される。上述の場合、プロセス580はブロック594に進む。それ以外の場合、プロセス580はブロック590に進む。ブロック590で、wheel_2およびwheel_3の各々の2D量子ビット構成は、スワップ操作を介してインクリメントされ、それにより、wheel_2の可能な
の2量子ビットペアの各々が、wheel_2との2D量子ビット構成の水平方向の行の1つに連続したペアとして表示され、wheel_3の可能な
の2量子ビットペアの各々は、wheel_3の2D量子ビット構成の水平方向の行の1つに連続したペアとして表示される。プロセス300またはプロセス320の種々の実施形態を採用して、並列化された奇数ペアおよび偶数ペアのスワップ操作を交互に行うことにより、2D量子ビット構成をインクリメントすることができ、それにより、ホイール内のすべてのペアが最近傍ペアとなり、水平列の1つで少なくとも1回隣接する。前述のように、wheel_2およびwheel_3へのインクリメントは、wheel_2およびwheel_3が併せてインクリメントされるように並列化することができる。
ブロック592において、並列化された奇数ペアのスワップ操作または並列化された偶数ペアのスワップ操作のいずれかを介した1つの回転操作が、wheel_1で実行される。図3Bのプロセス320の少なくとも一部分は、wheel_1で回転作を実行するために採用され得る。プロセス580は、判定ブロック588に戻る。ブロック594で、whee_1の最終配置に関連付けられた残りの122および133タイプの3量子ビットグループを生成するために、wheel_2およびwheel_3の各々の2D量子ビット構成は、スワップ操作を介してインクリメントされ、それにより、wheel_2の可能な
の2量子ビットペアの各々が、wheel_2との2D量子ビット構成の水平方向の行の1つに連続したペアとして表示され、wheel_3の可能な
の2量子ビットペアの各々は、wheel_3の2D量子ビット構成の水平方向の行の1つに連続したペアとして表示される。カテゴリ1のすべての局所化された3量子ビットグループが生成されると、プロセス580は終了し得る。wheel_2およびwheel_3のインクリメントはブロック590と594で並列化されているため、122と133のタイプの組み合わせが並列に生成されることに留意されたい。
カテゴリ2とカテゴリ3の局所化された3量子ビットの組み合わせは、ホイールを並べ替える同様のプロセスを介して生成できる。したがって、プロセス500は、カテゴリ0の組み合わせを生成することができ、プロセス580(およびその変形)は、カテゴリ1、2、および3の組み合わせを生成することができる。カテゴリ4の組み合わせは、プロセス500および580を再帰的に採用することによって生成することができる。例示的かつ非限定的な実施形態では、カテゴリ0、1、2、および3の組み合わせの各々を生成すると、{1,1,1,...1,1,1,2,2,2,...,2,2,2,3,3,3,...,3,3,3}のカテゴリ4のベクトル化に基づいて、レジスタをソート(例えば、並列バブルソート)することができる。つまり、レジスタは3つのサブレジスタにソートでき、各サブレジスタは3つのホイールのうちの1つの量子ビットを保持する。プロセス500および580は、サブレジスタの各々に再帰的に適用され、サブサブレジスタを生成することができる。再帰的アプリケーションは、すべてのカテゴリ4の局所化された3量子ビットの組み合わせが各サブレジスタ内に局所化されるまで続行できる。サブレジスタ内でカテゴリ0、1、2、および3の局所化された組み合わせを生成するためのプロセス500および580の再帰的アプリケーションは、局所化された3量子ビットの組み合わせを生成するために必要なスワップネットワークの効率を高め、深度を低減するために並列化され得ることに留意されたい。再帰を終了すると、3量子ビットのカテゴリ0、1、2、3、および4の局所化された組み合わせの各々が生成される。
カテゴリ4の組み合わせを生成するために必要な再帰を実装するために、必要なスワップネットワークの深度は、d3(n)=1/4(5n2-26n+16log3n+21)のように求められることを示し得ることに留意されたい。したがって、少なくとも図5Eに関連して説明されるように、必要なスワップネットワークの深度は、O(N2)としてスケーリングされる。
図5Eは、3量子ビット演算子のためのスワップネットワークの回路深度がほぼO(N2)として比例することを示す計算のプロット596を提供している。黒塗りの円形の離散データ点(●)の場合、ネットワークの深度は、Nの関数として、種々のカテゴリの組み合わせタイプのスワップ操作間で移行するために必要な並列バブルソート操作を含む完全なスワップネットワークでスワップ操作をシミュレートすることによって計算した。すなわち、黒塗りのデータ点について、少なくとも図5A~5Dと併せて説明されたスワップ操作は、最大N=400の可能な
のペアの局所化された(つまり、レジスタ内で論理的に連続している)3量子ビットペアの各々を生成するために数値的にシミュレートされている。中空のデータ点(○)の場合、ネットワークの深度は、図4Aの表400の第5の列に示されている種々のカテゴリで必要なスワップ操作の深度の式を介して分析的に決定した。中空のデータ点の場合、並列バブルソート操作の寄与は無視されている。実線は、黒塗りのデータ点にフィッティングした両対数線形回帰を示している。破線は、中空のデータ点にフィッティングした両対数線形回帰を示している。実線の場合、両対数線形フィッティングは、(1.19±0.03)・102.007±0.004である。破線の場合、両対数線形フィッティングは、(1.10±0.03)・102.020±0.005である。両方の方法(数値シミュレーションと分析計算)への線形フィッティングは、スワップネットワーク(または並列化されたスワップ操作)の深度がほぼO(N2)として比例し、並列バブルソートが必要な回路の深度を比例させないことを示している。
4量子ビットの組み合わせの局所化(つまり、k=4)
k=4の実施形態についての以下の説明は、量子ビットスワップ操作を対象としている。しかしながら、全体を通して述べられるように、種々の実施形態はそのように制約されておらず、スワップ操作はフェルミオンスワップ操作を含み得る。本明細書で論じられるように、局所化された2量子ビットと3量子ビットの組み合わせを再帰的に生成することにより、可能な
の4量子ビットの組み合わせの各々を局所化することができる。すなわち、少なくとも図3A~5Eに関連して論じられた種々の実施形態は、反復的かつ再帰的に適用されて、4量子ビットの組み合わせを局所化することができる。k=4の場合、N個の量子ビットは、wheel_1、wheel_2、wheel_3、およびwheel_4の4つのホイールに細分できる。量子ビットを4つのホイールに割り当てるプロセスは、量子ビットを3つのホイールに割り当てるプロセスから一般化することができる。さらに、4つのホイールを介して、3量子ビットの組み合わせタイプで説明したものと同様の4量子ビットの組み合わせタイプを生成することができる。例えば、4量子ビットの組み合わせタイプには、1234、1122、1134、1113、および1111が含まれるが、これらに限定されない。3量子ビットの組み合わせのカテゴリと同様に、組み合わせタイプの対称性を採用することにより、4量子ビットタイプをカテゴリに編成できる。k=3の実施形態では、第3のホイールを回転させる必要がないことに留意されたい。つまり、wheel_3に含まれる量子ビットに対してスワップ操作を実行する必要はない。同様に、k=4の実施形態では、スワップ操作をwheel_4の量子ビットで実行する必要はない。一部の実施形態によれば、wheel_4の生成は必要とされない。
k=4の実施形態についての以下の説明は、量子ビットスワップ操作を対象としている。しかしながら、全体を通して述べられるように、種々の実施形態はそのように制約されておらず、スワップ操作はフェルミオンスワップ操作を含み得る。本明細書で論じられるように、局所化された2量子ビットと3量子ビットの組み合わせを再帰的に生成することにより、可能な
図6Aは、本明細書に提示される種々の実施形態と一致する、4量子ビット相互作用のクラスタイプの種々の特性を示す表600を提供している。表600は、図4Aの表400と同様であるが、3量子ビットの組み合わせではなく、4量子ビットの組み合わせのためのものである。表600の第1の列は、4量子ビットの組み合わせに対して15の組み合わせタイプのカテゴリが存在することを示し、列2は各カテゴリのメンバーを示している。組み合わせタイプの各々は、1234、XXYY、XXYZ、XXXY、およびXXXXとして参照できる。ここで、変数X、Y、およびZは、1、2、3、または4の値を取ることができる。
図6Bは、本明細書に提示される種々の実施形態と一致する、4量子ビット構成のベクトル化を示す表610を提供しており、ここで、5≦N≦10である。表610の各行は、Nの個別の値に対応し、ここで、Nの値は、第1の列に示されている。表410の第2、第3、第4、および第5の列は、カテゴリ1、カテゴリ2(ならびにカテゴリ3および4)、カテゴリ5(およびカテゴリ6~10)、ならびにカテゴリ11(および4量子ビットの組み合わせタイプのカテゴリ12~14)に対応する。表の各エントリは、Nの対応する値と組み合わせタイプのカテゴリの(長さTVの)ベクトルを提供している。以下で説明するように、ベクトルは、
の4量子ビットの相互作用の各々を実現するための組み合わせタイプの配置を示している。
図6Cは、本明細書で論じられる4量子ビットの実施形態に採用される2量子ビットスロットネットワークによって実装されるスワップ操作のプロセス620を示すフロー図を提供している。以下で説明するように、プロセス620を介して実装されるものなどの2量子ビットスロットネットワークを採用して、図6Aの表600のカテゴリ2、3、および4の組み合わせタイプの相互作用などの4量子ビット相互作用を生成する。全体を通して説明された他のプロセスと同様に、プロセス620の説明は量子ビットスワップ操作を対象としているが、実施形態はそのように限定されず、スワップ操作はフェルミオン軌道に適用され得る。プロセス620は、再帰的プロセスであり得る。プロセス620は、開始ブロックの後、ブロック622で開始し、ここで、量子ビット(またはフェルミオン軌道)は、2つのグループ、group_0およびgroup_1に分割される。量子ビットはホイールのメンバーであり得る。ホイールにn個の量子ビットがある場合、group_0には
量子ビットが含まれ、group_1には
量子ビットが含まれ得る。
ブロック624において、各グループの量子ビットが他のグループの対応するインデックスを有する量子ビットに隣接するように、並列バブルソートが適用される。ブロック626で、ホイールスワップネットワークが適用されて、group_1のラベル割り当てを循環する。判定ブロック628で、終了条件が満たされているかどうかが判定される。一部の実施形態では、プロセス620の終了条件は、
であるかどうかを含み得る。終了条件が満たされる場合、プロセス620は終了することができる。そうでなければ、プロセス620は、プロセス620の再帰呼び出しのためにブロック622に戻り得る。二重の戻り矢印は、group_0とgroup_1の各々がプロセス620を再帰的に呼び出すことを示している。再帰呼び出しでは、各グループがさらに細分され、各再帰呼び出しのnの現在の値が減少する。他の実施形態では、再帰呼び出しの数は決定論的であり、したがって、判定ブロック628を呼び出す必要がない場合があることに留意されたい。プロセス620を実装する2量子ビットスロットネットワークの回路深度により、
であることが示され得る。図6Aの表600に記載されているように、このスワップネットワークの深度は、カテゴリ1、2、および3の量子ビットの組み合わせで採用される。
図7Aは、各タイプの4量子ビットの組み合わせを局所化するためのスワップネットワークの組み合わせの概略を提供している。より具体的には、図7Aは、1234、XXYY、XXYZ、XXXY、およびXXXXの組み合わせタイプの局所化された4量子ビットの組み合わせを生成するために少なくとも1つの実施形態で採用されるスワップ操作のタイプの概要を示している。図示のように、1、2、3、4タイプの場合、ホイールスワップネットワークの4つのインスタンスが採用され、1、2、3、および4クラスの量子ビットの各々がホイールの1つに含まれる。3量子ビットの組み合わせと同様に、ホイールの回転はネスト化されており、複数のネスト化されたサブルーチンとして実行できる。図7Cのプロセス720は、ネストの1つの非限定的な実施形態を示している。XXYYタイプの場合、Xホイールごとに2量子ビットペアスワップネットワークが使用され、Yホイールごとに2量子ビットスロットスワップネットワークが採用される。XXXYタイプの場合、Xホイールの各々に3量子ビットの組み合わせスワップネットワークが採用され、Yホイールの各々にホイールスワップネットワークが採用される。XXYZタイプの場合、Xホイールごとに2量子ビットスロットスワップネットワークが採用され、Yホイールごとにホイールスワップネットワークが採用され、Zホイールごとにホイールスワップネットワークが採用される。図7Aにも示されているように、XXXXの組み合わせは、他のタイプの組み合わせへの再帰呼び出しから生成される。ホイールごとに再帰呼び出しが実行される。したがって、wheel_1に対して4つのサブホイールが生成され(例えば、wheel_1_1、wheel_1_2、wheel_1_3、およびwheel_1_4)、wheel_2に対して4つのサブホイールが生成される(例えば、wheel_2_1、wheel_2_2、wheel_2_3、およびwheel_2_4)、wheel_3に対して4つのサブホイールが生成される(例えば、wheel_3_1、wheel_3_2、wheel_3_3、およびwheel_3_4)、wheel_4に対して4つのサブホイールが生成される(例えば、wheel_4_1、wheel_4_2、wheel_4_3、およびwheel_4_4)。1111、2222、3333、および4444タイプの各々の局所化された組み合わせが生成されると、再帰は終了する。各ホイール(および各サブホイール)の再帰呼び出しを並列化して、必要な回路深度を減少することができる。
図7Bは、量子コンピュータ内のすべての2量子ビットおよびすべての4量子ビットの組み合わせを局所化するプロセス700を示すフロー図を提供している。より具体的には、プロセス700は、図7Aに示される組み合わせタイプの各々に対してスワップネットワークを使用する。プロセス700は、開始ブロックの後、ブロック702で開始し、ここで、2量子ビット項の各々は、レジスタに適用される2量子ビットペアネットワークまたはホイールスワップネットワークのいずれかによって生成される。ネットワークは、レジスタに対して複数のスワップ操作を実行することができる。2量子ビットペアおよびホイールスワップ操作の種々の実施形態が、少なくとも図3A~3Cについて説明されている。ブロック704で、量子ビットは4つのホイール、すなわちwheel_1、wheel_2、wheel_3、およびwheel_4に細分される。全体を通して説明したように、wheel_4に含まれる量子ビットをスワップする必要はない。したがって、一部の実施形態では、wheel_4を生成する必要がない場合があり、whee_4に属する量子ビットは、wheel_1、wheel_2、またはwheel_3のいずれにも属さないものとして分類される場合がある。
ブロック706において、1234タイプの局所化された組み合わせは、4つのホイールの各々についてホイールスワップネットワークによって適用されるホイールスワップ操作を介して生成される。ホイールスワップ操作は、図5Aのプロセス500と同様に、ネスト化することができる。ホイールスワップ操作をネスト化する1つの非限定的な実施形態は、図7Cのプロセス720と併せて説明される。したがって、ブロック704で、カテゴリ1(図7Cの表600に示されている)の各々が生成される。表600に示すように、カテゴリ1の場合、スワップ操作の深度はdw(n)を介して決定論的に決定できる。
ブロック708において、XXYY項は、Xホイールに適用される2量子ビットペアスワップネットワークのネスト化されたスワップ操作を介して生成され、2量子ビットスロットネットワークは、Yホイールに適用される。これらのスワップ操作の種々の実施形態は、少なくとも図3Aおよび6Cと併せて説明される。したがって、ブロック708で、テーブル600のカテゴリ2、3、および4の組み合わせの各々が生成される。表600に示すように、カテゴリ2、3、および4の場合、スワップ操作の深度は、dw(n)およびds(n)を介して決定論的に決定できる。ブロック708でXXYY項を生成する前に、量子ビットのソートを実行して、適切なベクトル化された順序で量子ビットが構成され得ることに留意されたい。4量子ビットのベクトル化の種々の実施形態が、図6Bの表610に示されている。例えば、並列バブルソートスワップ操作を実行することができる。
ブロック710で、XXYZ項は、Xホイールで動作する2量子ビットペアスワップネットワークと、YホイールおよびZホイールの各々で動作するホイールスワップネットワークのスワップ動作とによって生成される(例えば、図3Bおよび5A~5Dを参照されたい)。すなわち、表600のカテゴリ5~10の組み合わせがブロック710で生成される。表610に示されるように、カテゴリ5~10について、スワップ操作の深度は、適切なホイールに適用されるd2(n)およびdw(n)を介して決定論的に決定され得る。上記と同様に、並列化されたバブルソートを量子ビットに対して実行して、適切なベクトル化された順序付けを介して量子ビットを適切にソートすることができる。
ブロック712において、XXXY項は、Yホイールに適用されるホイールスワップネットワークおよびXホイールに適用される3量子ビットスワップネットワークのスワップ操作を介して生成される。すなわち、カテゴリ11~14の組み合わせは、ブロック712で生成される。より具体的には、3量子ビット構造を採用してトリプルペアの各々を循環させ、次にホイールを使用してペアになっていないインデックスを循環させる。かかるスワップ操作の種々の実施形態は、少なくとも図3Bおよび5A~5Dと併せて説明される。表610に示されるように、カテゴリ11~14について、スワップ操作の深度は、適切なホイールに適用されるd3(n)およびdw(n)を介して決定論的に決定され得る。ブロック712でXXXY項を生成する前に、量子ビットのソートを実行して、適切なベクトル化された順序で量子ビットが構成され得ることに留意されたい。例えば、並列バブルソートスワップ操作を実行することができる。
カテゴリ15の組み合わせの生成には、3量子ビットのカテゴリ4の組み合わせと同様の再帰的プロセスが採用される。並列バブルスワップを採用して、量子ビットを適切な量子ビットのベクトルに順序付けることができる。判定ブロック714で、XXXXタイプの組み合わせの各々が局所化されているかどうかが判定される。その場合、プロセス700は終了する。それ以外の場合は、4つのホイールの各々に対して再帰呼び出しが行われる。すなわち、各ホイールはブロック704に戻される。4つのホイールの再帰呼び出しは、ブロック714からブロック704への4つの戻り経路を介して示されている。図3A、3B、5A、および5Cのそれぞれのプロセス300、320、500、および580の判定ブロックに関する説明と同様に、判定ブロック714は、ループの終了条件を満たすために必要とされる決定論的スワップ深度のために、種々な実施形態で実装される必要はない。
図7Cは、量子コンピュータ内のすべてのカテゴリ0(すなわち、1234タイプの組み合わせ)の4量子ビットの組み合わせを局所化するためのプロセス720を示すフロー図を提供している。プロセス720は、図7Bのプロセス700のサブルーチンであり得る。例えば、プロセス720は、プロセス700のブロック706の実行を介して呼び出されてもよい。プロセス720において、並列化されたスワップ操作は、wheel_3の各量子ビットがwheel_3の各位置を訪れるように、wheel_3で(ホイールスワップネットワークを介して)実行される。つまり、wheel_3はその深度まで完全に回転する。wheel_2は、wheel_3の回転のサブルーチンとして、その深度まで完全に回転する。wheel_1は、wheel_2の回転のサブルーチンとして、その深度まで完全に回転する。カテゴリ0の組み合わせを生成するために、wheel_4を回転させる必要はない。したがって、図5Aのプロセス500に幾分類似しているが、3つのホイールではなく4つのホイールを含む。
説明の目的で、また、ネスト化された回転および/またはサブルーチンを介してホイールが回転しているという概念のために、ホイールカウンタの概念がプロセス720に導入された。これらのホイールカウンタは、forループプロセスのループカウンタ(またはループインデックス)に類似していると見なすことができる。プロセス720のループはサブルーチンとして実行されるので、ネスト化されたループが完了すると、これらのホイールカウンタはインクリメントされ、リセットされる。ホイールカウンタのインクリメントは、推論されており、プロセス720は、ホイールカウンタをリセットするための明示的なブロック(例えば、ブロック734および736)を含む。これらのホイール(またはループ)カウンタは説明のみを目的としており、スワップ操作の深度が決定論的に決定可能であるため、実装する必要がないことに留意されたい。さらに、上記と同様に、ループの終了条件をチェックする判定ブロック(例えば、ブロック722、724、および726)は、スワップ操作の決定論的性質のために明示的に実装される必要はない。
プロセス720は、開始ブロックの後、判定ブロック722で開始し、そこで、wheel_3の各量子ビットが、wheel_3の各位置を少なくとも1回訪れたかどうかが判定される。wheel_3の終了条件が満たされると、プロセス720はブロック738に進む。ブロック738で、wheel_2はもう一度完全に回転し、wheel_1はwheel_2の回転のサブルーチンとして回転する。完全に回転するwheel_2のサブルーチンとしてwheel_1を回転させるための一実施形態は、図5Aの少なくともプロセス500と併せて説明される。これらのwheel_1およびwheel_2の最終回転により、すべての1234タイプの組み合わせの生成が完了する。したがって、プロセス720は、ブロック738の実行後に終了することができる。wheel_3の終了条件が満たされない場合、プロセス720は判定ブロック724に進む。
判定ブロック724で、wheel_2のカウンタがリセットされたので、wheel_2の各量子ビットがwheel_2の各位置を訪れたかどうかが判定される。wheel_2の終了条件が満たされる場合、プロセス720はブロック736に進み、そうでない場合、プロセスは判定ブロック726に進む。ブロック736で、wheel_2のカウンタがリセットされ、プロセス720がブロック732に進む。ブロック732で、1つの並列化されたスワップ操作がwheel_3で実行される。ホイール上で並列化されたスワップ操作を実行するための種々の実施形態が、図3Bの少なくともプロセス320と併せて説明される。ただし、ここで簡単に説明すると、wheel_3は、奇数ペアまたは偶数ペアの並列化された量子ビットスワップ操作を介して回転する。次に、プロセス720は、判定ブロック722に戻る。
判定ブロック726で、wheel_1のカウンタがリセットされたので、wheel_1の各量子ビットがwheel_1の各位置を訪れたかどうかが判定される。wheel_1の終了条件が満たされる場合、プロセス720はブロック734に進み、そうでない場合、プロセスはブロック728に進む。ブロック734で、wheel_1のカウンタがリセットされ、プロセス720がブロック730に進む。ブロック730で、1つの並列化されたスワップ操作がwheel_2で実行される。ホイール上で並列化されたスワップ操作を実行するための種々の実施形態が、図3Bの少なくともプロセス320と併せて説明される。ただし、ここで簡単に説明すると、wheel_2は、奇数ペアまたは偶数ペアの並列化された量子ビットスワップ操作を介して回転する。次に、プロセス720は、判定ブロック724に戻る。
ブロック728で、1つの並列化されたスワップ操作がwheel_1で実行される。ホイール上で並列化されたスワップ操作を実行するための種々の実施形態が、図3Bの少なくともプロセス320と併せて説明される。ただし、ここで簡単に説明すると、wheel_1は、奇数ペアまたは偶数ペアの並列化された量子ビットスワップ操作を介して回転する。次に、プロセス720は、判定ブロック726に戻る。
図7Dは、N=10の量子ビット量子コンピュータについての図7Bのプロセス700のスワップ操作740を示している。より具体的には、スワップ操作740は、可能な4量子ビットの組み合わせの各々がどのように局所化されるかを示している。列の間の矢印は、行列が1つのページに収まるように分割された順序付けを示している。
図7Eは、4量子ビット演算子のためのスワップネットワークの回路深度がほぼO(N3)として比例することを示す計算のプロット760を提供している。黒塗りの円形の離散データ点(●)の場合、ネットワークの深度は、Nの関数として、種々のカテゴリの組み合わせタイプのスワップ操作間で移行するために必要な並列バブルソート操作を含む完全なスワップネットワークでスワップ操作をシミュレートすることによって計算した。すなわち、黒塗りのデータ点について、少なくとも図7A~7Dと併せて説明されたスワップ操作は、最大N=400の可能な
のペアの局所化された(つまり、レジスタ内で論理的に連続している)4量子ビットペアの各々を生成するために数値的にシミュレートされている。中空のデータ点(○)の場合、ネットワークの深度は、図6Aの表600の第5の列に示されている種々のカテゴリで必要なスワップ操作の深度の式を介して分析的に決定した。中空のデータ点の場合、並列バブルソート操作の寄与は無視されている。実線は、黒塗りのデータ点にフィッティングした両対数線形回帰を示している。破線は、中空のデータ点にフィッティングした両対数線形回帰を示している。実線の場合、両対数線形フィッティングは、(0.69±0.09)・103.06±0.03である。破線の場合、両対数線形フィッティングは、(0.76±0.03)・103.04±0.01である。両方の方法(数値シミュレーションと分析計算)への線形フィッティングは、スワップネットワーク(または並列化されたスワップ操作)の深度がほぼO(N3)として比例し、並列バブルソートが必要な回路の深度を比例させないことを示している。
図7Eは、4量子ビット演算子のスワップネットワークの回路深度がほぼO(N3)に比例することを示す数値結果のプロット760を提供する。少なくとも図7A~7Dと併せて説明されたスワップ操作は、最大N=400の可能な
のペアの局所化された(つまり、レジスタ内で論理的に連続している)4量子ビットペアの各々を生成するために数値的にシミュレートされている。プロット760は両対数プロットであることに留意されたい。両対数回帰当てはめは、スワップネットワーク(または並列化されたスワップ操作)の深度がほぼO(N3)に比例することを示している。したがって、種々の強化された実施形態は、ほぼO(N4)として比例する従来の方法と比較して、回路深度の少なくとも1桁の減少を提供している。
量子コンピューティング環境
図8は、本開示の実施形態を実装する際に使用するのに適した例示的な量子コンピューティング環境800のブロック図である。量子コンピューティング環境800は、量子処理ユニット802、量子レジスタ、および1つ以上の監視/測定デバイス846などであるがこれらに限定されない量子ハードウェアを含む。量子レジスタ848は、N個の量子ビットの物理的実装態様を含み得る。量子ビットは、測定および監視デバイス846を介して、監視、測定、観察、またはその他の方法で精査することができる。量子プロセッサ802は、量子回路(例えば、本明細書で論じられる時間発展演算子および並列化されたスワップネットワークを実装する回路)を実行する。回路は、1つ以上の古典的なプロセッサ810を使用して、古典的なコンパイラユニット820によってプリコンパイルされ得る。コンパイルされた量子回路は、量子バス806を介して量子処理ユニットにダウンロードされ得る。場合によっては、量子回路またはその一部が事前定義され、量子回路定義部としてデバイスメモリ821に格納される。例えば、ハミルトニアンの第二量子化表現に関連する量子回路、ならびに上記のように適用される量子ビットスワップネットワークを実装する量子回路、または他の関数および手順またはその一部をライブラリに格納することができる。古典的なコンピュータ860は、量子コンピュータまたはその1つ以上の量子回路を制御するように配置することができる。古典的なコンピュータ860は、古典的なコンピュータまたは量子コンピュータの出力を受信することができる。受信した出力に基づいて、古典的なコンピュータは、後続の量子計算で使用される量子回路を示し、適切な量子回路の定義を提供し、場合によっては、追加の古典的な計算を制御する。特定のアーキテクチャは、量子ビットの数ならびにその他の設計上の考慮事項によって異なる。したがって、スワップネットワーク設計モジュール863は、1つ以上の設計パラメータおよび/または設計基準に基づいて、スワップネットワーク定義に到達するための設計作業の一部を少なくとも部分的に自動化することができる。古典的なコンピューティングデバイスおよび/または古典的なコンピューティング環境の種々の実施形態が、少なくとも図9と併せて説明される。
図8は、本開示の実施形態を実装する際に使用するのに適した例示的な量子コンピューティング環境800のブロック図である。量子コンピューティング環境800は、量子処理ユニット802、量子レジスタ、および1つ以上の監視/測定デバイス846などであるがこれらに限定されない量子ハードウェアを含む。量子レジスタ848は、N個の量子ビットの物理的実装態様を含み得る。量子ビットは、測定および監視デバイス846を介して、監視、測定、観察、またはその他の方法で精査することができる。量子プロセッサ802は、量子回路(例えば、本明細書で論じられる時間発展演算子および並列化されたスワップネットワークを実装する回路)を実行する。回路は、1つ以上の古典的なプロセッサ810を使用して、古典的なコンパイラユニット820によってプリコンパイルされ得る。コンパイルされた量子回路は、量子バス806を介して量子処理ユニットにダウンロードされ得る。場合によっては、量子回路またはその一部が事前定義され、量子回路定義部としてデバイスメモリ821に格納される。例えば、ハミルトニアンの第二量子化表現に関連する量子回路、ならびに上記のように適用される量子ビットスワップネットワークを実装する量子回路、または他の関数および手順またはその一部をライブラリに格納することができる。古典的なコンピュータ860は、量子コンピュータまたはその1つ以上の量子回路を制御するように配置することができる。古典的なコンピュータ860は、古典的なコンピュータまたは量子コンピュータの出力を受信することができる。受信した出力に基づいて、古典的なコンピュータは、後続の量子計算で使用される量子回路を示し、適切な量子回路の定義を提供し、場合によっては、追加の古典的な計算を制御する。特定のアーキテクチャは、量子ビットの数ならびにその他の設計上の考慮事項によって異なる。したがって、スワップネットワーク設計モジュール863は、1つ以上の設計パラメータおよび/または設計基準に基づいて、スワップネットワーク定義に到達するための設計作業の一部を少なくとも部分的に自動化することができる。古典的なコンピューティングデバイスおよび/または古典的なコンピューティング環境の種々の実施形態が、少なくとも図9と併せて説明される。
図8を参照すると、量子回路の編集は、量子アルゴリズムの高レベルの記述を量子回路のシーケンスに変換するプロセスを含み得る。かかる高レベルの記述は、場合によっては、1つ以上のメモリおよび/または記憶デバイス862を利用する量子コンピューティング環境800の外部の1つ以上の外部コンピュータ860に格納され、その後、次に、必要に応じて、1つ以上の通信接続部850を介してコンピューティング環境800にダウンロードされ得る。高レベルの記述は古典的に保存および解釈でき、古典的なコンピュータは量子コンピュータで定義されたゲートのシーケンスを制御できる。高レベルの記述は、初期、中間、または最終のデータ値に基づいてゲートの適用も制御する。一例では、メモリおよび/または記憶デバイス862は、上記のように係数の順序付けおよび調整のためのコンピュータ実行可能命令を記憶する。かかる命令はまた、古典的なプロセッサ810に提供することができる。
古典的なコンピューティングデバイス
図9を参照すると、古典的なコンピューティングデバイス900は、以下のデバイス、すなわちメモリ912、1つ以上のプロセッサ914、1つ以上の提示コンポーネント916、1つ以上の入力/出力(I/O)ポート918、1つ以上のI/Oコンポーネント920、および例示的な電源922を直接的または間接的に結合するバス910を含む。図8に関連して説明したように、古典的なコンピューティングデバイス900は、図8の量子コンピューティング環境800上で採用することができる。バス910は、1つ以上のバス(アドレスバス、データバス、またはそれらの組み合わせなど)であり得るものを表す。図9の種々のブロックは、明確にするために線で示されているが、実際には、これらのブロックは、必ずしも実際ではない論理的な構成要素を表す。例えば、ディスプレイデバイスなどの提示コンポーネントをI/Oコンポーネントと見なすことができる。また、プロセッサはメモリを有する。本発明者らは、これが当技術分野の性質であることを認識し、図9の図は、本開示の1つ以上の実施形態に関連して使用できる例示的なコンピューティングデバイスの単なる例示であることを繰り返し述べている。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」などのカテゴリは、すべて図9の範囲内で「コンピューティングデバイス」を参照して企図されているため、区別されない。
図9を参照すると、古典的なコンピューティングデバイス900は、以下のデバイス、すなわちメモリ912、1つ以上のプロセッサ914、1つ以上の提示コンポーネント916、1つ以上の入力/出力(I/O)ポート918、1つ以上のI/Oコンポーネント920、および例示的な電源922を直接的または間接的に結合するバス910を含む。図8に関連して説明したように、古典的なコンピューティングデバイス900は、図8の量子コンピューティング環境800上で採用することができる。バス910は、1つ以上のバス(アドレスバス、データバス、またはそれらの組み合わせなど)であり得るものを表す。図9の種々のブロックは、明確にするために線で示されているが、実際には、これらのブロックは、必ずしも実際ではない論理的な構成要素を表す。例えば、ディスプレイデバイスなどの提示コンポーネントをI/Oコンポーネントと見なすことができる。また、プロセッサはメモリを有する。本発明者らは、これが当技術分野の性質であることを認識し、図9の図は、本開示の1つ以上の実施形態に関連して使用できる例示的なコンピューティングデバイスの単なる例示であることを繰り返し述べている。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」などのカテゴリは、すべて図9の範囲内で「コンピューティングデバイス」を参照して企図されているため、区別されない。
コンピューティングデバイス900は、通常、種々のコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピューティングデバイス900によってアクセスされ得る任意の利用可能な媒体であり得、揮発性および不揮発性媒体の両方、リムーバブルおよび非リムーバブル媒体を含む。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実装された、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体が含まれる。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶もしくは他の磁気記憶デバイス、または所望のコンテンツを格納するために使用することができ、コンピューティングデバイス900によってアクセスされ得る、任意の他の媒体が含むが、これらに限定されない。コンピュータの記憶媒体は、それ自体が信号を含んでいない。通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の輸送メカニズムなどの変調されたデータ信号に具現化し、任意のコンテンツ配信媒体を含む。「変調されたデータ信号」という用語は、信号内の情報を符号化するような方法で設定または変更されたその特性の1つ以上を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体と、音響、RF、赤外線、および他の無線媒体などの無線媒体とを含む。上記の組み合わせも、コンピュータ可読媒体の範囲に含める必要がある。
メモリ912は、揮発性かつ/または不揮発性メモリの形態のコンピュータ記憶媒体を含む。メモリは、リムーバブルであるか、非リムーバブルであるか、またはそれらの組み合わせであり得る。例示的なハードウェアデバイスには、ソリッドステートメモリ、ハードドライブ、光ディスクドライブなどが含まれる。コンピューティングデバイス900は、メモリ912またはI/Oコンポーネント920などの種々のエンティティからデータを読み出す1つ以上のプロセッサ914を含む。提示コンポーネント916は、データ表示をユーザまたは他のデバイスに提示する。一部の実装態様では、システム200の提示コンポーネント220は、提示コンポーネント916として具現化され得る。提示コンポーネントの他の例は、表示デバイス、スピーカー、印刷構成要素、振動構成要素などを含み得る。
I/Oポート918により、コンピューティングデバイス900を、I/Oコンポーネント920を含む他のデバイスに論理的に結合することができ、その一部を組み込むことができる。例示的なコンポーネントには、マイク、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナー、プリンタ、ワイヤレスデバイスなどが含まれる。I/Oコンポーネント920は、空気ジェスチャ、音声、またはユーザによって生成された他の生理学的入力を処理するナチュラルユーザインターフェース(NUI)を提供することができる。場合によっては、入力は、さらなる処理のために適切なネットワーク要素に送信され得る。NUIは、音声認識、タッチおよびスタイラス認識、顔認識、生体認証、画面上および画面に隣接するジェスチャ認識、エアジェスチャ、頭と目の追跡、ならびにコンピューティングデバイス900上のディスプレイに関連付けられたタッチ認識の任意の組み合わせを実装できる。コンピューティングデバイス900は、ジェスチャの検出および認識のために、ステレオスコピックカメラシステム、赤外線カメラシステム、RGBカメラシステム、およびこれらの組み合わせなどの深度カメラを装備することができる。さらに、コンピューティングデバイス900は、動きの検出を可能にする加速度計またはジャイロスコープを含んでもよい。加速度計またはジャイロスコープの出力は、没入型拡張現実または仮想現実をレンダリングするために、コンピューティングデバイス900のディスプレイに提供され得る。
コンピューティングデバイス900の一部の実施形態は、1つ以上の無線部924(または同様の無線通信コンポーネント)を含み得る。無線部924は、無線通信またはワイヤレス通信を送受信する。コンピューティングデバイス900は、種々の無線ネットワークを介して通信およびメディアを受信するように適合された無線端末であり得る。コンピューティングデバイス900は、符号分割多元接続(「CDMA」)、モバイル用グローバルシステム(「GSM」)、または時分割多元接続(「TDMA」)などの無線プロトコルを介して通信し、他のデバイスと通信することができる。無線通信は、短距離接続、長距離接続、または短距離および長距離の両方の無線通信接続の組み合わせであり得る。「短距離」タイプと「長距離」タイプの接続を指す場合、2つのデバイス間の空間的な関係を指すことを意味するものではない。代わりに、概して、短距離および長距離を異なるカテゴリまたはタイプの接続(つまり、プライマリ接続およびセカンダリ接続)と称する。短距離接続には、例として限定されないが、802.11プロトコルを使用するWLAN接続などの無線通信ネットワークへのアクセスを提供するデバイス(例えば、モバイルホットスポット)へのWi-Fi(登録商標)接続が含まれ得る。別のコンピューティングデバイスへのBluetooth接続は、短距離接続または近距離無線通信接続の第2の例である。長距離接続は、限定ではなく例として、CDMA、GPRS、GSM、TDMA、および802.16プロトコルのうちの1つ以上を使用する接続を含み得る。
以下の特許請求の範囲から逸脱することなく、図示された種々の構成要素、ならびに示されていない構成要素の多くの異なる配置が可能である。本開示の実施形態は、限定的ではなく例示的であることを意図して説明されている。代替実施形態は、本開示を読んだ後およびそれを読んだために、本開示の読者に明らかになるであろう。前述の実装の代替手段は、以下の特許請求の範囲から逸脱することなく完成させることができる。特定の特徴およびサブコンビネーションは実用的であり、他の特徴およびサブコンビネーションを参照せずに採用することができ、特許請求の範囲内で企図されている。
Claims (15)
- 量子ビットのセットを操作して方法を実行するように構成された量子コンピューティングハードウェアであって、前記量子ビットのセットが、複数の4量子ビットの組み合わせを定義し、前記方法が、
複数の量子ビットスワップ操作を介して、前記量子ビットのセットの順序を反復的に更新し、それにより、前記複数の4量子ビットの組み合わせの各々が、複数の連続する4量子ビットグループを生成するための前記複数のスワップ操作中に少なくとも1回、前記量子ビットのセットの前記順序内の連続する4量子ビットグループとして表されることを含む、量子コンピューティングハードウェア。 - 前記量子ビットのセットが、複数の2量子ビットの組み合わせをさらに定義し、前記方法が、
第2の複数の量子ビットスワップ操作を介して、前記量子ビットのセットの前記順序を反復的に更新し、それにより、前記複数の2量子ビットの組み合わせの前記各々が、複数の連続する2量子ビットグループを生成するための前記第2の複数のスワップ操作中に少なくとも1回、前記量子ビットのセットの前記順序内の連続する2量子ビットグループとして表されることをさらに含む、請求項1に記載の量子コンピューティングハードウェア。 - 前記複数のスワップ操作の各々においてスワップされた量子ビットの各ペアが、前記量子ビットのセットの前記順序内で最大3つの量子ビットによって分離されている、請求項1に記載の量子コンピューティングハードウェア。
- 前記方法が、
前記量子ビットのセットを第1の量子ビットホイール、第2の量子ビットホイール、第3の量子ビットホイール、および第4の量子ビットホイールに細分し、それにより、前記第1の量子ビットホイールが、前記量子ビットのセットの第1のサブセットを含み、前記第2の量子ビットホイールが、前記量子ビットのセットの第2のサブセットを含み、前記第3の量子ビットホイールが、前記量子ビットのセットの第3のサブセットを含み、前記第4の量子ビットホイールが、前記量子ビットのセットの第4のサブセットを含むことであって、量子ビットの前記第1、第2、第3、および第4のサブセットが、互いに素なサブセットである、細分することと、
前記複数の連続する4量子ビットグループの一部分を生成するために前記複数の量子ビットスワップ操作の一部分を実行することであって、前記複数の連続する4量子ビットグループの前記一部分の各連続する4量子ビットグループが、量子ビットの前記第1のサブセットからの第1の量子ビットと、量子ビットの前記第2のサブセットからの第2の量子ビットと、量子ビットの前記第3のサブセットからの第3の量子ビットと、量子ビットの前記第4のサブセットからの第4の量子ビットと、を含む、実行することと、をさらに含む、請求項1に記載の量子コンピューティングハードウェア。 - 前記複数の量子ビットスワップ操作の前記一部分を実行することが、
複数の第3のホイールの最近傍量子ビットスワップを実行し、それにより、量子ビットの前記第3のサブセットの各量子ビットが、前記第3のホイールの各位置に少なくとも1回位置決めされることと、
前記複数の第3のホイールの最近傍量子ビットスワップのうちの第3のホイールの最近傍量子ビットスワップを実行することに応答して、複数の第2のホイールの最近傍量子ビットスワップを実行し、それにより、量子ビットの前記第2のサブセットの各量子ビットが、前記第2のホイールの各位置に少なくとも1回位置決めされることと、
前記複数の第2のホイールの最近傍量子ビットスワップのうちの第2のホイールの最近傍量子ビットスワップを実行することに応答して、複数の第1のホイールの最近傍量子ビットスワップを実行し、それにより、量子ビットの前記第1のサブセットの各量子ビットが、前記第1のホイールの各位置に少なくとも1回位置決めされることと、を含む、請求項4に記載の量子コンピューティングハードウェア。 - 前記方法が、
前記量子ビットのセットを第1の量子ビットホイール、第2の量子ビットホイール、第3の量子ビットホイール、および第4の量子ビットホイールに細分し、それにより、前記第1の量子ビットホイールが、前記量子ビットのセットの第1のサブセットを含み、前記第2の量子ビットホイールが、前記量子ビットのセットの第2のサブセットを含み、前記第3の量子ビットホイールが、前記量子ビットのセットの第3のサブセットを含み、前記第4の量子ビットホイールが、前記量子ビットのセットの第4のサブセットを含むことであって、量子ビットの前記第1、第2、第3、および第4のサブセットが、互いに素なサブセットである、細分することと、
前記複数の量子ビットスワップ操作の第1の部分を介して、前記量子ビットのセットの前記順序を反復的に更新して、量子ゲートのネットワークのホイールのインスタンスおよび量子ゲートの前記ネットワークの2スロットスワップネットワークのインスタンスに対応する前記量子ビットのセットのベクトル化を生成することと、
2量子ビットスワップネットワークの前記インスタンスおよび2量子ビットスロットスワップネットワークの前記インスタンスを採用し、前記量子ビットのセットの前記ベクトル化に基づいて、前記複数の連続する4量子ビットグループの一部分を生成するために前記複数の量子ビットスワップ操作の第2の部分を実行することであって、前記複数の連続する4量子ビットグループの前記一部分の各連続する4量子ビットグループが、量子ビットの前記第1のサブセットからの第1の量子ビットと、量子ビットの前記第1のサブセットからの第2の量子ビットと、量子ビットの前記第2のサブセットからの第3の量子ビットと、量子ビットの前記第2のサブセットからの第4の量子ビットと、を含む、実行することと、をさらに含む、請求項1に記載の量子コンピューティングハードウェア。 - 前記方法が、
前記量子ビットのセットを第1の量子ビットホイール、第2の量子ビットホイール、第3の量子ビットホイール、および第4の量子ビットホイールに細分し、それにより、前記第1の量子ビットホイールが、前記量子ビットのセットの第1のサブセットを含み、前記第2の量子ビットホイールが、前記量子ビットのセットの第2のサブセットを含み、前記第3の量子ビットホイールが、前記量子ビットのセットの第3のサブセットを含み、前記第4の量子ビットホイールが、前記量子ビットのセットの第4のサブセットを含むことであって、量子ビットの前記第1、第2、第3、および第4のサブセットが、互いに素なサブセットである、細分することと、
前記複数の量子ビットスワップ操作の第1の部分を介して、前記量子ビットのセットの前記順序を反復的に更新して、量子ゲートの前記ネットワークのホイールスワップネットワークのインスタンスおよび量子ゲートのネットワークの3量子ビットスワップネットワークのインスタンスに対応する前記量子ビットのセットのベクトル化を生成することと、
前記ホイールスワップネットワークの前記インスタンスおよび前記3量子ビットスワップネットワークの前記インスタンスを採用し、前記量子ビットのセットの前記ベクトル化に基づいて、前記複数の連続する4量子ビットグループの一部分を生成するために前記複数の量子ビットスワップ操作の一部分を実行することであって、前記複数の連続する4量子ビットグループの前記一部分の各連続する4量子ビットグループが、量子ビットの前記第1のサブセットからの第1の量子ビットと、量子ビットの前記第1のサブセットからの第2の量子ビットと、量子ビットの前記第1のサブセットの第3の量子ビットと、量子ビットの前記第2のサブセットからの第4の量子ビットと、を含む、実行することと、をさらに含む、請求項1に記載の量子コンピューティングハードウェア。 - 前記方法が、
前記量子ビットのセットを第1の量子ビットホイール、第2の量子ビットホイール、第3の量子ビットホイール、および第4の量子ビットホイールに細分し、それにより、前記第1の量子ビットホイールが、前記量子ビットのセットの第1のサブセットを含み、前記第2の量子ビットホイールが、前記量子ビットのセットの第2のサブセットを含み、前記第3の量子ビットホイールが、前記量子ビットのセットの第3のサブセットを含み、前記第4の量子ビットホイールが、前記量子ビットのセットの第4のサブセットを含むことであって、量子ビットの前記第1、第2、第3、および第4のサブセットが、互いに素なサブセットである、細分することと、
前記複数の連続する4量子ビットグループの一部分を生成するために前記複数の量子ビットスワップ操作の一部分を実行することであって、前記複数の連続する4量子ビットグループの前記一部分の各連続する4量子ビットグループが、量子ビットの前記第1のサブセットからの第1の量子ビットと、量子ビットの前記第1のサブセットからの第2の量子ビットと、量子ビットの前記第1のサブセットの第3の量子ビットと、量子ビットの前記第1のサブセットからの第4の量子ビットと、を含む、実行することと、をさらに含む、請求項1に記載の量子コンピューティングハードウェア。 - 複数の4量子ビットの組み合わせを定義する複数の量子ビットを含む量子レジスタと、
量子ビットのセットで動作する量子ゲートのネットワークを実行して、
複数の量子ビットスワップ操作を介して、前記量子ビットのセットの順序を反復的に更新し、それにより、前記複数の4量子ビットの組み合わせの各々が、複数の連続する4量子ビットグループを生成するための前記複数のスワップ操作中に少なくとも1回、前記量子ビットのセットの前記順序内の連続する4量子ビットグループとして表されることを含む方法を実行するように構成された量子ハードウェアと、を含む、量子コンピューティングシステム。 - 前記量子ビットのセットが、複数の2量子ビットの組み合わせをさらに定義し、前記方法が、
第2の複数の量子ビットスワップ操作を介して、前記量子ビットのセットの前記順序を反復的に更新し、それにより、前記複数の2量子ビットの組み合わせの各々が、複数の連続する2量子ビットグループを生成するための前記第2の複数のスワップ操作中に少なくとも1回、前記量子ビットのセットの前記順序内の連続する2量子ビットグループとして表されることをさらに含む、請求項9に記載の量子コンピューティングシステム。 - 前記複数のスワップ操作の各々においてスワップされた量子ビットの各ペアが、前記量子ビットのセットの前記順序内で最大3つの量子ビットによって分離されている、請求項9に記載の量子コンピューティングシステム。
- 前記方法が、
前記量子ビットのセットを第1の量子ビットホイール、第2の量子ビットホイール、第3の量子ビットホイール、および第4の量子ビットホイールに細分し、それにより、前記第1の量子ビットホイールが、前記量子ビットのセットの第1のサブセットを含み、前記第2の量子ビットホイールが、前記量子ビットのセットの第2のサブセットを含み、前記第3の量子ビットホイールが、前記量子ビットのセットの第3のサブセットを含み、前記第4の量子ビットホイールが、前記量子ビットのセットの第4のサブセットを含むことであって、量子ビットの前記第1、第2、第3、および第4のサブセットが、互いに素なサブセットである、細分することと、
前記複数の連続する4量子ビットグループの一部分を生成するために前記複数の量子ビットスワップ操作の一部分を実行することであって、前記複数の連続する4量子ビットグループの前記一部分の各連続する4量子ビットグループが、量子ビットの前記第1のサブセットからの第1の量子ビットと、量子ビットの前記第2のサブセットからの第2の量子ビットと、量子ビットの前記第3のサブセットからの第3の量子ビットと、量子ビットの前記第4のサブセットからの第4の量子ビットと、を含む、実行することと、をさらに含む、請求項9に記載の量子コンピューティングシステム。 - 前記複数の量子ビットスワップ操作の前記部分を実行することが、
複数の第3のホイールの最近傍量子ビットスワップを実行し、それにより、量子ビットの前記第3のサブセットの各量子ビットが、前記第3のホイールの各位置に少なくとも1回位置決めされることと、
前記複数の第3のホイールの最近傍量子ビットスワップのうちの第3のホイールの最近傍量子ビットスワップを実行することに応答して、複数の第2のホイールの最近傍量子ビットスワップを実行し、それにより、量子ビットの前記第2のサブセットの各量子ビットが、前記第2のホイールの各位置に少なくとも1回位置決めされることと、
前記複数の第2のホイールの最近傍量子ビットスワップのうちの第2のホイールの最近傍量子ビットスワップを実行することに応答して、複数の第1のホイールの最近傍量子ビットスワップを実行し、それにより、量子ビットの前記第1のサブセットの各量子ビットが、前記第1のホイールの各位置に少なくとも1回位置決めされることと、を含む、請求項12に記載の量子コンピューティングシステム。 - 前記方法が、
前記量子ビットのセットを第1の量子ビットホイール、第2の量子ビットホイール、第3の量子ビットホイール、および第4の量子ビットホイールに細分し、それにより、前記第1の量子ビットホイールが、前記量子ビットのセットの第1のサブセットを含み、前記第2の量子ビットホイールが、前記量子ビットのセットの第2のサブセットを含み、前記第3の量子ビットホイールが、前記量子ビットのセットの第3のサブセットを含み、前記第4の量子ビットホイールが、前記量子ビットのセットの第4のサブセットを含むことであって、量子ビットの前記第1、第2、第3、および第4のサブセットが、互いに素なサブセットである、細分することと、
前記複数の量子ビットスワップ操作の第1の部分を介して、前記量子ビットのセットの前記順序を反復的に更新して、量子ゲートの前記ネットワークのホイールのインスタンスおよび量子ゲートの前記ネットワークの2スロットスワップネットワークのインスタンスに対応する前記量子ビットのセットのベクトル化を生成することと、
2量子ビットスワップネットワークの前記インスタンスおよび2量子ビットスロットスワップネットワークの前記インスタンスを採用し、前記量子ビットのセットの前記ベクトル化に基づいて、前記複数の連続する4量子ビットグループの一部分を生成するために前記複数の量子ビットスワップ操作の第2の部分を実行することであって、前記複数の連続する4量子ビットグループの前記一部分の各連続する4量子ビットグループが、量子ビットの前記第1のサブセットからの第1の量子ビットと、量子ビットの前記第1のサブセットからの第2の量子ビットと、量子ビットの前記第2のサブセットからの第3の量子ビットと、量子ビットの前記第2のサブセットからの第4の量子ビットと、を含む、実行することと、をさらに含む、請求項9に記載の量子コンピューティングシステム。 - 前記方法が、
前記量子ビットのセットを第1の量子ビットホイール、第2の量子ビットホイール、第3の量子ビットホイール、および第4の量子ビットホイールに細分し、それにより、前記第1の量子ビットホイールが、前記量子ビットのセットの第1のサブセットを含み、前記第2の量子ビットホイールが、前記量子ビットのセットの第2のサブセットを含み、前記第3の量子ビットホイールが、前記量子ビットのセットの第3のサブセットを含み、前記第4の量子ビットホイールが、前記量子ビットのセットの第4のサブセットを含むことであって、量子ビットの前記第1、第2、第3、および第4のサブセットが、互いに素なサブセットである、細分することと、
前記複数の量子ビットスワップ操作の第1の部分を介して、前記量子ビットのセットの前記順序を反復的に更新して、量子ゲートの前記ネットワークのホイールスワップネットワークのインスタンスおよび量子ゲートの前記ネットワークの3量子ビットスワップネットワークのインスタンスに対応する前記量子ビットのセットのベクトル化を生成することと、
前記ホイールスワップネットワークの前記インスタンスおよび前記3量子ビットスワップネットワークの前記インスタンスを採用し、前記量子ビットのセットの前記ベクトル化に基づいて、前記複数の連続する4量子ビットグループの一部分を生成するために前記複数の量子ビットスワップ操作の一部分を実行することであって、前記複数の連続する4量子ビットグループの前記一部分の各連続する4量子ビットグループが、量子ビットの前記第1のサブセットからの第1の量子ビットと、量子ビットの前記第1のサブセットからの第2の量子ビットと、量子ビットの前記第1のサブセットの第3の量子ビットと、量子ビットの前記第2のサブセットからの第4の量子ビットと、を含む、実行することと、をさらに含む、請求項9に記載の量子コンピューティングシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/438,409 | 2019-06-11 | ||
US16/438,409 US11386347B2 (en) | 2019-06-11 | 2019-06-11 | Swap networks for quantum computation |
PCT/US2020/036569 WO2020251875A1 (en) | 2019-06-11 | 2020-06-08 | Swap networks for quantum computation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022538721A true JP2022538721A (ja) | 2022-09-06 |
JPWO2020251875A5 JPWO2020251875A5 (ja) | 2023-05-22 |
Family
ID=71944201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021565724A Pending JP2022538721A (ja) | 2019-06-11 | 2020-06-08 | 量子計算のためのスワップネットワーク |
Country Status (5)
Country | Link |
---|---|
US (1) | US11386347B2 (ja) |
EP (1) | EP3966753A1 (ja) |
JP (1) | JP2022538721A (ja) |
CN (1) | CN114080614A (ja) |
WO (1) | WO2020251875A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11194573B1 (en) | 2018-02-09 | 2021-12-07 | Rigetti & Co, Llc | Streaming execution for a quantum processing system |
WO2020106313A1 (en) * | 2018-11-19 | 2020-05-28 | Google Llc | Three qubit entangling gate through two-local hamiltonian control |
EP3879464A1 (en) * | 2020-03-13 | 2021-09-15 | Bull SAS | Compiling on interconnected qubit subsystems |
US11861456B2 (en) * | 2020-05-28 | 2024-01-02 | Quantinuum Llc | Apparatuses, computer-implemented methods, and computer program products for instruction compilation for at least one time slice in a one-dimensional quantum computing environment |
US11823010B2 (en) * | 2020-05-28 | 2023-11-21 | IonQ, Inc. | Accelerated pattern matching method on a quantum computing system |
US11373113B1 (en) * | 2021-01-12 | 2022-06-28 | River Lane Research Ltd. | Methods and apparatus for parallel quantum computing |
CN113537502B (zh) * | 2021-07-14 | 2022-04-12 | 北京百度网讯科技有限公司 | 量子电路的处理方法、装置、电子设备和存储介质 |
US11985234B2 (en) * | 2022-05-13 | 2024-05-14 | Accenture Global Solutions Limited | Secure quantum swap |
US20230376354A1 (en) * | 2022-05-19 | 2023-11-23 | The Boeing Company | Hybrid-Computing Resource Optimization |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030164490A1 (en) * | 2001-02-13 | 2003-09-04 | Alexandre Blais | Optimization method for quantum computing process |
CN105993017B (zh) * | 2014-02-12 | 2019-11-05 | 微软技术许可有限责任公司 | 用于化学仿真的改进的量子电路 |
WO2015123085A2 (en) * | 2014-02-12 | 2015-08-20 | Microsoft Technology Licensing, Llc | Classical simulation constants and ordering for quantum chemistry simulation |
EP4009249B1 (en) * | 2017-10-02 | 2024-04-17 | Google LLC | Fermionic simulation gates |
FR3072483B1 (fr) | 2017-10-16 | 2021-04-30 | Bull Sas | Optimisation d'un circuit quantique par insertion de portes swap |
CN109376867B (zh) * | 2018-09-17 | 2021-05-07 | 合肥本源量子计算科技有限责任公司 | 两量子比特逻辑门的处理方法及装置 |
CN109858628B (zh) * | 2019-02-28 | 2021-04-27 | 北京百度网讯科技有限公司 | 编译量子电路的方法、装置、设备和计算机可读存储介质 |
-
2019
- 2019-06-11 US US16/438,409 patent/US11386347B2/en active Active
-
2020
- 2020-06-08 EP EP20750797.1A patent/EP3966753A1/en active Pending
- 2020-06-08 CN CN202080042800.3A patent/CN114080614A/zh active Pending
- 2020-06-08 JP JP2021565724A patent/JP2022538721A/ja active Pending
- 2020-06-08 WO PCT/US2020/036569 patent/WO2020251875A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
US11386347B2 (en) | 2022-07-12 |
EP3966753A1 (en) | 2022-03-16 |
US20200394544A1 (en) | 2020-12-17 |
WO2020251875A1 (en) | 2020-12-17 |
CN114080614A (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022538721A (ja) | 量子計算のためのスワップネットワーク | |
US10776544B2 (en) | Classical optimizer for quantum chemistry circuit synthesis | |
De Raedt et al. | Massively parallel quantum computer simulator | |
Lin et al. | PAQCS: Physical design-aware fault-tolerant quantum circuit synthesis | |
Kari | Reversible cellular automata: from fundamental classical results to recent developments | |
US20210287761A1 (en) | Symmetry-based quantum computational chemistry | |
AU2021231648A1 (en) | Measurement-only majorana-based surface code architecture | |
Murairi et al. | How many quantum gates do gauge theories require? | |
WO2020221583A1 (en) | System and method for molecular design on a quantum computer | |
Peham et al. | On optimal subarchitectures for quantum circuit mapping | |
WO2023084425A1 (en) | Methods and systems for solving a problem using qubit coupled cluster and binary encoding of quantum information | |
CN115244549A (zh) | 用于量子化学的量子计算机上资源优化的费米子局部模拟的方法和设备 | |
Yasudo et al. | GPU-accelerated scalable solver with bit permutated cyclic-min algorithm for quadratic unconstrained binary optimization | |
Nakano et al. | Diverse Adaptive Bulk Search: a Framework for Solving QUBO Problems on Multiple GPUs | |
US20230081773A1 (en) | Low-weight fermion-to-qubit encoding | |
Farghadan et al. | Mapping quantum circuits on 3D nearest-neighbor architectures | |
Goubault de Brugière | Methods for optimizing the synthesis of quantum circuits | |
Zhu et al. | Physical constraint-aware CNOT quantum circuit synthesis and optimization | |
Mohammadzadeh | Physical design of quantum circuits in ion trap technology–a survey | |
CN114492815A (zh) | 一种基于量子化学计算目标体系能量的方法、装置及介质 | |
CN114528996A (zh) | 一种目标体系试验态初始参数的确定方法、装置及介质 | |
Azad et al. | Circuit centric quantum architecture design | |
Gawron et al. | Extending scientific computing system with structural quantum programming capabilities | |
Liang et al. | Static hardware task placement on multi-context FPGA using hybrid genetic algorithm | |
Ghosh et al. | 2D qubit placement of quantum circuits using LONGPATH |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230511 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230511 |