JP2005513680A6 - Integrated development environment for quantum computing - Google Patents
Integrated development environment for quantum computing Download PDFInfo
- Publication number
- JP2005513680A6 JP2005513680A6 JP2003556954A JP2003556954A JP2005513680A6 JP 2005513680 A6 JP2005513680 A6 JP 2005513680A6 JP 2003556954 A JP2003556954 A JP 2003556954A JP 2003556954 A JP2003556954 A JP 2003556954A JP 2005513680 A6 JP2005513680 A6 JP 2005513680A6
- Authority
- JP
- Japan
- Prior art keywords
- quantum
- computer program
- program product
- operator
- basic
- 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.)
- Abandoned
Links
- 238000011161 development Methods 0.000 title claims abstract description 29
- 238000004590 computer program Methods 0.000 claims abstract description 49
- 238000013461 design Methods 0.000 claims abstract description 40
- 230000007246 mechanism Effects 0.000 claims abstract description 13
- 239000002096 quantum dot Substances 0.000 claims description 118
- 239000011159 matrix material Substances 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 26
- 230000003993 interaction Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000000844 transformation Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 2
- 150000002894 organic compounds Chemical class 0.000 claims description 2
- 102000004169 proteins and genes Human genes 0.000 claims description 2
- 108090000623 proteins and genes Proteins 0.000 claims description 2
- 102000039446 nucleic acids Human genes 0.000 claims 1
- 108020004707 nucleic acids Proteins 0.000 claims 1
- 150000007523 nucleic acids Chemical class 0.000 claims 1
- 229920000642 polymer Polymers 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 description 18
- 230000005283 ground state Effects 0.000 description 17
- 230000008878 coupling Effects 0.000 description 12
- 238000010168 coupling process Methods 0.000 description 12
- 238000005859 coupling reaction Methods 0.000 description 12
- 230000004907 flux Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004088 simulation Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000005481 NMR spectroscopy Methods 0.000 description 6
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 6
- 230000036962 time dependent Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012938 design process Methods 0.000 description 4
- 229910052734 helium Inorganic materials 0.000 description 4
- 239000001307 helium Substances 0.000 description 4
- SWQJXJOGLNCZEY-UHFFFAOYSA-N helium atom Chemical compound [He] SWQJXJOGLNCZEY-UHFFFAOYSA-N 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000005281 excited state Effects 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 229920002521 macromolecule Polymers 0.000 description 2
- NUJOXMJBOLGQSY-UHFFFAOYSA-N manganese dioxide Chemical compound O=[Mn]=O NUJOXMJBOLGQSY-UHFFFAOYSA-N 0.000 description 2
- 238000010587 phase diagram Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 229910019142 PO4 Inorganic materials 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004992 fission Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 235000021317 phosphate Nutrition 0.000 description 1
- 150000003013 phosphoric acid derivatives Chemical class 0.000 description 1
- 230000012846 protein folding Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012772 sequence design Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 1
- 230000005428 wave function Effects 0.000 description 1
Images
Abstract
コンピュータシステムと共に利用するコンピュータプログラム製品において、前記コンピュータプログラム製品は、コンピュータ読み出し可能な記憶媒体及びその中に組み込まれるコンピュータプログラム機構を備えている。前記コンピュータプログラム機構は、量子コンピューティング統合開発環境(QC−IDE)モジュール及びコンパイラモジュールを備えている。前記QC−IDEモジュールは、複数のキュビットに対する量子論理を設計するのに用いられる。前記QC−IDEモジュールは、時間分解設定のオペレータを発生させるための命令を含んでいる。前記コンパイラモジュールは、時間分解設定のオペレータを一組の量子機械語命令にコンパイルするための命令を含んでいる。 In a computer program product for use with a computer system, the computer program product comprises a computer-readable storage medium and a computer program mechanism incorporated therein. The computer program mechanism includes a quantum computing integrated development environment (QC-IDE) module and a compiler module. The QC-IDE module is used to design quantum logic for a plurality of qubits. The QC-IDE module includes instructions for generating an operator for time resolution setting. The compiler module includes instructions for compiling a time-resolved setting operator into a set of quantum machine language instructions.
Description
1.0 本発明の技術分野
本発明は、量子コンピュータに関し、量子コンピュータの動作シミュレーションのための方法及び装置に関する。
1.0 TECHNICAL FIELD OF THE INVENTION The present invention relates to a quantum computer, and more particularly to a method and apparatus for operation simulation of a quantum computer.
本発明は、2001年12月22日に提出された米国特許出願番号10/028,891を部分的に承継するものであり、その全体を参照によって取り込んでいる。 This invention is a partial succession of US patent application Ser. No. 10 / 028,891 filed Dec. 22, 2001, which is incorporated by reference in its entirety.
2.0 背景
2.1 キュビット
量子ビットすなわちキュビットは、従来の二値ビットが古典的コンピュータのビルディングブロックであるのと同様の方法の量子コンピュータのビルディングブロックである。従来の二値ビットは、通常、0及び1の値を採用する。0及び1の値は、従来のビットの基底状態と呼ばれ得る。キュビットは、同様に基底状態を採用し得るという点で従来の二値ビットに類似している。キュビットの基底状態は、|0>基底状態及び|1>基底状態として言及される。量子計算の中で、キュビットの状態は、|0>基底状態及び|1>基底状態の重ね合わせとして定義される。これは、キュビットの状態が、ゼロでない|0>基底状態をとる確率及びゼロでない|1>基底状態をとる確率を同時に有することを意味する。ゼロでない第1基底状態(|0>)をとる確率及びゼロでない第2基底状態(|1>)をとる確率を有するために、キュビットの能力は、通常、0又は1の値を有する従来のビットと異なる。
2.0 Background 2.1 Qubits A qubit or qubit is a building block of a quantum computer in a manner similar to that a conventional binary bit is a building block of a classical computer. Conventional binary bits typically employ values of 0 and 1. Values of 0 and 1 can be referred to as conventional bit ground states. A qubit is similar to a conventional binary bit in that it can adopt a ground state as well. The ground state of the qubit is referred to as | 0> ground state and | 1> ground state. In quantum computation, the state of a qubit is defined as the superposition of | 0> ground state and | 1> ground state. This means that the state of the qubit has the probability of taking a non-zero | 0> ground state and the probability of taking a non-zero | 1> ground state at the same time. In order to have the probability of taking a non-zero first ground state (| 0>) and the probability of taking a non-zero second ground state (| 1>), the ability of a qubit usually has a value of 0 or 1 Different from bit.
性質上、基底状態の重ね合わせは、キュビットが基底状態|0>及び|1>の両状態で同時に存在し得ることを意味する。数学的には、基底状態の重ね合わせは、|Ψ>で表されるキュビットの全状態が、以下の式で示されることを意味する。 By nature, the superposition of ground states means that a qubit can exist simultaneously in both ground states | 0> and | 1>. Mathematically, the superposition of the ground state means that the entire state of the qubit represented by | Ψ> is expressed by the following equation.
|Ψ>=α|0>+β|1> | Ψ> = α | 0> + β | 1>
ここで、α及びβは、確率振幅である。α及びβの項は、それぞれ実数成分及び虚数成分である。典型的には、キュビットの状態が測定される(例えば読み出される)場合、キュビットの量子性質は一時的に失われ、基底状態の重ね合わせは|0>基底状態又は|1>基底状態のいずれか一方につぶれ、それによって、従来のビットと同様なものに帰着する。それがつぶれた後のキュビットの実際の状態は、読み出しオペレーションの直前の確率振幅α及びβ次第である。 Here, α and β are probability amplitudes. The terms α and β are a real component and an imaginary component, respectively. Typically, when the state of a qubit is measured (eg, read out), the quantum properties of the qubit are temporarily lost and the superposition of the ground state is either | 0> ground state or | 1> ground state It collapses to one side, thereby resulting in something similar to a conventional bit. The actual state of the qubit after it is collapsed depends on the probability amplitudes α and β immediately before the read operation.
量子計算を実現するキュビットオペレーション及び制御システムの議論については、その全体が参照によって取り込まれている、2001年6月1日に提出された特許文献1を参照すればよい。
For a discussion of the qubit operation and control system for realizing quantum computation, reference may be made to
2.1.1 フラックス(FLUX)キュビット
多くのキュビットの物理的実現方法が存在する。その提案の1つは、超伝導フラックスキュビットである。非特許文献1を参照すると、これによって、その全体が参照によって取り込まれている。フラックスキュビットは、3つ又は4つ以上のジョセフソン結合を含む内部超伝導ループから成り、誘導的に、2つのジョセフソン結合を含む外部dc−SQUIDに結合されている。dc−SQUIDは、どちらにバイアス電流が流れ得るかを誘導する。誘導を介したバイアス電流は、内部ループで動作させるための基礎を提供し、キュビットを形成する。
2.1.1 Flux qubits There are many physical implementations of qubits. One of the proposals is a superconducting flux qubit. With reference to Non-Patent
Mooijキュビットは、エネルギー位相図を調整するようにバイアスされ得る。このDCバイアス又はフラックスバイアスは、キュビットを描写するネルギー位相図のダブルウェルの相対値を調整する。フラックスキュビットの結合は、誘導性結合を用いて実現され、結合されたフラックスキュビットを描写する量子システムのハミルトニアンにおけるそれぞれのキュビット間の相互作用をシグマx及びシグマzに誘導する。直接誘導性結合は、フラックスキュビットを結合するのに用いられる。例えば、非特許文献2を参照すると、これによって、その全体が参照によって取り込まれている。
The Mooij qubit can be biased to adjust the energy phase diagram. This DC bias or flux bias adjusts the relative value of the double well of the energy phase diagram depicting the qubit. Flux qubit coupling is achieved using inductive coupling and induces the interaction between each qubit in the Hamiltonian of the quantum system depicting the coupled flux qubit to sigma x and sigma z. Direct inductive coupling is used to couple flux qubits. For example, referring to Non-Patent
2.1.2 電荷(CHARGE)キュビット
電荷キュビットの例は、非特許文献3によって提案される電子箱である。電子箱は、ゲート電極に対する容量結合Cを有する超伝導電極に対してジョセフソン結合によって接続される超伝導アイランドから成る。制御電圧Vxは、ゲートコンデンサーを用いて適用される。ジョセフソン結合は、(EJ=ICΦ0/2πであり、Φ0≡h/2eがフラックス量子であることによってジョセフソン臨界電流ICに関係する)ジョセフソンエネルギーEJと、充電電力量スケールを決定するキャパシタンスCJと、を特徴としている。このシステムにおいて、電子箱の中の電荷及び接合部を横切る位相は、規範的に複素共役変数である。システムは、それが超伝導でない場合、すなわち、電流がICよりも低く保たれている場合には、コヒーラーの感度を回復する。ビット状態は、状態|↓>=|n>及び|↑>=|n+1>を満たすように対応する擬似スピン変量であり、この場合、nはクーパー対の整数である。
2.1.2 Charge (CHARGE) qubit An example of a charge qubit is the electronic box proposed by
2.1.3 ヘリウムの電子
別のキュビットは、“ヘリウムの電子”である。この種類のキュビットの電子は、ボーアモデルによって支配される擬似単一電子の原子のように動作する。第1及び第2の励起状態の波動関数は、キュビットのビット状態である。このタイプのキュビットにおける第1及び第2の励起状態は、縮退しない(すなわち、それらは同じエネルギーを有しない)。垂直ポテンシャルウェルV(z)α−1/zは、電子を閉じ込める。システムは、それ自身のリュードベリ定数及び用いられるヘリウム同位体に依存するボーア半径aBを用いた原子モデルに対して類似の動作を有する。従って、システムは、数理物理学において研究されているウェルに類似している。期待値<z0>=1.5aBである第1状態から第2状態<z1>=6aBの期待される垂直位置へのエネルギー遷移が存在する。エネルギー差は、周波数単位でfr=(E1−E0)/hである。従って、NMR研究で用いられるそれらのようなパルスは、これらの個々の擬似原子の状態を遷移させるのに用いられ得る。電子は、ウィンガー(Winger)結晶と呼ばれる超格子構造で配置される。各原子は、アドレス可能であり、調整パルスを原子と相互作用できるようにする。キュビット間の相互作用は、全てのパウリ行列及びその複合線形結合に比例した項を有するハミルトニアンによって描写される。キュビット同志の相互作用は、通常存在するが、ある範囲で変調されるのみである。非特許文献4を参照すると、これによって、その全てが参照によって取り込まれている。
2.1.3 Helium electrons Another qubit is the "helium electrons". This kind of qubit's electrons behave like pseudo-single-electron atoms governed by the Bohr model. The wave functions of the first and second excited states are qubit bit states. The first and second excited states in this type of qubit do not degenerate (ie they do not have the same energy). The vertical potential well V (z) α-1 / z confines electrons. The system has a similar behavior for the atomic model with its own Rydberg constant and Bohr radius a B depending on the helium isotope used. The system is thus similar to the well being studied in mathematical physics. There is an energy transition from the first state where the expected value <z 0 > = 1.5a B to the expected vertical position of the second state <z 1 > = 6a B. The energy difference is f r = (E 1 −E 0 ) / h in frequency units. Thus, pulses such as those used in NMR studies can be used to transition the states of these individual pseudoatoms. The electrons are arranged in a superlattice structure called a Winger crystal. Each atom is addressable, allowing the conditioning pulse to interact with the atom. The interaction between qubits is described by a Hamiltonian with terms that are proportional to all Pauli matrices and their complex linear combinations. The qubit interactions usually exist but are only modulated to a certain extent. With reference to Non-Patent
2.2 量子コンピューティング
2.2.1 定義される量子コンピューティング
ここで、いわゆる量子コンピューティングに関する調査は、リチャードファインマンにさかのぼる。例えば、非特許文献5を見ると、これによって、その全体が参照によって取り込まれている。ファインマンは、量子システムが伝統的な(例えば従来の、非量子デジタルの)コンピュータを用いてシミュレートするのは本質的に難しいが、このタスクは、制御された状況下で量子システムの評価を観察することによって成し遂げられ得ることに注目した。量子システムの動作理論を解くことは、システムのハミルトニアンに関する微分方程式を解くことを共通に含む。システム動作の観察は、方程式の解に関係する情報を提供する。
2.2 Quantum Computing 2.2.1 Quantum Computing Defined Here, research on so-called quantum computing goes back to Richard Feynman. For example, when
量子コンピューティングの奮闘は、正式な理論の確立に、又は“ソフトウェア開発”又は他の計算処理上の問題への拡張に、初期的には関係していた。Shorアルゴリズム及びGroverアルゴリズムの発見は、量子コンピューティングにおける重要な事件であった。例えば、非特許文献6を見ると、そのそれぞれは、これによって、その全体が参照によって取り込まれている。Shorアルゴリズムにより、量子コンピュータは、大きな自然数を効果的に因数分解することができる。Shorアルゴリズムを用いると、量子コンピュータは、全ての現存する“公開鍵”暗号方式を時代遅れのものにし得る。Shorアルゴリズムの別のアプリケーションにおいて、量子コンピュータ(又は量子中継のような小規模デバイスでさえ)通信チャネルを絶対的に安全にし、原理上、メッセージがプロセスにおいて破壊されることなしには傍受され得ない。非特許文献7を見ると、これによって、その全体が参照によって取り込まれている。故障耐性の量子計算は、実際上の実現の試行方法が開示されており、理論的には、可能である。例えば、非特許文献8を参照すべきである。
The struggle of quantum computing was initially related to the establishment of formal theories or to extensions to “software development” or other computational problems. The discovery of the Shor algorithm and the Grover algorithm was an important event in quantum computing. For example, looking at Non-Patent Document 6, each of them is hereby incorporated by reference in its entirety. The Shor algorithm enables a quantum computer to effectively factor large natural numbers. Using the Shor algorithm, quantum computers can make all existing “public key” cryptosystems obsolete. In another application of the Shor algorithm, the quantum computer (or even a small device such as a quantum relay) makes the communication channel absolutely secure and in principle the message cannot be intercepted without being destroyed in the process . By looking at
量子コンピューティングは、一般には、N量子ビット(キュビット)の状態を初期化すること、それらの間の制御されたエンタングルメント(絡み合い)を作ること、これらの状態が進化するのを可能にすること、及び状態が進化した後にキュビットを読み出すことを含む。従って、キュビットは、量子コンピュータの基本ビルディングブロックである。上述のように、キュビットは、他の状態で発見される確率がゼロでないこと用いて、従来、2つの縮退した(すなわち、等しいエネルギーの)量子状態を有するシステムである。このゼロでない確率のために、Nキュビットは、2Nの従来の状態の組み合わせである初期状態を定義し得る。この初期状態は、キュビットがそれら自身の間に有する相互作用及びキュビットが外部の影響を含めて有する相互作用によって支配されて進化を遂げる。Nキュビットのこの進化の状態は、次の計算、すなわち実際には2Nの同時の従来計算を定義する。進化が完了した後にキュビットの状態を読み出すことは、計算結果を決定する。
Quantum computing generally initializes the state of N qubits (cubits), creates a controlled entanglement between them, and allows these states to evolve And reading the qubit after the state has evolved. Thus, a qubit is the basic building block of a quantum computer. As mentioned above, a qubit is a system that conventionally has two degenerate (ie, equal energy) quantum states with a non-zero probability of being found in other states. Because of this non-zero probability, N qubits may define an initial state that is a combination of 2 N conventional states. This initial state evolves, governed by the interactions that qubits have between themselves and the interactions that qubits have, including external influences. This state of evolution of N qubits defines the following computation, in
2.2.2 量子コンピューティングを実現するための基本的要件
その基本状態の重ね合わせを採用するキュビットの能力は、量子コンピュータによって利用される1つの基礎となる能力である。しかしながら、量子コンピュータで利用するためには、キュビットは、量子レジスタを形成するために他のキュビットと結合されなければならない。実際には、情報を表す量子レジスタの容量は、量子レジスタにおけるキュビットの数と共に指数関数的に大きくなっている。計算能力及び量子コンピュータの性質は、既知であり、技術的に説明される。例えば、Shor氏による特許文献2を見ると、これによって、その全体が参照によって取り込まれている。
2.2.2 Basic Requirements for Realizing Quantum Computing The ability of qubits to employ superposition of its basic states is one underlying capability utilized by quantum computers. However, for use in quantum computers, qubits must be combined with other qubits to form quantum registers. In practice, the capacity of a quantum register representing information increases exponentially with the number of qubits in the quantum register. Computational power and quantum computer properties are known and technically described. For example, see
キュビットを量子レジスタに結合する要件に加えて、DiVicenzoは、量子計算を可能にする物理システムを実現するのに必要な多数の要件を示す。非特許文献9を参照すると、これによって、その全体が参照によって取り込まれている。これらの要件は、キュビットの状態を単純な基準状態に初期化する必要性、長い関連するデコヒーレンス時間に対する必要性、量子ゲートの“全体集合”、及びキュビット特定の測定容量を含む。
In addition to the requirement to couple qubits to quantum registers, DiVicenzo presents a number of requirements necessary to implement a physical system that allows quantum computation. Referring to
2.2.3 量子ゲートの全体集合要件
上述したように、量子計算を可能とする任意の物理システムは、量子ゲートの全体集合を提供しなければならず、物理システムにおける各ビットの状態は、制御された手法で発展し得る。量子ゲートの全体集合を実現するのに必要とされるゲートの最小集合は、非特許文献10を示す。簡単には、量子ゲートの全体集合は、少なくとも1つの2キュビットオペレーションと同様に単一のキュビットオペレーションを含む。
2.2.3 Quantum Gate Overall Set Requirements As noted above, any physical system that allows quantum computation must provide an entire set of quantum gates, and the state of each bit in the physical system is It can evolve in a controlled manner.
単一キュビットは、2つの複素数a及びbによってパラメータ化されるベクトル|Ψ>=a|0>+b|1>とみなされ、|a|2+|b|2=1を満たす。キュビットのオペレーションは、このノルムを維持しなければならず、従って、前記オペレーションは、2x2の行列によって描写される。2x2からなる行列は、以下に示すパウリ行列である。
A single qubit is considered as a vector | Ψ> = a | 0> + b | 1> parameterized by two complex numbers a and b, and satisfies | a | 2 + | b | 2 = 1. The qubit's operation must maintain this norm, so the operation is described by a 2 × 2 matrix. The 2 × 2 matrix is a Pauli matrix shown below.
パウリ行列σx、σy、及びσzは、3つの単一キュビットオペレーションである。ゲート上の詳細情報については、非特許文献11を参照すると、これによって、その全体が参照によって取り込まれている。
The Pauli matrices σ x , σ y , and σ z are three single qubit operations. For detailed information on the gate, refer to
2.2.4 2キュビット量子コンピューティングシステムに利用可能な行列セット
図4は、量子レジスタの可能な状態を含んでいる、2キュビット量子コンピューティングシステムに利用可能な行列のセットを例証する。行列400は、標準2進表記と相関する2キュビットシステムの可能な状態を例証する。量子レジスタは、同時にそれぞれの状態の重ね合わせで存在し、それぞれの状態において存在する一定の複素確率γ0、γ1、γ2、及びγ3をそれぞれ有する。行列410及び411は、量子レジスタにおける第1及び第2のキュビットでそれぞれ動作するXオペレータの行列を表す。行列420及び421は、量子レジスタにおける第1及び第2のキュビットでそれぞれ動作するZオペレータの行列を表す。行列430及び431は、量子レジスタにおける第1及び第2のキュビットでそれぞれ動作するYオペレータの行列を表す。行列440は、量子レジスタにおける第1及び第2のキュビットを連結するように動作する連結オペレータの行列を表し、連結オペレーションは、制御位相オペレーションを表す。Nキュビット量子レジスタにおいて、これらの行列は、対応する一のキュビット又は複数のキュビットで動作する2N×2N行列になるように拡大され得る。
2.2.4 Matrix Set Available for Two-qubit Quantum Computing System FIG. 4 illustrates a set of matrices available for a two-qubit quantum computing system that includes possible states of quantum registers. The
2.3 量子コンピューティングを実現するための物理システム
量子コンピュータのキュビットに対して、幾つかの物理システムが提案されてきている。1つのキュビットシステムは、縮退した核スピン状態を有する分子を用いる。Gershenfeld氏とChuang氏の特許文献3を参照すると、これによって、その全体が参照によって取り込まれている。核磁気共鳴(NMR)技術は、スピン状態を読み取ることができる。これらのシステムは、探索アルゴリズムを首尾よく実現している。例えば、非特許文献12を参照すると、これによって、その全体が参照によって取り込まれている。また、非特許文献13を参照すると、これによって、その全体が参照によって取り込まれている。ナンバーオーダリングアルゴリズムは、量子フーリエ変換に関し、重要要素であるShorの因数分解アルゴリズム及び整列されていないデータベースを探索するためのGroverのアルゴリズムの両方に関する。さらに、量子コンピューティングのための物理システムに対する提案は、2.1節に述べられている。
2.3 Physical System for Realizing Quantum Computing Several physical systems have been proposed for qubits of quantum computers. One qubit system uses molecules with degenerate nuclear spin states. Reference is made to Gerschenfeld and Chuang, US Pat. Nuclear magnetic resonance (NMR) technology can read the spin state. These systems have successfully implemented search algorithms. For example, referring to Non-Patent Document 12, this is incorporated by reference in its entirety. Moreover, when the nonpatent literature 13 is referred, the whole is taken in by this by reference. The number ordering algorithm relates to the quantum Fourier transform, both the Sor factoring algorithm, which is an important element, and the Grover algorithm for searching unordered databases. In addition, proposals for physical systems for quantum computing are described in Section 2.1.
2.4 量子コンピューティングプログラミング言語
量子コンピューティングプログラミング言語及びアーキテクチャに対する提案がなされてきている。例えば、非特許文献14を参照すると、これによって、その全体が参照によって取り込まれている。Bettelli氏は、量子コンピュータをプログラミングする問題に対して可能なアプローチを調査する。前記参照は、一組の量子プリミティブを用いて汎用の多目的従来言語を補足するテンプレートハイレベル量子言語を提供する。基本方式は、量子オペレーションに対するバイトコードを計算し、それを量子デバイスコントローラ又はシミュレータに送信する実行時間環境を伴う。
2.4 Quantum Computing Programming Languages Proposals have been made for quantum computing programming languages and architectures. For example, referring to Non-Patent Document 14, this is incorporated by reference in its entirety. Bettelli investigates possible approaches to the problem of programming quantum computers. The reference provides a template high-level quantum language that uses a set of quantum primitives to supplement a general purpose multipurpose conventional language. The basic scheme involves an execution time environment that calculates the bytecode for the quantum operation and sends it to the quantum device controller or simulator.
しかしながら、Bettilli氏は、量子コンピュータの異なる物理的具現化に関連する複雑性に対する取り組みに失敗しており、それによって、量子コンピュータを制御するために必要とされるバイトコードレベルに量子コンピューティング命令を低減することを教示していない。さらに、Bettilli氏は、ハイレベル量子言語が自動化された拡張性のある処理手順を許容して、ハイレベルコードを量子マシンのための連続するローレベル制御命令に翻訳し、随意に最適化しなければならないということを、認識しているが、前記拡張性のある処理手順は、文献上では教示されていない。さらに、Bettilli氏のハイレベル言語は、抽象的なものに過ぎない。それは、前記言語が実際の物理システムでどのように動作するかについての詳細を提供していない。Bettilli氏は、概要で、ハイレベルプログラミング言語は、実際のコンピューティングシステムを駆動することができないことを教示している。 However, Bettilli has failed to address the complexities associated with different physical realizations of quantum computers, thereby bringing quantum computing instructions to the bytecode level required to control quantum computers. It does not teach to reduce. In addition, Bettilli must translate the high-level code into a continuous low-level control instruction for the quantum machine, optionally optimizing, allowing the high-level quantum language to be automated and scalable. It is recognized that this is not the case, but the scalable procedure is not taught in the literature. Furthermore, Bettilli's high-level language is only abstract. It does not provide details on how the language works in an actual physical system. Bettilli, in summary, teaches that a high level programming language cannot drive an actual computing system.
さらに、現在の量子シミュレータは、任意の物理量子コンピューティングの提案をほとんど基本としていない。例えば、QuCalc(Paul Dumais,Laboratory for Theoretical and Quantum Computing,University of Montreal)を参照すべきである。QuCalcは、共通して用いられる数式処理パッケージ(Wolfram Research Inc.,Champaign IL)であって、量子コンピューティングオペレーションをシミュレートする。QuCalcは、定性的量子計算に基づいている。しかしながら、QuCalcは、物理的な量子計算システムの拘束、制限、又は特性を考慮していない。 Furthermore, current quantum simulators are largely based on any physical quantum computing proposal. For example, reference should be made to QuCalc (Paul Dumais, Laboratory for Theoretical and Quantum Computing, University of Montreal). QuCalc is a commonly used mathematical processing package (Wolfram Research Inc., Champaign IL) that simulates quantum computing operations. QuCalc is based on qualitative quantum computation. However, Calc does not consider the constraints, limitations, or characteristics of physical quantum computing systems.
上記背景を与えられる場合、量子計算システムを動作させるため、及び前記システムで実行される命令を最適化するために必要とされる物理パラメータを扱う開発ツールに対する技術の必要性が存在する。 Given the above background, there is a need in the art for development tools that handle the physical parameters required to operate a quantum computing system and to optimize the instructions executed in the system.
3.0 本発明の概要
本発明は、
複数のキュビットを用いて量子論理を設計し、
前記量子論理を一組の量子機械語命令にコンパイルし、
前記量子機械語命令を実行し、
前記量子機械語命令の前記実行によって発生させられる結果を出力する、
のための量子コンピューティング統合開発環境及び方法を提供する。
従来技術システム及び方法と対照すると、本発明のインターフェースにより、拡張性のある量子デバイスの特定の性質を考慮する量子コンピューティングプログラムの設計及び試験が可能となり、前記プログラムが実行される。
3.0 Summary of the Invention
Design quantum logic using multiple qubits,
Compiling the quantum logic into a set of quantum machine language instructions;
Executing the quantum machine language instruction;
Outputting a result generated by the execution of the quantum machine language instruction;
An integrated development environment and method for quantum computing is provided.
In contrast to prior art systems and methods, the interface of the present invention allows the design and testing of a quantum computing program that takes into account the specific properties of a scalable quantum device and executes the program.
量子論理を設計することは、量子コンピューティングシステムを選択すること、及び基本オペレータのシーケンスを設計することを含んでいる。基本オペレータの組は、選択する量子コンピューティングシステムに依存する。さらに、量子論理を設計するメカニズムは、基本オペレータのシーケンスを抽象オペレータ(抽象量子ゲート)として定義すること、及び抽象オペレータのシーケンスを設計することを含んでいる。本発明の幾つかの実施例において、量子論理を設計するメカニズムは、読み出しオペレーションを実現すること、及び所望の状況に基づいて実行され得る条件オペレーションを定義することを含んでいる。一実施例において、読み出しオペレーションは、量子レジスタにおける1つ又は複数のキュビットの読み出しオペレーションを実現することを含んでいる。前記読み出しオペレーションは、キュビットの量子状態を2値相当に縮小させる。条件的作用は、量子レジスタの1つ又は複数のキュビットにおける基本オペレータ(基本ゲート)又は抽象オペレータ(抽象量子ゲート)のアプリケーションを含み得る。条件オペレーションは、1つ又は複数の縮小したキュビット又は縮小していないキュビットに適用され得る。 Designing quantum logic involves selecting a quantum computing system and designing a sequence of basic operators. The set of basic operators depends on the quantum computing system that is selected. In addition, mechanisms for designing quantum logic include defining a sequence of basic operators as an abstract operator (abstract quantum gate) and designing a sequence of abstract operators. In some embodiments of the invention, the mechanism for designing quantum logic includes implementing read operations and defining conditional operations that can be performed based on the desired situation. In one embodiment, the read operation includes implementing a read operation of one or more qubits in the quantum register. The read operation reduces the quantum state of the qubit to a binary equivalent. Conditional actions may include application of basic operators (basic gates) or abstract operators (abstract quantum gates) in one or more qubits of a quantum register. Conditional operations can be applied to one or more reduced or unreduced qubits.
さらに、量子論理を設計することは、量子レジスタに対するドライバ詳細を設定することを含み得る。前記レジスタに対するドライバ詳細は、選択する量子コンピューティングシステムに依存する。ドライバ詳細は、基本オペレータのアプリケーションに対する最小期間又は適用され得るパルスの鋭さのようなパラメータを含み得る。さらに、量子論理を設計することは、量子コンピューティングシステムにおける各々のキュビットの初期条件を準備することを含み得る。 Further, designing the quantum logic may include setting driver details for the quantum registers. The driver details for the registers depend on the quantum computing system that is selected. The driver details may include parameters such as the minimum duration for the basic operator application or the sharpness of the pulses that can be applied. Further, designing quantum logic may include preparing initial conditions for each qubit in the quantum computing system.
量子論理を一組の量子機械語命令にコンパイルすることは、一組の抽象オペレータを一組の基本パラメータに縮小させることを含んでいる。量子機械語命令をコンパイルするメカニズムは、基本オペレータを最適化する一組のルールに従って基本オペレータのシーケンスを縮小することをさらに含み得る。 Compiling quantum logic into a set of quantum machine language instructions involves reducing a set of abstract operators to a set of basic parameters. The mechanism for compiling the quantum machine language instructions may further include reducing the sequence of basic operators according to a set of rules that optimize the basic operators.
量子機械語命令は、量子レジスタによって実行され、量子レジスタと相互作用するための制御システムによって規定される。量子レジスタは、キュビットのアレーを含んでいる。量子レジスタで実現される基本オペレーションは、一組の基本オペレータのアプリケーションによって量子レジスタの状態を進化させる初期化オペレーションであり、読み出しオペレーションである。制御システムは、量子機械語命令によって特定されると、それぞれのオペレーションの各々を時間と共に調整するように量子レジスタと相互作用し得る。本発明の幾つかの実施例において、量子機械語命令は、量子コンピューティングシステム(量子コンピュータ)のシミュレータによって実行される。 Quantum machine language instructions are executed by a quantum register and are defined by a control system for interacting with the quantum register. The quantum register contains an array of qubits. The basic operation realized in the quantum register is an initialization operation that evolves the state of the quantum register by a set of basic operator applications, and is a read operation. The control system, when specified by a quantum machine language instruction, can interact with the quantum register to adjust each of the respective operations over time. In some embodiments of the invention, quantum machine language instructions are executed by a simulator of a quantum computing system (quantum computer).
一度、前記機械語命令設定の実行が完了すると、量子レジスタは、その基本状態の量子重ね合わせで存在する。前記重ね合わせは、その後、単一の基本状態に縮小され、計算結果を提供する。量子機械語命令実行後の量子コンピューティングシステムの最終状態は、計算結果を提供する。 Once the execution of the machine language instruction setting is completed, the quantum register exists in a quantum superposition of its basic state. The superposition is then reduced to a single base state to provide a calculation result. The final state of the quantum computing system after execution of the quantum machine language instruction provides a calculation result.
本発明の幾つかの実施例により、ユーザは、所望のハードウェアプラットフォームを選択することができ、そして、ハードウェア、機械語、論理、及びソフトウェアレベルにおいて機械を設計する際に援助するツールを提供する。本発明の実施例により、ユーザは、各々のこれらの状況を制御することができ、計算エンジン設計の全てのフェーズが成し遂げられている“統合開発環境”(IDE)を提供する。 Some embodiments of the present invention allow a user to select a desired hardware platform and provide tools to assist in designing machines at the hardware, machine language, logic, and software levels. To do. Embodiments of the present invention allow a user to control each of these situations, providing an “integrated development environment” (IDE) in which all phases of computational engine design are accomplished.
4.0 図面の簡単な説明
図1は、本発明に係る一実施例に従って動作するシステム10である。
4.0 BRIEF DESCRIPTION OF THE FIGURES FIG. 1 is a
図2は、本発明に係る幾つかの実施例に従う、量子コンピューティング統合開発環境の要素間の相互作用を例証しているフロー図である。 FIG. 2 is a flow diagram illustrating the interaction between elements of a quantum computing integrated development environment according to some embodiments of the invention.
図3Aは、本発明に係る幾つかの実施例に従う、量子論理設計プロセスを描写している実体関連図である。 FIG. 3A is an entity relationship diagram depicting a quantum logic design process according to some embodiments in accordance with the present invention.
図3Bは、本発明に係る幾つかの実施例に従う、量子コンピューティング統合開発環境の実行部要素を例証しているブロック図である。 FIG. 3B is a block diagram illustrating the execution element of a quantum computing integrated development environment in accordance with some embodiments of the invention.
図3Cは、本発明に係る幾つかの実施例に従う、量子コンピューティング統合開発環境の出力部要素を例証しているブロック図である。 FIG. 3C is a block diagram illustrating output elements of a quantum computing integrated development environment in accordance with some embodiments of the present invention.
図4は、従来技術に従う、2キュビット量子システムに関連する基本オペレーションの総体を例証する。 FIG. 4 illustrates the overall basic operations associated with a two-qubit quantum system according to the prior art.
図5は、本発明に係る幾つかの実施例に従う、量子コンピューティング環境に対する校正ツールとして用いられる量子コンピューティング統合開発環境のブロック図である。 FIG. 5 is a block diagram of a quantum computing integrated development environment used as a calibration tool for a quantum computing environment in accordance with some embodiments of the present invention.
図6A−6Bは、量子コンピューティング統合開発環境について回路及び機械語の設計モードに対する本発明に係るインターフェースの実施例である。 6A-6B are examples of interfaces in accordance with the present invention for circuit and machine language design modes for a quantum computing integrated development environment.
図7は、量子コンピューティング統合開発環境について回路及び機械語設計モードの別の実施例を説明する。 FIG. 7 illustrates another embodiment of a circuit and machine language design mode for a quantum computing integrated development environment.
図8A−8Cは、量子コンピューティング統合開発環境における量子論理設計モードの実施例の様々な側面を例証する。 8A-8C illustrate various aspects of an example quantum logic design mode in a quantum computing integrated development environment.
図9A及び9Bは、実行モードインターフェースの2つの実施例を説明する。 9A and 9B illustrate two embodiments of an execution mode interface.
図10は、抽象量子ゲートの実施例を説明する。 FIG. 10 illustrates an example of an abstract quantum gate.
類似の参照番号は、図の幾つかの表示にわたる対応する部分について言及している。 Similar reference numbers refer to corresponding parts throughout the several views of the figure.
5.0 本発明の詳細説明
量子論理の任意のシーケンスは、基本オペレーション又は“ゲート”によって詳述され得る。ゲートに関する情報に対しては、上記2.2.3節を参照すればよい。従って、これらのゲートは、初期化命令及び読み出しオペレーションに加えて、量子コンピュータの量子機械語の重要な部分を構成する。2.2.2節で述べたように、量子コンピューティングシステムは、前記システムに対して特有である、基本的な量子オペレーションのシーケンス又は基本オペレータを提供しなければならない。量子計算に適合するために、量子システムは、以下で“X”オペレーションとして指示されるσXオペレーション、以下で“Z”オペレーションとして指示されるσZオペレーション、以下で“Y”オペレーションとして指示されるσYオペレーション、及びエンタングルメントオペレーションを提供するように、又はこれらのオペレーションの一部分を提供するように設計されなければならない。
5.0 Detailed Description of the Invention Any sequence of quantum logic can be detailed by basic operations or “gates”. For information on gates, see section 2.2.3 above. Thus, these gates constitute an important part of the quantum machine's quantum machine language, in addition to initialization instructions and read operations. As described in Section 2.2.2, a quantum computing system must provide a basic sequence of quantum operations or basic operators that are unique to the system. To accommodate quantum computing, the quantum system is indicated as "Y" Operation "X" directed by sigma X operations as operations, sigma Z operations indicated as "Z" operations below below below It must be designed to provide σ Y operations, and entanglement operations, or to provide a portion of these operations.
1つの既知の量子コンピューティングシステムは、核磁気共鳴(NMR)である。NMRは、全ての必要な基本オペレーションを達成し得る。全ての必要な基本オペレーションを達成し得る他のシステムは、フラックスキュビット、電荷キュビット、及びヘリウム電子を含んでいる。量子計算に利用可能な計算スペースは、2Nとして前記システムと協働するキュビットの数と共に増大し、この場合において、Nはシステムのキュビット数である。量子システムに対するアルゴリズムを確立し設計することは、それが2N×2Nの大きさの行列を用いて動作することを伴うので非常に複雑なタスクである。 One known quantum computing system is nuclear magnetic resonance (NMR). NMR can achieve all necessary basic operations. Other systems that can achieve all necessary basic operations include flux qubits, charge qubits, and helium electrons. The computational space available for quantum computation increases with the number of qubits cooperating with the system as 2 N , where N is the number of qubits in the system. Establishing and designing algorithms for quantum systems is a very complex task because it involves working with a 2 N × 2 N sized matrix.
5.1 代表的なシステム
図1は、本発明の一実施例に従って動作するシステム10を例証する。システム10は、少なくとも1つのデジタル(従来の二値の)コンピュータ20を含んでいる。コンピュータ20は、中央処理装置22、プログラムモジュール及びデータ構造を記憶するための(ディスク14のような不揮発性記憶装置と同様な高速ランダムアクセスメモリを含む)メモリ24、ユーザ入力/出力装置26、ディスクコントローラ12、ネットワークインターフェースカード16及びこれらの要素を相互接続する1つ又は複数のバス34を含む標準的なサーバ要素を含んでいる。ユーザ入力/出力装置26は、マウス36、ディスプレイ38、及びキーボード8のような1つ又は複数のユーザ入力/出力要素を含んでいる。
5.1 Exemplary System FIG. 1 illustrates a
メモリ24は、本発明に従って用いられる多くのモジュール及びデータ構造を含んでいる。システム動作中の任意のある時間に、メモリ24に記憶されているモジュール及び/又はデータ構造の一部がランダムアクセスメモリに記憶される一方で、モジュール及び/又はデータ構造の別の部分が不揮発性記憶装置に記憶されていることが認識される。典型的な実施例において、メモリ24は、オペレーティングシステム40を含んでいる。オペレーティングシステム40は、多様な基本システムサービスを取り扱うための処理手順及びハードウェア依存のタスクを実現するための処理手順を含んでいる。
典型的な実装では、システムメモリ24に記憶されているプログラム及びデータは、量子コンピューティング、量子論理を設計する統合開発環境(QC−IDE)モジュール44、量子論理を量子機械語命令にコンパイルすること、量子機械語命令を実行すること、及び出力として実行結果を提供することをさらに含んでいる。QC−IDE44は、量子アルゴリズムを開発するのに用いられ、量子アルゴリズムを最適化し、量子計算を実現する。QC−IDE44は、回路レイアウトインターフェースモジュール620、機械語インターフェースモジュール610、パルス振幅インターフェースモジュール611、初期条件インターフェースモジュール615、制御パネルモジュール630、グローバル設定インターフェースモジュール640、ツールバーメニューモジュール650、及びシステム情報インターフェースモジュール660を含んでいる。これらのモジュールは、図6から8と共にさらに以下で詳細に説明される。QC−IDE44の幾つかの実施例は、多体電子システム、核融合又は核分裂、又はプロテインフォールディングシステム及びその類似のもののような量子システムをモデル化するのに用いられる。特に、QC−IDE44の幾つかの実施例は、プロテイン構造、リン酸、及び高分子と有機化合物の間の相互作用力を決定するのと同様に他の生物学的高分子をモデル化するのに有用である。さらに、メモリ24は、QC−IDEモジュール44を用いて生成される少なくとも1つの時間分解設定のオペレータ48を含んでいる。時間分解設定のオペレータ48は、コンパイラモジュール50によってコンパイルされて機械語命令52を形成し、その後、実行モジュール54によって実行され、出力モジュール56によって装置に出力される。
In a typical implementation, programs and data stored in the
さらに、システム10は、量子レジスタ72を含む量子コンピューティングシステム70を含んでいる。量子レジスタは、順番に複数のキュビット74を含む。量子レジスタの各々のキュビットにおいて基本的なオペレーションを実行するための制御システム及びオペレーションを統合するための制御プロセッサが必要とされる。システム10において、前記統合機能は、コンピュータ20のドライバハードウェア58として提供される。
Further, the
例証されるシステム10には量子コンピューティングシステム70が1つだけ例証されているが、実際には、システム10は任意数の量子コンピューティングシステム10を有する。さらに、システム10における各量子コンピューティングシステム70は、同じタイプのキュビットやアーキテクチャを有することを必要としない。例えば、システム10における量子コンピューティングシステム70の中には、フラックスキュビット74を含む1つ又は複数の量子レジスタ72を含んでいるものもあれば、システム10における量子コンピューティングシステム70の中には、電荷キュビット72を含む1つ又は複数の量子レジスタ72を含んでいるものもある。さらに、システム10における幾つかの量子コンピューティングシステム70は、ハイブリッドレジスタであって、例えばフラックスキュビット及び電荷キュビットの両方を含んでいる1つ又は複数の量子レジスタ72を含んでいる。ドライバハードウェア58は、以下でさらに詳細に述べるように、システム10で用いられる量子コンピューティングシステム70の各々の特性を追跡するのに用いられる。
Although only one
5.2 処理フロー
図2は、本発明の実施例のフロー図である。量子論理設計は、QC−IDE44を用いる設計段階202において導出される。この結果は、以下にさらに詳細に述べられているオペレータ48の時間分解設定を行う。コンパイル段階204において、設計段階202で導出された量子論理(時間分解設定のオペレータ48)は、コンパイラモジュール50によって量子機械語命令52のシーケンスにコンパイルされる。命令52は、従来の(例えばデジタルのコンピュータ20)コンピュータによって実行され得る従来の機械語命令を含んでいるが、典型的には、量子コンピューティングシステム70(図1)において実行可能な少なくとも1つの量子機械語命令を含んでいる。実行段階206において、命令52は、量子コンピューティングシステム70及び/又はコンピューティングシステム20において実行される。最終的に、出力段階208において、計算結果が出力モジュール56による出力として提供される。
5.2 Processing Flow FIG. 2 is a flowchart of the embodiment of the present invention. The quantum logic design is derived at the
設計段階202で導出される量子コンピューティング論理は、量子状態で動作する一連のユニタリ変換として定義され得る。量子コンピューティング論理の基本オペレーションは、量子コンピュータが実行し得る量子ユニタリ変換の組を含んでいる。一般には、基本オペレーションは、X、Y、Z及びエンタングルメントオペレーションから成る。幾つかの実施例において、グランド(ground)又は読み出しオペレーションが含まれる。
The quantum computing logic derived at the
幾つかの実施例において、設計段階202で量子論理を設計する方法は、時間分解されたシーケンスの基本オペレータ48を作成することを含んでおり、量子システム70の初期状態に提供される場合に、その組み合わせは、量子システム70の初期状態を幾つかの最終状態に進化させる。幾つかの実施例において、量子論理を設計する方法は、図2に例証される出力結果208を得ることを含んでおり、必要に応じて基本オペレータ48のシーケンスを調整し、所望の量子論理が実行されるまで図2に例証される処理を繰り返す。
In some embodiments, the method of designing quantum logic at
本発明の幾つかの実施例に従って、量子論理202を設計することは、ドライバハードウェア58の特性を制御することを含んでいる。ドライバハードウェア58は、量子レジスタにおいてキュビットの各々の基本オペレーションを実装するための制御システムである。ドライバハードウェア58は、時間分解設定のオペレーション48において各オペレーションの分解能又は最小期間を定義する時間単位設定を含んでいる。さらに、オペレータ48の時間分解設定におけるパルスの鋭さは、ドライバハードウェア58の特性に従って校正され得る。最適なドライバ設定は、最終的には、量子コンピューティングシステム70の物理的特性次第である。例えば、特許文献1は、その全体が参照によって取り込まれている、ギガヘルツのオーダーの周波数及びナノアンペアのオーダーの振幅を有する最新パルスを描写する。前記ドライバ設定58は、位相又はフラックスキュビットに有用であり得るが、他の物理システムが異なるドライバ設定を要求する。
In accordance with some embodiments of the present invention, designing
本発明の幾つかの実施例において、ターゲットとなる量子コンピューティングシステム70は、量子論理48が設計される前に選択され得る。ターゲットとなる量子コンピューティングシステム70が選択される場合、ドライバハードウェア58の詳細は、前記プラットフォームの必要性に応じて変化する。しかしながら、任意ポイントで、前記プラットフォーム70に対するドライバ詳細58は、設計された量子コンピューティングプラットフォーム70で実行されるアルゴリズムの設計を支援するために変更され得る。
In some embodiments of the present invention, the target
本発明の幾つかの実施例において、量子論理を設計することは、QC−IDEモジュール44を用いて、必要とされるキュビット74の数及びそれら(基本オペレータ)の間の可能な接続を定義することを含んでいる。前記基本オペレータを定義することは、(i)所望のオペレータシーケンスを選択すること、(ii)適切なドライバ条件を設定すること、(iii)量子レジスタ72におけるキュビット74の各々の初期状態を設定すること、(iv)オペレーションのシーケンスを量子機械語命令52にコンパイルすること、(v)量子コンピューティングシステム70において量子機械語命令52を実行すること、及び(vi)出力モジュール56を用いてオペレーションの実行されたシーケンスの結果を評価すること、を必要とする。計算後の出力が所望の出力を満たさない場合、処理は、所望の結果が得られるまでQC−IDEモジュール44を用いてパルスシーケンス48を反復的に再設計することによって繰り返される。
In some embodiments of the present invention, designing quantum logic uses the QC-
本発明の幾つかの実施例において、量子論理48は、1つ又は複数の抽象量子ゲート1000(図10)を含んでいる。各抽象量子ゲート1000は、基本オペレーション(ゲート)1002のシーケンス及びドライバ特性1004を含んでいる。抽象量子ゲート1000は、ハイレベル量子論理48を設計するのに用いられ得る。基本オペレーション(ゲート)のシーケンスのように、各抽象量子ゲート1000は、他の抽象量子ゲート1000と組み合わされ、抽象量子ゲートのシーケンスを形成し、それによって、ハイレベル量子論理48を達成する。言い換えれば、抽象量子ゲート1000における各オペレーション1002は、基本オペレーション(ゲート)又は抽象量子ゲートであり得る。
In some embodiments of the present invention,
本発明の幾つかの実施例は、抽象量子ゲート1000を作成すること、及び抽象量子ゲート1000のシーケンスを含むハイレベル量子論理48を設計することを含んでいる。抽象量子ゲート1000は、単一のキュビット74又は複数のキュビット74において動作し得る。幾つかの実施例において、抽象量子ゲート1000は、抽象量子ゲート1000のシーケンスを含んでいる。これは、特に、多くのキュビット74を伴う複雑な量子論理48を設計するのに有利である。
Some embodiments of the invention include creating an
本発明の幾つかの実施例において、抽象量子ゲート1000は、基本オペレータ(例えば、上記2.2.3節で述べたパウリ行列)の所望のシーケンスを確立すること、及び抽象量子ゲート1000としてシーケンスをエクスポートすることによって設計される。基本オペレータ(ゲート)のシーケンスを確立することは、QC−IDEモジュール44を用いて成し遂げられ得る。一度、基本オペレータ(ゲート)1002のシーケンスが設計されれば、前記シーケンスは、単一の量子ゲート1000として定義され得る。本発明の幾つかの実施例において、抽象量子ゲート1000は、その後、ハイレベル量子論理設計ツールと共に用いられ得る。
In some embodiments of the present invention, the
本発明の幾つかの実施例において、メモリ24は、(示されていない)抽象オペレータ1002の1つ又は複数のライブラリを含んでいる。前記ライブラリにおける抽象オペレータ1000は、設計段階202中にオペレータ48の時間分解設定に組み込まれる。抽象オペレータの各ライブラリは、特定のターゲットの量子コンピューティングシステム70に対応している。この方法で、抽象オペレータのライブラリは、所定の量子コンピューティングシステム70の特性を定義するのに用いられ得る。結果として、システム10における量子コンピューティングシステム70は、別の量子コンピューティングシステムを正確にシミュレートすることができる。
In some embodiments of the present invention, the
5.2 条件ステップの量子論理への導入
本発明の1つの側面は、一組の条件動作を含む量子論理48(図1)を提供する。これらの条件は、単一のキュビット74又は複数のキュビット74の先の読み出しオペレーションの結果に基づいている。キュビット74の読み出しは、キュビットの状態を縮小させることを伴い、キュビットが従来の“1”又は“0”を返し、その後、(0又は1)の値を測定する。本発明のこの側面は、量子アルゴリズムが単一キュビット74又は複数のキュビット74の読み出しに基づく条件動作をしばしば必要とするので、有利である。例えば、Shor氏の特許文献2を参照すると、これによって、その全体が参照によって取り込まれている。エラーデコーディングオペレーションは、典型的には、可能なエラーを情報から取り除くために、一定の補助的キュビット74の状態を読み出すこと、及びそれらの測定に基づいて他のキュビットにおいてオペレーションを実行することを伴う。さらに、読み出し及び後続の条件動作は、典型的には、量子テレポーテーションに用いられる。特許文献2において、論理的な量子状態をデコードすることは、2つのキュビットを測定し、その後、最初の2つのキュビットの読み出しの結果に基づいたターゲットキュビットにおいてNOT量子オペレーションを実行することを必要とする。
5.2 Introducing Conditional Steps into Quantum Logic One aspect of the present invention provides quantum logic 48 (FIG. 1) that includes a set of conditional actions. These conditions are based on the results of previous read operations of a
本発明のこの側面に従う一実施例において、量子オペレーションは、先の読み出しオペレーション(又は読み出しオペレーションの組)の結果に基づいて実行される。この制御論理は、論理オペレータ48の時間分解設定に記憶される。幾つかの実施例において、読み出しオペレーションは、複数のキュビット74において実現され、読み出しオペレーションの結果に基づいた条件量子論理が設計される。この条件論理は、量子状態を維持するキュビット74に(すなわち、読み出しオペレーションをうけていないキュビットに)適用される。読み出しに基づいて実行され得る一組の量子オペレーションは、一組の基本オペレータ及び/又は一組の抽象オペレータ1000を含んでおり、それぞれの量子コンピューティングシステム70に利用できる。
In one embodiment according to this aspect of the invention, the quantum operation is performed based on the result of a previous read operation (or set of read operations). This control logic is stored in the time resolution setting of the
任意の基本オペレータ又は定義された基本オペレータの組は、QC−IDE44モジュールに利用可能であり、条件論理の基本として用いられ得る。例証するために、典型的な量子論理設計48は、3つのキュビット74を用いる。3つのキュビット74の組の幾つかの進化が生じた後、第2及び第3のキュビットが読み出される。その後、一組のオペレータは、以下の擬似コードによって例証されるような読み出しオペレーションの結果を条件として適用される。
Any basic operator or set of defined basic operators is available for the QC-IDE44 module and can be used as the basis for conditional logic. To illustrate, a typical
if((readout of qubit2)and(readout of qubit3)are in bit state1)
then apply a quantum operation to qubit[1]
else
continue without applying any conditional quantum operations
if ((readout of qubit2) and (readout of qubit3) are in bit state1)
then apply a quantum operation to qubit [1]
else
continue without applying any quantum operations
本発明の幾つかの実施例において、一組の条件動作は、量子コンピューティングシステム70のキュビット74における一組の読み出しオペレーションに基づいて定義され得る。
In some embodiments of the present invention, a set of conditional actions may be defined based on a set of read operations at
5.3 時間分解設定のオペレータのコンパイル
一組の抽象オペレータ48の形態で表される量子論理を、一組の量子機械語命令52(図1)に変換するために、抽象オペレーション1002は、最初に等価な一組の基本オペレータにコンパイルされなければならない。量子論理をコンパイルすることは、一組の抽象オペレーション1002を一組の基本オペレーションに変換すること、及び一組の量子機械語命令52を作成するためにドライバ設定を基本オペレーションに組み込むことを含んでいる。
5.3 Compiling Operators for Time-Resolved Settings To convert the quantum logic expressed in the form of a set of
抽象オペレータ1000を一組の基本オペレーションに変換することは、基本オペレーションのシーケンスを最適化することを含んでいる。量子コンピューティングシステム70におけるデコヒーレンスプロセスが、決定的に重要な計算を実行するのに必要とされる時間を示すとき、基本オペレーションの組の最適化は、量子論理の実行のためには重要になる。特許文献4は、これによって、その全体が参照によって取り込まれ、一組の基本オペレータの最適化(低減)に対するルールを描写する。本発明の幾つかの実施例において、これらのルールは、基本オペレータの交換、無意味な時間単位の除去、及び冗長パルスシーケンスの除去又は単純化されたパルスシーケンスによる前記パルスシーケンスの交換を含んでいる。
Converting the
基本オペレータの交換により、互いに干渉しない量子ゲートは、それらの順序を結局はオーバーラップさせるか又は変化させることができる。例えば、キュビット74−1においてXオペレーションは、キュビット74−2においてXオペレーションと干渉せず、時間分解シーケンスX(1)X(2)は、X(2)X(1)と同様である。量子コンピューティングシステム70の選択は、どの基本オペレータを交換するかを決定するので、交換オペレーションは、量子コンピューティングシステム70次第である。例えば、2つのキュビット74の間の結合オペレーションの効果は、結合の性質に依存し、結合順序は、用いられる量子コンピューティングシステム70に依存する。
By exchanging basic operators, quantum gates that do not interfere with each other can eventually overlap or change their order. For example, the X operation in qubit 74-1 does not interfere with the X operation in qubit 74-2, and the time-resolved sequence X (1) X (2) is similar to X (2) X (1). Since the choice of
一度、所望の論理48が開発されれば、それは、前記量子コンピューティングシステム70に対する抽象量子オペレータとして定義され得る。一組の抽象量子オペレータは、例えば量子フーリエ変換(QFT)のようなハイレベル量子論理を実現するのに用いられ得る。例えば、Blais氏の特許文献4を参照すると、これによって、その全体が参照によって取り込まれている。このハイレベルな量子アルゴリズム開発は、前記複雑な量子アルゴリズムを確立するのに有用な抽象レベルを提供する。さらに、可能性のあるエラーに対する量子コンピューティングシステムの感度に基づいて、個々のキュビット状態は、論理的キュビットとしてエンコードされ、その中で、複数の物理的キュビットは単一のキュビット状態をエンコードするのに用いられ、前記状態は、計算中のエラーから保護される。前記アルゴリズムは、従来のエラー定性アルゴリズムに類似した側面を含んでおり、例えば、Shor氏の特許文献2を参照すると、これによって、その全体が参照によって取り込まれている。
Once the desired
ハイレベル量子論理48が設計に用いられる場合であって、一組の抽象オペレータが直接的に一組の量子機械語命令52に変換される場合には、幾つかの非効率な結果を生じる。例えば、特許文献4において、制御NOT(CN)ゲートは、以下の後続の基本オペレーションとして定義される。
If high-
この場合において、r及びsは、2つのキュビット74であり、Z及びXは、2.2.3節で定義したものである。このパルスシーケンスは、多数の固体量子コンピューティングシステムにおいて利用できる基本量子ゲートからなる。ここで、CPrsゲートは、ZTZSオペレーション効果を有する2つのキュビット間のエンタングルメントオペレーションである。SWAP12量子ゲートは、
In this case, r and s are two
SWAP12=CN12CN21CN12 SWAP 12 = CN 12 CN 21 CN 12
のように定義され、2つのキュビット間のCNrsオペレーションを抽象オペレータとして定義することによって、SWAPrsオペレータは、CNrs抽象量子オペレータのシーケンスを用いて抽象量子オペレータとしてさらに定義され得る。SWAP抽象オペレータに対して前述したシーケンスの基本オペレータへの直接的変換は、結果として、ある程度の冗長性を生じる。オペレータの交換のような最適化ルールを用いると、本発明の幾つかの実施例に応じて一定の単純化が自動化され得る。例えば、上記で説明したCNrsは、以下のように再度整理され得る。 By defining a CN rs operation between two qubits as an abstract operator, the SWAP rs operator can be further defined as an abstract quantum operator using a sequence of CN rs abstract quantum operators. The direct conversion of the sequence described above to the SWAP abstract operator to the basic operator results in some redundancy. With optimization rules such as operator exchange, certain simplifications can be automated depending on some embodiments of the present invention. For example, the CN rs described above can be reordered as follows:
この場合において、角括弧は同時に実現され得るオペレータを並置し、これによって全体の必要とされる時間を低減し、CNrsオペレーションを実行する。同様の低減は、SWAP拡張と関連する基本オペレータから生じる。 In this case, the square brackets juxtapose operators that can be implemented simultaneously, thereby reducing the overall required time and performing the CN rs operation. Similar reduction results from the basic operator associated with the SWAP extension.
本発明の幾つかの実施例において、量子論理は、量子コンピューティングシステム70の基本オペレータを直接用いて設計され得る。この場合に、QC−IDEモジュール44は、基本オペレータの組を最適化するのに用いられ、コンパイルは、量子コンピューティングシステム70で実行されるようにドライバ詳細を基本オペレータの組と結合することを含んでいる。
In some embodiments of the present invention, quantum logic can be designed directly using the basic operators of
コンパイルプロセスで利用される量子機械語52は、ターゲットの量子コンピューティングシステム70次第で変化し得る。異なる量子コンピューティングシステム70は、基本オペレータの異なる組を有し得る。量子コンピューティングシステムは、全集合を形成するのに十分なオペレータを有する。本発明の幾つかの実施例は、所定の量子コンピューティングシステム70に対して特有である量子機械語52によって量子論理をコンパイルし得る。
The
5.4 量子機械語命令
一度、量子論値48及びドライバ58の詳細がコンパイルされると、実行され得る一組の量子機械語命令52が現れる。機械語命令52の性質は、それらの命令を実行するためのメカニズム次第である。例えば、命令セットを実行するためのメカニズムは、特定の量子コンピューティングシステム70、又はデジタルコンピュータ20のメモリ24に固有の前記システムのシミュレーションであり得る。従って、利用可能な基本オペレータの組は、各量子コンピューティングシステムに対して様々である。
5.4 Quantum Machine Language Instructions Once the
量子機械語命令セット52は、この中で描写されるそれらの量子コンピューティングシステム70で実行され得る。量子コンピューティングシステム70は、任意の量子力学的システムを含んでおり、一組の基本状態が量子力学的原理に従って計算するのに用いられ得る。量子コンピューティングに有用な量子システムは、システムの情報ユニット又はキュビット74を介して少なくともある程度の制御を提供しなければならない。例えば、各量子コンピューティングシステム70は、キュビット74の状態を初期化し、キュビット74の一連のユニタリ展開を実現し、キュビット74の状態において読み出しオペレーションを実現できなければならない。このような量子コンピューティングシステムは、“量子レジスタ72”と称され、量子コンピューティングに必要とされるオペレーションが複数のキュビット74に適用される。量子レジスタ構造72は、例えば、特許文献1に描写されており、これによって、その全体が参照によって取り込まれている。
Quantum machine
5.5 量子論理設計プロセス
図3A、3B及び3Cは、本発明の様々な実施例に従う量子論理設計プロセスを例証する。図3Aは、QC−IDEモジュール44の幾つかの実施例で見受けられるオペレーションシーケンス設計ツールを例証する。これらのツールは、ドライバ詳細を特定し、量子コンピューティングシステム70の初期条件を特定し、命令セット48を命令セット52にコンパイルするためのツールを含んでいる(図1)。本発明の幾つかの実施例において、量子コンピューティングシステム70におけるキュビット74の初期条件は、デフォルトで|0>状態に設定される。
5.5 Quantum Logic Design Process FIGS. 3A, 3B and 3C illustrate a quantum logic design process in accordance with various embodiments of the invention. FIG. 3A illustrates an operation sequence design tool found in some embodiments of the QC-
量子機械語命令52の組は、どのオペレーションが時間分解手法で量子レジスタ72において実現されることになるかを命令する。一度、コンパイルされると、量子機械語命令52は、制御システム(実行モジュール54)及びドライバ(ドライバハードウェア58)によって実行され、図3Bに示されるような量子レジスタ72によって提供される制御状況を利用する。特に、図3Bは、命令セット52がシミュレーションモジュール60を用いてデジタルコンピュータ20でシミュレートされ得ることを示す。択一的に、命令セット52は、量子コンピュータ70で実行され得る。幾つかの実施例において、シミュレーションモジュール60は、通常の微分方程式解答プログラムである。シミュレーションモジュール60が利用される場合、量子コンピューティングシステムの状態の重ね合わせは、初期条件からの入力に基づいて準備される。量子コンピュータ70において利用可能な初期化オペレーションは、|0>又は|1>状態のどちらかにキュビットを初期化できるのみであるので、状態の重ね合わせに対する初期化は、物理的に非現実的である。しかしながら、シミュレーション目的では、それは、初期化プロセスを回避し、量子コンピューティングシステムを直接所望の状態に初期化するのには、時には有用である。
The set of quantum
図3Cは、量子機械語命令52の実行結果がどのように出力として提供されるかを例証する。出力の利用形態は、従来の値によって0又は1のようなレジスタ72の最終状態を含んでいる。さらに、量子機械語命令52がシミュレーションモジュール60を用いてシミュレートされる実例において、量子レジスタ72の量子状態の進化は、状態の重ね合わせの正規化された大きさを比較する構想で監視され得る。推測シミュレーションが量子コンピュータ70における実際の計算よりも大きなデータを提供することは、量子コンピュータ70における読み出しオペレーションが、キュビット74の状態を従来の“0”又は“1”の値に縮小させることである。物理的読み出しがシミュレーションモジュール60によって必要とされないので、シミュレートされるキュビットの量子状態を縮小させることは必要とせず、前記キュビットを表す行列が出力され得る。
FIG. 3C illustrates how the execution result of the quantum
本発明の幾つかの実施例において、量子コンピューティングシステム70は、|0>又は|1>のどちらかの従来の状態に初期化できるのみである。その後、システム70は、基本状態の重ね合わせに進化する。この場合において、一組の抽象オペレータは、量子論理を提供するのに用いられ、実際には所望の量子計算を実現するより先に、量子コンピューティングシステム70を計算に有用な状態の重ね合わせに進化させる。
In some embodiments of the present invention,
5.6 従来コンピュータ上での量子システムのシミュレート
上述のように、本発明の幾つかの実施例において、従来のコンピュータ20は、設計し、コンパイルし、実行し、量子コンピューティング統合開発環境に対する出力を提供するのに用いられ得る。従って、本発明の幾つかの実施例において、量子コンピューティングシステムは、従来のコンピュータ20を用いてシミュレートされる。
5.6 Simulating a Quantum System on a Conventional Computer As noted above, in some embodiments of the present invention, a
量子コンピューティングシステムがシミュレートされる本発明の実施例は、N個の2レベルシステム(キュビット)によって発生させられるヒルベルト空間における時間依存のシュレディンガー方程式(TDSE)を含んでいる。ヒルベルト空間は、1つ又は複数のキュビットの可能性のある全ての値を表す。あるNキュビットシステムのハミルトニアンは、以下のように表され得る。 The embodiment of the present invention in which a quantum computing system is simulated includes a time-dependent Schrodinger equation (TDSE) in Hilbert space generated by N two-level systems (qubits). Hilbert space represents all possible values of one or more qubits. The Hamiltonian of an N qubit system can be expressed as:
この場合において、最初の3項は、それぞれドライバ詳細Δ及びεを用いて結合されるパウリ行列X、Y、及びZであり、最後の項は、キュビットkとmの間で結合する制御位相タイプである。エンタングルメントオペレーションの効果は、本発明の特定の実施例に依存する。ヒルベルト空間における状態は、“キュビット1”が通常右端の数であり、“キュビットN”が通常左端である状態で、規則的な二進形式でラベル付けされる。
In this case, the first three terms are Pauli matrices X, Y, and Z combined using driver details Δ and ε, respectively, and the last term is a control phase type that combines between qubits k and m. It is. The effect of entanglement operations depends on the particular embodiment of the invention. States in Hilbert space are labeled in a regular binary format with “
本発明の幾つかの実施例において、機械語命令セット52を実行することは、量子コンピューティングシステム70をシミュレートすることを含んでいる。前記シミュレート環境の量子レジスタは、利用可能な組の基本オペレータをアプリケーションに従って進化させる。上述のように、シミュレートされた量子レジスタの進化は、時間依存のシュレディンガー方程式を解くことによって描写され得る。システムのハミルトニアンは、エラー又は損失の潜在源と同様な基本オペレータのシーケンスを含む量子システムの全ての時間分解動作を含んでおり、2N×2N行列によって表され、この場合において、Nはシステムのキュビットの数を表している。基本オペレータの各々は、2N×2Nユニタリ行列によって描写され、その各々は量子レジスタ状態の特定の進化と相関関係がある。
In some embodiments of the present invention, executing the machine
本発明の幾つかの実施例において、量子システムのシミュレーションは、解かれることになるシステムのハミルトニアンを表す2N×2N時間依存行列を準備することを含んでおり、この場合において、Nはシステムにおけるキュビットの数を表し、準備された時間依存ハミルトニアンを用いてシュレディンガー方程式を数値的に解く。ハミルトニアン情報を記憶するのに有用なデータ構造は、“スパース行列”データ型であり、ハミルトニアンの全ての要素は、行及び列の行列入力値によって鍵をかけられてハッシュテーブルに記憶され、行列の各々の要素は、適用されている基本オペレータを表す時間依存の複素数を記憶する。基本オペレータの幾つかは、対角に沿ってのみ入力を備えた行列を有する。これらの基本オペレータに有用なデータ構造は、“対角行列”データ型であり、この場合において、データ型の必要性は、対角に沿った成分の数である、2N状態に関する情報を維持するのみである。成分は、行列の対角に沿って線形に配置されるようになることが知られているので、スパース行列データ構造は、効果的に縮小する。従って、ハミルトニアンは、システムに適用されている各々の基本オペレータに対して各々の行列を加算することによって発生させられ得る。本発明の幾つかの実施例において、デコヒーレンスの潜在源が考慮され、さらにハミルトニアンに取り込まれ得る。 In some embodiments of the present invention, the simulation of the quantum system includes providing a 2 N × 2 N time-dependent matrix that represents the Hamiltonian of the system to be solved, where N is the system Represents the number of qubits in, and numerically solves the Schrödinger equation using a prepared time-dependent Hamiltonian. A useful data structure for storing Hamiltonian information is the "sparse matrix" data type, where all elements of the Hamiltonian are keyed by row and column matrix input values and stored in a hash table, Each element stores a time-dependent complex number that represents the basic operator being applied. Some of the basic operators have a matrix with inputs only along the diagonal. A useful data structure for these basic operators is the “diagonal matrix” data type, in which case the need for the data type maintains information about the 2 N state, which is the number of components along the diagonal Just do it. Since the components are known to become linearly arranged along the diagonal of the matrix, the sparse matrix data structure is effectively reduced. Thus, a Hamiltonian can be generated by adding each matrix to each basic operator applied to the system. In some embodiments of the present invention, potential sources of decoherence are considered and can be further incorporated into the Hamiltonian.
5.7 量子システムの校正
本発明の幾つかの実施例は、量子コンピューティングシステム70を校正するように用いられ得る。前記実施例は、(i)量子レジスタ72の初期化、(ii)基本状態の幾つかの重ね合わせに対するレジスタ72の進化、(iii)量子レジスタ72の状態の進化、(iv)進化の結果の読み出し、に対する機能性を含んでいる。この機能性は、量子レジスタ72における単一キュビット74を校正するのに有用である。前記校正において、キュビット74は、初期化され、続いて量子コンピューティングシステム70における固有のデコヒーレンスプロセスに関して情報を集めるために読み出される。さらに、初期化の後、基本オペレータのシーケンスは、読み出しオペレーションが適用される前にキュビットに適用され得る。繰り返される測定プロセスを介して、量子コンピューティングシステム70における前記特定のキュビット74の統計的分析は、所定の量子コンピューティングシステム70の単一キュビット74に適用可能な各々の基本オペレーションに関連するように取り入れられ得る。処理手順は、複数のキュビット74の校正に拡張され得る。さらに、キュビット間の相互作用オペレータは、本発明のシステム及び方法を用いて同様に校正され得る。
5.7 Calibration of the Quantum System Some embodiments of the present invention may be used to calibrate the
図5は、量子コンピューティング環境に対する校正ツールとしてQC−IDEのアプリケーションを例証する。状態550は、校正のための量子レジスタの初期状態を表す。この状態は、校正に関係するキュビットの数に依存する。状態550は、制御システムによって準備されるようなレジスタの初期状態を表す。典型的には、レジスタは、幾つかの重ね合わせの状態よりもむしろ幾つかの単一の従来の状態で始まり得る。量子コンピューティングシステムの初期状態550の進化は、その後、オペレーション555で成し遂げられ、この場合において、基本オペレータの幾つかのシーケンスは、量子コンピューティングシステムの状態を進化させるのに用いられる。一度、基本オペレータのシーケンスが適用されると、読み出しオペレーション560は、量子コンピューティングシステムで実現され得る。従って、レジスタからの出力は、入力状態及び適用された基本オペレータのシーケンスと相関関係があり、量子システムについての情報を決定する。
FIG. 5 illustrates the application of QC-IDE as a calibration tool for a quantum computing environment.
5.8 QC−IDEのインターフェースモード
図6から8は、本発明の一実施例に従ってQC−IDE44のインターフェースモードの様々な側面を例証する。図6Aは、回路レイアウトインターフェースモジュール620、機械語インターフェース610、パルス振幅インターフェース611、初期条件インターフェース615、制御パネル630、グローバル設定インターフェース640、ツールバーメニュー650、及びシステム情報インターフェース660を例証する。
5.8 Interface Mode of QC-IDE FIGS. 6 to 8 illustrate various aspects of the interface mode of QC-
図6Aは、2キュビット量子CNOTオペレーションを実行する量子プログラムの例を説明する。量子CNOTオペレーションは、2つのキュビット(620−1及び620−2)を含んでいる。2つのキュビットのうち一方は、制御として動作し、他方はターゲットとして動作する。CNOTオペレーションは、それぞれのキュビットの間に結合機構620−1、2を必要とする(図6A)。回路レイアウトインターフェースモジュール620で例証される回路は、一般の量子コンピューティング方式を表しており、任意の量子コンピューティングシステム70の物理特性を反映するように設計され得る。
FIG. 6A illustrates an example of a quantum program that performs a 2-qubit quantum CNOT operation. The quantum CNOT operation includes two qubits (620-1 and 620-2). One of the two qubits operates as a control and the other operates as a target. The CNOT operation requires a coupling mechanism 620-1, 2 between each qubit (FIG. 6A). The circuit illustrated in the circuit
図6Aにおける機械語インターフェース610は、量子CNOTオペレーションを実行するためのパルスシーケンスの例を説明する。インターフェース610におけるチャート613の横軸は、時間単位を表し、横軸の各番号は、連続する期間(継続時間)を表している。チャート613の各列は、キュビットゲートを表し、設計されるキュビットに適用される。例えば、チャート613の列613−1は、“Q1σX”を示している。これは、チャート613の列613−1でパルスが出現する各期間においてσXがキュビット74−1に適用されることを意味する。パルスは、所定の期間に所定の列で立ち上がった垂線によって表される。例えば、チャート613の列614の期間2にパルスが存在する。これは、σXが期間2の間にキュビット74−2に適用されるようになることを意味する。図6Aの例において、CNOTオペレーションは、以下のように表される。
The
CNOT1,2=ei3π/4X2(π/2)C1,2(π/2)Z2(π/2)X2(π/2)Z2(π/2)Z1(π/2)C1,2(π/2) CNOT 1,2 = e i3π / 4 X 2 (π / 2) C 1,2 (π / 2) Z 2 (π / 2) X 2 (π / 2) Z 2 (π / 2) Z 1 (π / 2) C 1,2 (π / 2)
この場合において、Xr(θ)は、位相θに対してキュビットrに適用される単一キュビットビットフリップオペレーションを表し、Zrは位相θに対してキュビットrに適用される単一キュビット位相オペレーションを表し、Cr、s(θ)は2キュビット制御位相オペレーションを表し、位相θを介して再度キュビットr及びsの状態をもつれさせ、ei3π/4はグローバル位相を表す。 In this case, X r (θ) represents a single qubit flip operation applied to qubit r with respect to phase θ, and Z r is a single qubit phase operation applied to qubit r with respect to phase θ. Where C r, s (θ) represents a two-qubit controlled phase operation, entangles the states of qubits r and s again via phase θ, and e i3π / 4 represents the global phase.
ここで、量子CNOTオペレーションの実装及び最適化は、上記で詳細に描写されている。チャート613における列は、上からXr(θ)、Yr(θ)、Zr(θ)、グランド又は読み出しオペレーション、及びキュビット1及び2のそれぞれに対するCr、s(θ)オペレーションを表している。列に生じたバーは、それぞれのゲートが前記時間単位中に変化していることを示し、それぞれのキュビットにおける前記オペレーションのパルスを表している。パルスの大きさは、パルス振幅インターフェース611で定義され得る。
Here, the implementation and optimization of quantum CNOT operations are described in detail above. The columns in
機械語インターフェース610は、量子機械語を表し、量子コンピュータ70で実行される。一度、それはコンパイルされると、それはプログラムを実行するのに重要となる全ての関連する情報を含む。図6Aにおいて、ハードウェア設定及びパルス詳細は、機械語インターフェース610におけるドライバパネル699の“設定及び振幅”ボタン698にアクセスすることによって定義され得る。
The
“設定及び振幅”ボタン698は、グローバル設定インターフェース640及びパルス振幅インターフェース611をそれぞれ開く。グローバル設定インターフェース640により、ユーザは、適用されるパルスの峻度を制御することができる。また、ユーザは、時間単位を動作させるように定義できる。前記時間単位は、1.0ナノ秒(ns)として図6Aに例証される。パルス振幅インターフェース611により、ユーザは、適用されるパルスの下でデフォルト領域を設定することができ、それぞれの量子ゲートに対する自由度を許容する。
The “Settings and Amplitude” button 698 opens the
初期条件インターフェース615は、各々のキュビット74それぞれの複素数の状態を設定することによって、ユーザに量子システム70に対する所望の初期状態を準備することを許容する。キュビット74の状態は、|Qr>=α|0>+β|1>として定義され、この場合において、α及びβは、形態a+biを有する複素数であり、a及びbは実数である。図6Aを参照すると、キュビットQ1に対する初期条件は、以下のように定義される。
The
Q1:[(0.49337)+i(0.52027)]|0>+[(0.34163)+i(0.6076)]|1> Q1: [(0.49337) + i (0.52027)] | 0> + [(0.34163) + i (0.6076)] | 1>
初期条件インターフェース615は、任意の数をキュビット状態に割り当てるためのランダムボタンを含んでいる。この機能は、それぞれのオペレーションの論理を理解するために状態の重ね合わせで量子レジスタ72の初期状態を準備する際に有用である。
The
ツールバー650により、ユーザは、QC−IDEモジュール44に特有なツールと同様に“新規”、“開く”、“保存”、及び“ヘルプ”のようなソフトウェアに共通する標準機能にアクセスでき、“カーソル”、“追加キュビット”、及び“追加接続”のような回路レイアウトインターフェースモジュール620に有用である。
The
コントロールパネル630は、図6Aに例証されるそれぞれのインターフェースを開閉するインターフェースの実施例である。本発明の実施例において、制御パネル630は、可視のワークスペースを広げるように大きさが縮小される閉鎖状態と、特徴及び制御において提供しアクセス可能である開放状態と、を有する。図7は、制御パネル630に対する開いた状態を例証する。
システム情報インターフェース660A(図6A)は、適用されている回路及び論理についての情報を含んでいる。インターフェース660Aは、ワーキング文書のタイトル、System=Genericとして例証されるシステムタイプ、及びCouplings=Controlled Phaseとして例証される結合形態を含んでいる。システム情報インターフェース660Aにより、ユーザは、所望の量子コンピューティングプラットフォーム70のパラメータを定義できる。例えば、幾つかの場合において、量子CNOTオペレーションは、Couplings=CNOTのような結合オペレーションに選択され得る。
図6Bは、システム設計インターフェース660Bの実施例を説明する。システム設計インターフェースは、ユーザに、システムの有用な側面を定義することを許容し、さらに、図6Aからのグローバル設定インターフェース640及びシステム情報インターフェース660Aに関連している。
FIG. 6B illustrates an embodiment of the
図7は、QC−IDEモジュール44の論理設計インターフェースを利用した量子ゲートの作成例を説明する。図6Aに例証されるように、回路レイアウトインターフェースモジュール620及び機械語インターフェース610は、量子コンピュータ70において一組の論理48を実行するパルスの基本シーケンスを定義するために用いられる。図7における機械語インターフェース610のチャート630は、量子CNOTオペレーションを例証する。図7は、エクスポートライブラリ要素インターフェース670の例を説明するが、これは論理設計インターフェース(実施例は図8Aに説明される)での利用のために単一量子論理ゲートのような機械語シーケンスを定義してエクスポートするのに用いられる。エクスポートライブラリ要素インターフェース670は、ファイル名のためのテキスト領域671、ライブラリ要素に利用しようとするアイコンの表示672、利用しようとする所望のアイコンを選択するボタン673、ライブラリ要素のタイトルのためのテキスト領域674、ライブラリ要素を描写するテキスト領域675、及びライブラリ要素のためのシステム情報を描写する幾つかのテキスト676、を含んでいる。ライブラリ要素タイトルは、描写、及びアイコンは、論理設計インターフェースにおいて情報を搬送するのに用いられ得る。
FIG. 7 illustrates an example of creating a quantum gate using the logic design interface of the QC-
さらに、図7は、制御パネル630の開放モードの例を説明する。図7に例証される制御パネル630の例は、機械語インターフェース610を表示するOSボタン、図6の初期条件インターフェース615を表示する条件ボタン、及びコンパイルし、実行し、それぞれの機械語の結果を表示するための実行モードボタン(実行モードインターフェースの実施例は図9A及び9Bに説明される)を含んでいる。
Further, FIG. 7 illustrates an example of the open mode of the
図8Aは、論理設計インターフェース780の実施例を説明する。論理設計インターフェース780により、ユーザは、標準量子回路表示を用いてハイレベル量子論理を設計できる。キュビットは、左から右に時間が経過していくことを表している水平の列に表されている。幾つかの実施例において、量子論理ゲートは、それぞれの時間ステップ及びキュビットラインでクリックすることによってキュビットラインの各々に追加される。本発明の幾つかの実施例において、所望の位置でそれぞれのキュビットライン上のマウスポインタを右クリックすることによって、ドロップダウンメニューがライブラリ要素のリストを表示して現れる。ドロップダウンメニュー781の実施例は、利用可能なライブラリ要素のリストであり、図8Aで例証される。
FIG. 8A illustrates an example of a
図8Aの論理設計インターフェース780は、キュビットQ1の初期状態がキュビットQ3にテレポートされる量子テレポーテーション回路の例を説明する。量子テレポーテーションの回路は、従来から周知である。例えば、非特許文献11のp.26−28を参照すると、この中に参照によって組み込まれている。例証されるように、テレポーテーション回路は、読み出し、X、及びZオペレーションと同様なアダマール及びCNOTオペレーションを含む量子回路を備えている。
The
図6及び7を再度参照すると、量子CNOTオペレーションは、基本パルスのシーケンス又は機械語オペレーションを含み得る。論理設計インターフェース780の単一論理ゲートは、複数の基本パルスを表し得るので、単一時間単位はまた、複数の時間単位を表し得る。幾つかの実施例において、論理設計インターフェース780の単一時間単位は、5つの基本時間単位を表す。論理設計インターフェース780のキュビットに対するタイムチャート(対照年表)の長さは、長さボタン782によって制御され得る。
Referring again to FIGS. 6 and 7, the quantum CNOT operation may include a sequence of basic pulses or a machine language operation. Since a single logic gate of
論理設計インターフェース780に例証されるテレポーテーション回路は、キュビットQ1及びQ2における読み出しオペレーションを含んでいる。それそれの読み出しオペレーションから生じる値は|1>に従い、その後、さらに、ゲートはターゲットキュビットQ3に適用される(図8A)。例えば、図8Aを再度参照すると、キュビットQ1に適用されるX及びZの論理ゲートは、キュビットQ1及びQ2で実行される読み出しオペレーションの値に基づいた条件オペレーションである。キュビットQ2における読み出しオペレーションが結果として|1>の値を生ずる場合、その後、Xオペレーションは、キュビットQ1に適用され、キュビットQ1における読み出しオペレーションが結果として|1>の値を生ずる場合、その後、Zオペレーションは、Q1に適用される。これらの条件オペレーションは、図8Aで例証される量子回路において、ドロップダウンメニュー781の条件オプションでなされる選択によって達成される。本発明の一実施例において、ドロップダウンメニュー781における条件オプションは、ユーザが読み出しオペレーションにおいてドロップダウンメニュー781を開いた場合にのみ現れる。本発明における量子回路の条件オペレーションは、上記5.2節で詳細に描写されている。
The teleportation circuit illustrated in
図8Bは、任意形態の従来論理が読み出しオペレーションの結果に適用され得る場合のグランド条件インターフェース782を例証する。例えば、図8Bに例証されるステートメントは、擬似コードで以下のように読み出す。
FIG. 8B illustrates a
IF(Ground on quibit Q2 at time unit5 results in |1>),
then(apply X operation on qubit Q3 at time unit6).
IF (Ground on quibit Q2 at time unit5 results in | 1>),
then (apply X operation on qubit Q3 at time unit 6).
図8Cは、ユーザがそれぞれの量子回路に適用される条件論理ステートメントを表示する場合の制御ステートメントブラウザインターフェース783の実施例を説明する。図8Aに例証される量子回路を参照すると、本発明の実施例は、キュビットQ1及びQ2において読み出しオペレーションに基づいた2つの条件オペレーション各々をそれぞれ含んでおり、左側のパネルにおいてcond1及びcond2として図8Cに例証される。実施例において、それぞれの回路の条件の1つが選択される場合、前記条件の条件論理は、制御ステートメントブラウザインターフェース783のメインパネルに現れる。図8Cは、図8Aに例証されるテレポーテーション回路からのcond2の条件論理例を説明する。
FIG. 8C illustrates an example of a control
図9Aは、実行コンソールインターフェース835、最終状態インターフェース891、OSインターフェース892、及び状態振幅インターフェース893を含む実行モードインターフェース800(図1の出力モード56)の実施例を説明する。実行モードインターフェース800は、図2の要素208として例証される出力結果インターフェースの実施例であって、量子論理の実行を表示するのに用いられる。実施例において、実行コンソールインターフェース835は、計算の実行を表示して再検討するためのメイン制御インターフェースとして動作する。実行コンソールインターフェース835は、様々な出力インターフェースを表示するプロット表示パネル835−1、及び出力結果の表示と認識を支援する時間コンソールの位置を制御する時間制御パネル835−2を含み得る。状態振幅インターフェース893と最終状態インターフェース891の両者は、量子論理の実行結果を表示するインターフェースの実施例であり、OSインターフェース892は、論理の入力パルス又は機械語に対する結果を比較するのに利用できる。
FIG. 9A illustrates an embodiment of an execution mode interface 800 (
本発明の幾つかの実施例において、最終状態インターフェース891(図9A)は、3つの要素:(i)量子レジスタ72の初期状態、(ii)時間コンソールにおける量子レジスタ72の値、及び(iii)計算後の量子レジスタ72の最終状態を含んでいる。時間コンソールの位置を変更することは、量子レジスタ72に記憶されている、対応する情報を変化させる。この中間値は、実行を介して量子論理を追跡するのに有用である。状態振幅インターフェース893は、時間に対する状態集団をプロットする形態で量子レジスタ72における情報のグラフ表示を提供する。状態振幅インターフェース893において図9Aに例証される出力は、任意の初期状態を有する2つのキュビットの間で適用される量子CNOTオペレーションの例を説明する。状態振幅インターフェース893における状態ラインを追跡すると、量子状態|01>及び|11>にそれぞれ対応する状態893−01及び893−11は確率を交換する一方、量子状態|00>及び|10>にそれぞれ対応する状態893−00及び893−10は確率が変化しないということが実証される。これは、状態が|Q2Q1|として表示されるように、制御キュビットがQ1であって、ターゲットキュビットがQ2である場合のCNOT論理を実証している。
In some embodiments of the present invention, final state interface 891 (FIG. 9A) has three elements: (i) initial state of
図9Bは、実行モードインターフェース800の別の実施例を説明する。図9Bの実行モードインターフェース800は、図8Aの前記例証した論理設計インターフェース780のような量子テレポーテーション回路からの出力の例を説明する。実行モードインターフェース800(図9B)は、最終状態インターフェース891−1及び中間状態インターフェース891−2を含んでおり、図9Aで例証した最終状態インターフェース891に類似している。最終状態インターフェース891−1及び中間状態インターフェース891−2は、最終グローバル位相パネル891−1−P及び891−2−Pをそれぞれ含んでおり、ユーザによって定義されるグローバル位相を量子レジスタの最終状態に適用する。例えば、中間状態インターフェースは、eiπ/2のグローバル位相を例証する場合において、数字1.570796は、ユーザによって入力され、この例ではπ/2を表しており、量子レジスタの最終状態に適用されることにより、最終出力は量子レジスタの初期状態として同様の形態をとることができる。図8Aで例証されるテレポーテーション回路の例において、キュビットQ1に記憶される状態情報は、キュビットQ3に変態し、状態は|Q3Q2Q1>によって表される。テレポーテーション回路の例において、キュビットQ1及びキュビットQ2の最終状態は重要ではない。
FIG. 9B illustrates another embodiment of the
本発明は、コンピュータの読み出し可能な記憶媒体に組み込まれたコンピュータプログラム機構を含むコンピュータプログラム製品として実行され得る。例えば、コンピュータプログラム製品は、図1に示されるプログラムモジュールを含み得る。これらのプログラムモジュールは、CD−ROM、磁気ディスク記憶製品、又は任意の他のコンピュータ読み出し可能なデータ又はプログラム記憶製品に記憶される。また、コンピュータプログラム製品におけるソフトウェアモジュールは、インターネット又は他のものを介して、(ソフトウェアモジュールが組み込まれている)コンピュータデータ信号を搬送波での送信によって電子的に配送され得る。また、コンピュータプログラム製品のソフトウェアモジュールは、ハードコピープリントアウト又は他の手段によって分配され得る。 The present invention may be implemented as a computer program product that includes a computer program mechanism embedded in a computer readable storage medium. For example, a computer program product may include the program module shown in FIG. These program modules are stored on a CD-ROM, magnetic disk storage product, or any other computer readable data or program storage product. Also, software modules in a computer program product can be electronically delivered via transmission of carrier waves of computer data signals (incorporating software modules) over the Internet or others. Also, the software modules of the computer program product can be distributed by hard copy printout or other means.
本発明は幾つかの特定の実施例に関して描写されてきた一方、描写は本発明を例示するものであって、本発明を限定するように構成されるものではない。様々な変更が、添付した請求項によって定義されるような本発明の本来の意図及び範囲から出発することなしに当業者には思い浮かぶであろう。 While this invention has been described with reference to several specific embodiments, the depictions are illustrative of the invention and are not to be construed as limiting the invention. Various modifications will occur to those skilled in the art without departing from the true spirit and scope of the invention as defined by the appended claims.
Claims (34)
前記コンピュータプログラム製品は、コンピュータ読み出し可能な記憶媒体と、その中に組み込まれるコンピュータプログラム機構と、を備え、
前記コンピュータプログラム機構は、
複数のキュビットに対する量子論理を設計するための量子コンピューティング統合開発環境(QC−IDE)モジュールであって、時間分解設定のオペレータを発生させるための命令を含んでいる前記QC−IDEモジュールと、
量子論理をコンパイルするためのコンパイラモジュールであって、前記時間分解設定のオペレータを一組の量子機械語命令にコンパイルするためのコンパイラモジュールと、
を備えることを特徴とするコンピュータプログラム製品。 A computer program product for use with a computer system,
The computer program product comprises a computer-readable storage medium and a computer program mechanism incorporated therein,
The computer program mechanism is
A quantum computing integrated development environment (QC-IDE) module for designing quantum logic for a plurality of qubits, the QC-IDE module including instructions for generating an operator for time-resolved setting;
A compiler module for compiling quantum logic, the compiler module for compiling the time-resolved setting operator into a set of quantum machine language instructions;
A computer program product comprising:
前記組のハードウェア実行可能な命令における少なくとも1つの命令は、量子コンピュータにおいてのみ実行され得ることを特徴とする請求項1に記載のコンピュータプログラム製品。 The set of quantum machine language instructions includes a set of hardware-executable instructions;
The computer program product of claim 1, wherein at least one instruction in the set of hardware-executable instructions can be executed only in a quantum computer.
Nは、前記基本オペレータを実行するのに用いられる前記量子コンピュータにおけるキュビットの数であることを特徴とする請求項4に記載のコンピュータプログラム製品。 The sequence of basic operators is depicted by a 2 N × 2 N unitary matrix,
5. The computer program product of claim 4, wherein N is the number of qubits in the quantum computer used to execute the basic operator.
前記基本オペレータにおける各パルスの鋭さを設定するための命令と、
前記基本オペレータにおける各パルスの振幅を設定するための命令と、
をさらに備えることを特徴とする請求項16に記載のコンピュータプログラム製品。 The command for setting the frequency of the basic operator in the operator of the time resolution setting is:
A command for setting the sharpness of each pulse in the basic operator;
A command for setting the amplitude of each pulse in the basic operator;
The computer program product of claim 16, further comprising:
複数のキュビットに対する量子論理の設計であって、時間分解設定のオペレータを発生させることを含む前記設計と、
オペレータの前記時間分解設定を一組の量子機械語命令にコンパイルすることと、
を備えている方法。 A method for quantum computing comprising:
A design of quantum logic for a plurality of qubits comprising generating an operator for time-resolved setting;
Compiling the time-resolved setting of the operator into a set of quantum machine language instructions;
A method comprising:
量子コンピューティングシステムにおいて前記量子機械語命令を実行すること、及び
前記量子機械語命令の実行の結果を出力すること、
をさらに備えることを特徴とする請求項29に記載の方法。 The method
Executing the quantum machine language instruction in a quantum computing system; and outputting a result of execution of the quantum machine language instruction;
30. The method of claim 29, further comprising:
前記コンピュータプログラム製品は、コンピュータ読み出し可能な記憶媒体と、その中に組み込まれるコンピュータプログラム機構と、を備え、
前記コンピュータプログラム機構は、
複数のキュビットに対する量子論理を設計するための量子コンピューティング統合開発環境(QC−IDE)モジュールであって、時間分解設定のオペレータを発生させるための命令を含んでいる前記QC−IDEモジュールと、
量子論理をコンパイルするためのコンパイラモジュールであって、前記時間分解設定のオペレータを一組の量子機械語命令にコンパイルするためのコンパイラモジュールと、
を備えることを特徴とするコンピュータプログラム製品。 A computer program product for use with a computer system,
The computer program product comprises a computer-readable storage medium and a computer program mechanism incorporated therein,
The computer program mechanism is
A quantum computing integrated development environment (QC-IDE) module for designing quantum logic for a plurality of qubits, the QC-IDE module including instructions for generating an operator for time-resolved setting;
A compiler module for compiling quantum logic, the compiler module for compiling the time-resolved setting operator into a set of quantum machine language instructions;
A computer program product comprising:
中央処理装置と、
前記中央処理装置に接続されるメモリであって、量子コンピューティング統合開発環境(QC−IDE)モジュール及びコンパイラモジュールを記憶するメモリと、
時間分解設定のオペレータを発生させるための命令を含んでいる前記量子コンピューティング統合開発環境(QC−IDE)モジュールと、
前記時間分解設定のオペレータを一組の量子機械語命令にコンパイルするための命令を含んでいる前記コンパイラモジュールと、
を備えているコンピュータシステム。 A computer system for designing quantum logic,
A central processing unit;
A memory connected to the central processing unit for storing a quantum computing integrated development environment (QC-IDE) module and a compiler module;
The quantum computing integrated development environment (QC-IDE) module including instructions for generating an operator for time-resolved settings;
The compiler module including instructions for compiling the time-resolved operator into a set of quantum machine language instructions;
Computer system equipped with.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/028,891 | 2001-12-22 | ||
US10/028,891 US20030121028A1 (en) | 2001-12-22 | 2001-12-22 | Quantum computing integrated development environment |
PCT/CA2002/001985 WO2003056512A1 (en) | 2001-12-22 | 2002-12-23 | Quantum computing integrated development environment |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005513680A JP2005513680A (en) | 2005-05-12 |
JP2005513680A6 true JP2005513680A6 (en) | 2005-09-02 |
JP2005513680A5 JP2005513680A5 (en) | 2006-01-19 |
Family
ID=21846082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003556954A Abandoned JP2005513680A (en) | 2001-12-22 | 2002-12-23 | Integrated development environment for quantum computing |
Country Status (4)
Country | Link |
---|---|
US (2) | US20030121028A1 (en) |
EP (1) | EP1468399A1 (en) |
JP (1) | JP2005513680A (en) |
WO (1) | WO2003056512A1 (en) |
Families Citing this family (122)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090182542A9 (en) * | 2001-12-22 | 2009-07-16 | Hilton Jeremy P | Hybrid classical-quantum computer architecture for molecular modeling |
US7018852B2 (en) * | 2002-08-01 | 2006-03-28 | D-Wave Systems, Inc. | Methods for single qubit gate teleportation |
AU2003259762A1 (en) * | 2002-08-10 | 2004-02-25 | Routt, Thomas J | Methods for transmitting data across quantum interfaces and quantum gates using same |
WO2004027580A2 (en) * | 2002-09-20 | 2004-04-01 | Nortel Networks Limited | System and method for managing an optical networking service |
WO2004084132A2 (en) * | 2003-03-18 | 2004-09-30 | Magiq Technologies, Inc. | Universal quantum computing |
US7353148B1 (en) | 2003-08-06 | 2008-04-01 | The United States Of America As Represented By The Secretary Of The Army | Generation of displays of solutions to physics problems represented by complex mathematical equations using quantum computations or simulation of quantum computations on classic computers |
US8295175B2 (en) * | 2003-09-30 | 2012-10-23 | Ciena Corporation | Service metrics for managing services transported over circuit-oriented and connectionless networks |
EP1687980A4 (en) * | 2003-11-13 | 2009-04-29 | Magiq Technologies Inc | Qkd with classical bit encryption |
US20050250651A1 (en) * | 2004-03-29 | 2005-11-10 | Amin Mohammad H S | Adiabatic quantum computation with superconducting qubits |
US20070239366A1 (en) * | 2004-06-05 | 2007-10-11 | Hilton Jeremy P | Hybrid classical-quantum computer architecture for molecular modeling |
JP4836064B2 (en) * | 2004-08-16 | 2011-12-14 | 独立行政法人理化学研究所 | Quantum state readout circuit |
KR100643283B1 (en) * | 2004-10-13 | 2006-11-10 | 삼성전자주식회사 | Method and apparatus improving operation processing time-ratio using quantum coprocessor |
WO2006061926A1 (en) * | 2004-12-09 | 2006-06-15 | National University Corporation NARA Institute of Science and Technology | Program development support device for computer system including quantum computer, program development support program, and simulation device |
US7533068B2 (en) | 2004-12-23 | 2009-05-12 | D-Wave Systems, Inc. | Analog processor comprising quantum devices |
JP4718244B2 (en) * | 2005-05-30 | 2011-07-06 | 日本電信電話株式会社 | Quantum program conversion apparatus, method thereof, program thereof and recording medium |
US7624088B2 (en) | 2005-08-03 | 2009-11-24 | D-Wave Systems Inc. | Analog processor comprising quantum devices |
US8164082B2 (en) * | 2005-09-30 | 2012-04-24 | Wisconsin Alumni Research Foundation | Spin-bus for information transfer in quantum computing |
US7930152B2 (en) | 2006-07-14 | 2011-04-19 | Colorado School Of Mines | Method for signal and image processing with lattice gas processes |
US8121708B1 (en) * | 2007-03-21 | 2012-02-21 | Sandia Corporation | Control system design method |
WO2008122127A1 (en) | 2007-04-05 | 2008-10-16 | D-Wave Systems Inc. | Systems, methods and apparatus for anti-symmetric qubit-coupling |
JP5105408B2 (en) * | 2007-05-23 | 2012-12-26 | 独立行政法人科学技術振興機構 | Quantum program concealment device and quantum program concealment method |
US8089286B2 (en) * | 2008-04-15 | 2012-01-03 | Nec Laboratories America, Inc. | System and method for quantum computer calibration and performance estimation |
JP5513507B2 (en) | 2008-09-03 | 2014-06-04 | ディー−ウェイブ システムズ,インコーポレイテッド | System, method and apparatus for active compensation of quantum processor devices |
US8571614B1 (en) | 2009-10-12 | 2013-10-29 | Hypres, Inc. | Low-power biasing networks for superconducting integrated circuits |
US8543627B1 (en) * | 2010-10-01 | 2013-09-24 | Robert R. Tucci | Method for sampling probability distributions using a quantum computer |
US8612499B1 (en) * | 2010-11-01 | 2013-12-17 | Robert R. Tucci | Method for evaluating quantum operator averages |
US9218567B2 (en) * | 2011-07-06 | 2015-12-22 | D-Wave Systems Inc. | Quantum processor based systems and methods that minimize an objective function |
US8972237B2 (en) * | 2012-08-06 | 2015-03-03 | Microsoft Technology Licensing, Llc | Optimizing quantum simulations by intelligent permutation |
US9292304B2 (en) * | 2012-08-20 | 2016-03-22 | Microsoft Corporation | Language integration via function redirection |
CN105960651B (en) | 2013-12-05 | 2018-10-09 | 微软技术许可有限责任公司 | Method and system on quantum computer for calculating distance measure |
CN105993024B (en) * | 2014-02-12 | 2019-02-05 | 微软技术许可有限责任公司 | For the classical simulation constant of quantum chemical modelling and sequence |
WO2015178991A2 (en) * | 2014-02-28 | 2015-11-26 | Rigetti & Co., Inc. | Operating a multi-dimensional array of qubit devices |
US10002107B2 (en) | 2014-03-12 | 2018-06-19 | D-Wave Systems Inc. | Systems and methods for removing unwanted interactions in quantum devices |
US9477796B2 (en) * | 2014-05-23 | 2016-10-25 | The Regents Of The University Of Michigan | Methods for general stabilizer-based quantum computing simulation |
US10552755B2 (en) * | 2014-08-22 | 2020-02-04 | D-Wave Systems Inc. | Systems and methods for improving the performance of a quantum processor to reduce intrinsic/control errors |
CA2881033C (en) | 2015-02-03 | 2016-03-15 | 1Qb Information Technologies Inc. | Method and system for solving lagrangian dual of a constrained binary quadratic programming problem |
US11797641B2 (en) | 2015-02-03 | 2023-10-24 | 1Qb Information Technologies Inc. | Method and system for solving the lagrangian dual of a constrained binary quadratic programming problem using a quantum annealer |
US10222416B1 (en) | 2015-04-14 | 2019-03-05 | Hypres, Inc. | System and method for array diagnostics in superconducting integrated circuit |
US9971970B1 (en) * | 2015-04-27 | 2018-05-15 | Rigetti & Co, Inc. | Microwave integrated quantum circuits with VIAS and methods for making the same |
CN107580752B (en) | 2015-05-14 | 2023-03-24 | D-波系统公司 | Frequency multiplexed resonator input and/or output for superconducting devices |
EP3304363B1 (en) | 2015-06-08 | 2021-07-21 | Microsoft Technology Licensing, LLC | System for reversible circuit compilation with space constraint, method and program |
WO2017044974A1 (en) * | 2015-09-11 | 2017-03-16 | Walters Zachary B | System and method for solving 3sat using a quantum computer |
WO2017078731A1 (en) * | 2015-11-06 | 2017-05-11 | Rigetti & Co., Inc. | Analyzing quantum information processing circuits |
US10664249B2 (en) | 2015-11-20 | 2020-05-26 | Microsoft Technology Licensing, Llc | Verified compilation of reversible circuits |
US10614370B2 (en) * | 2016-01-31 | 2020-04-07 | QC Ware Corp. | Quantum computing as a service |
US10484479B2 (en) | 2016-01-31 | 2019-11-19 | QC Ware Corp. | Integration of quantum processing devices with distributed computers |
US10599988B2 (en) | 2016-03-02 | 2020-03-24 | D-Wave Systems Inc. | Systems and methods for analog processing of problem graphs having arbitrary size and/or connectivity |
JP6966177B2 (en) | 2016-03-11 | 2021-11-10 | ワンキュービー インフォメーション テクノロジーズ インク. | Methods and systems for quantum computing |
US9537953B1 (en) * | 2016-06-13 | 2017-01-03 | 1Qb Information Technologies Inc. | Methods and systems for quantum ready computations on the cloud |
US10044638B2 (en) | 2016-05-26 | 2018-08-07 | 1Qb Information Technologies Inc. | Methods and systems for quantum computing |
US9870273B2 (en) | 2016-06-13 | 2018-01-16 | 1Qb Information Technologies Inc. | Methods and systems for quantum ready and quantum enabled computations |
US9940212B2 (en) * | 2016-06-09 | 2018-04-10 | Google Llc | Automatic qubit calibration |
US10255555B2 (en) | 2016-11-10 | 2019-04-09 | Rigetti & Co, Inc. | Generating quantum logic control sequences for quantum information processing hardware |
US10223084B1 (en) * | 2016-12-15 | 2019-03-05 | Lockheed Martin Corporation | Quantum Compiler |
US10929294B2 (en) | 2017-03-01 | 2021-02-23 | QC Ware Corp. | Using caching techniques to improve graph embedding performance |
US11604644B1 (en) * | 2017-05-02 | 2023-03-14 | Rigetti & Co, Llc | Accelerating hybrid quantum/classical algorithms |
EP3642765A4 (en) | 2017-06-19 | 2021-04-07 | Rigetti & Co., Inc. | Distributed quantum computing system |
US11121301B1 (en) | 2017-06-19 | 2021-09-14 | Rigetti & Co, Inc. | Microwave integrated quantum circuits with cap wafers and their methods of manufacture |
US10885678B2 (en) * | 2017-09-29 | 2021-01-05 | International Business Machines Corporation | Facilitating quantum tomography |
US10996979B2 (en) | 2017-09-29 | 2021-05-04 | International Business Machines Corporation | Job processing in quantum computing enabled cloud environments |
US10592216B1 (en) * | 2017-11-15 | 2020-03-17 | Amazon Technologies, Inc. | Development environment for programming quantum computing resources |
US10817337B1 (en) | 2017-11-15 | 2020-10-27 | Amazon Technologies, Inc. | Cloud-based access to quantum computing resources |
US11170137B1 (en) | 2017-11-15 | 2021-11-09 | Amazon Technologies, Inc. | Cloud-based simulation of quantum computing resources |
US11270220B1 (en) | 2017-11-15 | 2022-03-08 | Amazon Technologies, Inc. | Service for managing quantum computing resources |
US11281987B2 (en) * | 2017-11-28 | 2022-03-22 | Duke University | Software-defined quantum computer |
JP7312173B2 (en) * | 2017-11-30 | 2023-07-20 | グッド ケミストリー インコーポレイテッド | Methods and Systems for Quantum Computing-Ready First-Principles Molecular Simulations Using Quantum Classical Computing Hardware |
US10872021B1 (en) * | 2017-12-06 | 2020-12-22 | Rigetti & Co, Inc. | Testing hardware in a quantum computing system |
US11494683B2 (en) | 2017-12-20 | 2022-11-08 | D-Wave Systems Inc. | Systems and methods for coupling qubits in a quantum processor |
US11238359B2 (en) | 2018-01-18 | 2022-02-01 | International Business Machines Corporation | Simplified quantum programming |
WO2019144118A1 (en) | 2018-01-22 | 2019-07-25 | D-Wave Systems Inc. | Systems and methods for improving performance of an analog processor |
US11194573B1 (en) | 2018-02-09 | 2021-12-07 | Rigetti & Co, Llc | Streaming execution for a quantum processing system |
US11010145B1 (en) * | 2018-02-21 | 2021-05-18 | Rigetti & Co, Inc. | Retargetable compilation for quantum computing systems |
FI3744001T3 (en) | 2018-02-27 | 2024-10-31 | D Wave Systems Inc | Systems and methods for coupling a superconducting transmission line to an array of resonators |
US11100418B2 (en) | 2018-02-28 | 2021-08-24 | D-Wave Systems Inc. | Error reduction and, or, correction in analog computing including quantum processor-based computing |
JP7007585B2 (en) | 2018-03-16 | 2022-01-24 | 富士通株式会社 | Optimization device, optimization device control method, and optimization device control program |
JP7431811B2 (en) | 2018-05-11 | 2024-02-15 | ディー-ウェイブ システムズ インコーポレイテッド | Single magnetic flux quantum source for projective measurements |
US10423888B1 (en) | 2018-06-07 | 2019-09-24 | International Business Machines Corporation | Frequency allocation in multi-qubit circuits |
US10803395B2 (en) * | 2018-06-07 | 2020-10-13 | International Business Machines Corporation | Quantum computations of classical specifications |
WO2020112185A2 (en) | 2018-08-31 | 2020-06-04 | D-Wave Systems Inc. | Systems and methods for operation of a frequency multiplexed resonator input and/or output for a superconducting device |
EP3850478A4 (en) * | 2018-09-13 | 2022-06-01 | The University of Chicago | System and method of optimizing instructions for quantum computers |
US11586966B2 (en) * | 2018-09-27 | 2023-02-21 | International Business Machines Corporation | Development and analysis of quantum computing programs |
US11194642B2 (en) | 2018-11-29 | 2021-12-07 | International Business Machines Corporation | Noise and calibration adaptive compilation of quantum programs |
US11144334B2 (en) | 2018-12-20 | 2021-10-12 | Red Hat, Inc. | Quantum computer task manager |
CN113544711B (en) | 2019-01-17 | 2024-08-02 | D-波系统公司 | Hybrid algorithm system and method for using cluster contraction |
US20200285985A1 (en) * | 2019-03-08 | 2020-09-10 | International Business Machines Corporation | Constant folding for compilation of quantum algorithms |
US11580433B2 (en) * | 2019-03-09 | 2023-02-14 | International Business Machines Corporation | Validating and estimating runtime for quantum algorithms |
US11567779B2 (en) | 2019-03-13 | 2023-01-31 | D-Wave Systems Inc. | Systems and methods for simulation of dynamic systems |
US11620569B2 (en) | 2019-04-26 | 2023-04-04 | International Business Machines Corporation | Machine learning quantum algorithm validator |
US20200349050A1 (en) * | 2019-05-02 | 2020-11-05 | 1Qb Information Technologies Inc. | Method and system for estimating trace operator for a machine learning task |
US11288073B2 (en) | 2019-05-03 | 2022-03-29 | D-Wave Systems Inc. | Systems and methods for calibrating devices using directed acyclic graphs |
US11422958B2 (en) | 2019-05-22 | 2022-08-23 | D-Wave Systems Inc. | Systems and methods for efficient input and output to quantum processors |
US12039465B2 (en) | 2019-05-31 | 2024-07-16 | D-Wave Systems Inc. | Systems and methods for modeling noise sequences and calibrating quantum processors |
US11704455B2 (en) | 2019-06-10 | 2023-07-18 | International Business Machines Corporation | Representing the operation of a quantum computing device over time |
CN113906449A (en) | 2019-06-11 | 2022-01-07 | D-波系统公司 | Input/output system and method for superconducting devices |
CA3126553A1 (en) | 2019-06-19 | 2020-12-24 | 1Qb Information Technologies Inc. | Method and system for mapping a dataset from a hilbert space of a given dimension to a hilbert space of a different dimension |
US11392848B2 (en) * | 2019-06-19 | 2022-07-19 | Northrop Grumman Systems Corporation | Qubit assembly having adjustable current operators |
US11537381B2 (en) | 2019-07-15 | 2022-12-27 | International Business Machines Corporation | Quantum software developer kit and framework |
US11605016B2 (en) | 2019-11-27 | 2023-03-14 | Amazon Technologies, Inc. | Quantum computing service supporting local execution of hybrid algorithms |
US11704715B2 (en) | 2019-11-27 | 2023-07-18 | Amazon Technologies, Inc. | Quantum computing service supporting multiple quantum computing technologies |
US11605033B2 (en) | 2019-11-27 | 2023-03-14 | Amazon Technologies, Inc. | Quantum computing task translation supporting multiple quantum computing technologies |
CA3157216A1 (en) | 2019-12-03 | 2021-06-10 | Pooya Ronagh | System and method for enabling an access to a physics-inspired computer and to a physics-inspired computer simulator |
US11720812B2 (en) | 2020-01-13 | 2023-08-08 | International Business Machines Corporation | Visual representation of qubit stochastic errors and the impact on performance of a quantum circuit |
CN111415011B (en) | 2020-02-10 | 2022-04-26 | 北京百度网讯科技有限公司 | Quantum pulse determination method, device, equipment and readable storage medium |
WO2021168116A1 (en) * | 2020-02-18 | 2021-08-26 | Jpmorgan Chase Bank, N.A. | Systems and methods for using distributed quantum computing simulators |
US11562282B2 (en) * | 2020-03-05 | 2023-01-24 | Microsoft Technology Licensing, Llc | Optimized block encoding of low-rank fermion Hamiltonians |
US11308416B2 (en) * | 2020-03-30 | 2022-04-19 | Psiquantum, Corp. | Adaptive basis selection for encoded fusion measurements |
US11886380B2 (en) | 2020-04-27 | 2024-01-30 | Red Hat, Inc. | Quantum file management system |
US11416221B2 (en) | 2020-05-12 | 2022-08-16 | Red Hat, Inc. | Quantum entanglement protection |
US11676059B2 (en) | 2020-06-23 | 2023-06-13 | Red Hat, Inc. | Performing quantum file pattern searching |
US11580247B2 (en) | 2020-06-25 | 2023-02-14 | Red Hat, Inc. | Systems and methods for quantum file permissions |
US11556833B2 (en) | 2020-06-25 | 2023-01-17 | Red Hat, Inc. | Performing quantum file concatenation |
US11562283B2 (en) | 2020-06-25 | 2023-01-24 | Red Hat, Inc. | Performing quantum file copying |
US20220067245A1 (en) * | 2020-08-12 | 2022-03-03 | Microsoft Technology Licensing, Llc | Low-cost linear orders for quantum-program simulation |
ES2899525A1 (en) * | 2020-09-11 | 2022-03-11 | Nodarse Guido Rogelio Peterssen | System of development and execution of applications in hybrid quantum computing networks. (Machine-translation by Google Translate, not legally binding) |
US11829842B2 (en) | 2020-10-07 | 2023-11-28 | International Business Machines Corporation | Enhanced quantum circuit execution in a quantum service |
US20240281693A1 (en) * | 2020-10-28 | 2024-08-22 | The Governing Council Of The University Of Toronto | Operator implementations for quantum computation |
AU2022289736A1 (en) | 2021-06-11 | 2024-02-01 | Caleb JORDAN | System and method of flux bias for superconducting quantum circuits |
US11907092B2 (en) | 2021-11-12 | 2024-02-20 | Amazon Technologies, Inc. | Quantum computing monitoring system |
US11960859B2 (en) * | 2021-11-12 | 2024-04-16 | The Boeing Company | Automated process for discovering optimal programs and circuits in new computing platforms |
US20230186141A1 (en) * | 2021-12-11 | 2023-06-15 | International Business Machines Corporation | Visual presentation of quantum-classical interface in a user experience |
CN114444664B (en) * | 2022-02-01 | 2022-10-14 | 上海图灵智算量子科技有限公司 | Attention model and neural network model based on quantum computation |
JP2024029679A (en) | 2022-08-22 | 2024-03-06 | 富士通株式会社 | Display program, display method and information processing device |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5339182A (en) * | 1993-02-19 | 1994-08-16 | California Institute Of Technology | Method and apparatus for quantum communication employing nonclassical correlations of quadrature-phase amplitudes |
US6665308B1 (en) * | 1995-08-25 | 2003-12-16 | Terayon Communication Systems, Inc. | Apparatus and method for equalization in distributed digital data transmission systems |
US5768297A (en) * | 1995-10-26 | 1998-06-16 | Lucent Technologies Inc. | Method for reducing decoherence in quantum computer memory |
US5787236A (en) * | 1996-01-11 | 1998-07-28 | Tucci; Robert R. | Graphical computer method for analyzing quantum systems |
US5917322A (en) * | 1996-10-08 | 1999-06-29 | Massachusetts Institute Of Technology | Method and apparatus for quantum information processing |
US6128764A (en) * | 1997-02-06 | 2000-10-03 | California Institute Of Technology | Quantum error-correcting codes and devices |
US6686879B2 (en) * | 1998-02-12 | 2004-02-03 | Genghiscomm, Llc | Method and apparatus for transmitting and receiving signals having a carrier interferometry architecture |
US6081882A (en) * | 1998-04-09 | 2000-06-27 | Silicon Graphics, Inc. | Quantum acceleration of conventional non-quantum computers |
US6678450B1 (en) * | 1998-04-24 | 2004-01-13 | The Johns Hopkins University | Optical method for quantum computing |
US6456994B1 (en) * | 1998-05-05 | 2002-09-24 | Robert Tucci | Computer for a quantum computer |
US6583905B1 (en) * | 1998-05-30 | 2003-06-24 | Cisco Photonics Italy S.R.L. | Apparatus and method for reducing SPM/GVD in optical systems |
JP2000137007A (en) * | 1998-08-26 | 2000-05-16 | Canon Inc | State constituting method and device, and communicating method and device using same |
US6317766B1 (en) * | 1998-11-02 | 2001-11-13 | Lucent Technologies Inc. | Fast quantum mechanical algorithms |
JP3810570B2 (en) * | 1998-12-24 | 2006-08-16 | アンリツ株式会社 | Optical pulse generation method and apparatus |
US6578018B1 (en) * | 1999-07-27 | 2003-06-10 | Yamaha Hatsudoki Kabushiki Kaisha | System and method for control using quantum soft computing |
US6603818B1 (en) * | 1999-09-23 | 2003-08-05 | Lockheed Martin Energy Research Corporation | Pulse transmission transceiver architecture for low power communications |
US20030164490A1 (en) * | 2001-02-13 | 2003-09-04 | Alexandre Blais | Optimization method for quantum computing process |
US20020152191A1 (en) * | 2001-02-23 | 2002-10-17 | Hollenberg Lloyd Christopher Leonard | Method of interrogating a database using a quantum computer |
US7113967B2 (en) * | 2001-05-29 | 2006-09-26 | Magiq Technologies, Inc | Efficient quantum computing operations |
US6803599B2 (en) * | 2001-06-01 | 2004-10-12 | D-Wave Systems, Inc. | Quantum processing system for a superconducting phase qubit |
US7307275B2 (en) * | 2002-04-04 | 2007-12-11 | D-Wave Systems Inc. | Encoding and error suppression for superconducting quantum computers |
WO2004061533A1 (en) * | 2002-12-09 | 2004-07-22 | The Johns Hopkins University | Techniques for high fidelity quantum teleportation and computing |
-
2001
- 2001-12-22 US US10/028,891 patent/US20030121028A1/en not_active Abandoned
-
2002
- 2002-12-18 US US10/326,017 patent/US20030169041A1/en not_active Abandoned
- 2002-12-23 EP EP02784999A patent/EP1468399A1/en not_active Withdrawn
- 2002-12-23 JP JP2003556954A patent/JP2005513680A/en not_active Abandoned
- 2002-12-23 WO PCT/CA2002/001985 patent/WO2003056512A1/en active Application Filing
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005513680A6 (en) | Integrated development environment for quantum computing | |
JP2005513680A (en) | Integrated development environment for quantum computing | |
Kottmann et al. | Tequila: A platform for rapid development of quantum algorithms | |
Abobeih et al. | Fault-tolerant operation of a logical qubit in a diamond quantum processor | |
US10733522B2 (en) | Generating quantum logic control sequences for quantum information processing hardware | |
Hidary et al. | Quantum computing: an applied approach | |
JP7471736B2 (en) | Method and system for estimating ground state energy of a quantum system | |
Arrazola et al. | Universal quantum circuits for quantum chemistry | |
Zalka | Simulating quantum systems on a quantum computer | |
Patel et al. | Qraft: reverse your quantum circuit and know the correct program output | |
US20210256351A1 (en) | Hybrid Quantum-Classical Adversarial Generator | |
AU2020102068A4 (en) | LSM- Quantum Computing: LARGE DATABASES STORE INTO A VERY SMALL MEMORY USING QUANTUM COMPUTING AND AI-BASED PROGRAMMING | |
US12067458B2 (en) | Parameter initialization on quantum computers through domain decomposition | |
WO2021046184A1 (en) | Computer architecture for executing quantum programs | |
EP3908989A1 (en) | Measurement reduction via orbital frames decompositions on quantum computers | |
Wille et al. | Tools for quantum computing based on decision diagrams | |
US20230131510A1 (en) | Quantum computing system and method for time evolution of bipartite hamiltonians on a lattice | |
Li et al. | Benchmarking variational quantum eigensolvers for the square-octagon-lattice Kitaev model | |
Jaderberg et al. | Recompilation-enhanced simulation of electron–phonon dynamics on IBM quantum computers | |
Dey et al. | QDLC--The Quantum Development Life Cycle | |
Svore et al. | Toward a software architecture for quantum computing design tools | |
Wille et al. | Verification of Quantum Circuits | |
Wille et al. | Computer-aided design for quantum computation | |
Chen et al. | Flexibility of the factorized form of the unitary coupled cluster ansatz | |
CA2470715A1 (en) | Quantum computing integrated development environment |