JP2005513680A6 - Integrated development environment for quantum computing - Google Patents

Integrated development environment for quantum computing Download PDF

Info

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
Application number
JP2003556954A
Other languages
Japanese (ja)
Other versions
JP2005513680A5 (en
JP2005513680A (en
Inventor
マイケル ディー クーリー
ジョーディー ローズ
ジェレミ ピー ヒルトン
Original Assignee
ディー−ウェイヴ システムズ インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US10/028,891 external-priority patent/US20030121028A1/en
Application filed by ディー−ウェイヴ システムズ インコーポレイテッド filed Critical ディー−ウェイヴ システムズ インコーポレイテッド
Publication of JP2005513680A publication Critical patent/JP2005513680A/en
Publication of JP2005513680A6 publication Critical patent/JP2005513680A6/en
Publication of JP2005513680A5 publication Critical patent/JP2005513680A5/ja
Abandoned legal-status Critical Current

Links

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.

米国特許出願番号09/872,495“Quantum processing system and method for a superconducting phase qubit”US patent application Ser. No. 09 / 872,495 “Quantum processing system and method for a superconducting phase qubit”

量子計算を実現するキュビットオペレーション及び制御システムの議論については、その全体が参照によって取り込まれている、2001年6月1日に提出された特許文献1を参照すればよい。   For a discussion of the qubit operation and control system for realizing quantum computation, reference may be made to Patent Document 1 filed on June 1, 2001, which is incorporated by reference in its entirety.

Mooij et al.,1999,Science285,1036Mooij et al. , 1999, Science 285, 1036.

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 Document 1, this is incorporated by reference in its entirety. The flux qubit consists of an inner superconducting loop containing three or more Josephson bonds and is inductively coupled to an outer dc-SQUID containing two Josephson bonds. The dc-SQUID induces which bias current can flow. The bias current through induction provides the basis for operating in the inner loop and forms a qubit.

Makhlin et al.,2001,Rev.Mod.Phys.73,357Makhlin et al. , 2001, Rev. Mod. Phys. 73,357

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 Document 2, the whole is incorporated by reference.

Shnirman and Schon,1998,Phys.Rev.B57 15400Shirman and Schoon, 1998, Phys. Rev. B57 15400

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 NPL 3. The electron box consists of a superconducting island connected by a Josephson coupling to a superconducting electrode having a capacitive coupling C to the gate electrode. Control voltage V x is applied using the gate capacitor. Josephson coupling is the Josephson energy E J ( which is related to the Josephson critical current I C because E J = I C Φ 0 / 2π and Φ 0 ≡h / 2e is a flux quantum) and the charging power It is characterized by a capacitance C J that determines the quantity scale. In this system, the charge in the electronic box and the phase across the junction are typically complex conjugate variables. The system restores the coherer sensitivity if it is not superconducting, ie if the current is kept below I C. The bit states are the corresponding pseudo-spin variables that satisfy the states | ↓> = | n> and | ↑> = | n + 1>, where n is an integer of the Cooper pair.

Lea et al.and Dykman et al.in Braunstein and Lo(Eds.),2001,Scalable Quantum Computers,Wiley−VCH BerlinLea et al. and Dykman et al. in Braunstein and Lo (Eds.), 2001, Scalable Quantum Computers, Wiley-VCH Berlin.

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 Document 4, this is all incorporated by reference.

Feynman,1982,Int.J.Yheor.Phys.21,467Feynman, 1982, Int. J. et al. Yheor. Phys. 21,467

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 non-patent document 5 is viewed, the entirety thereof is incorporated by reference. Feynman finds that the quantum system is inherently difficult to simulate using traditional (eg, conventional, non-quantum digital) computers, but this task observes the evaluation of the quantum system under controlled conditions Noted that this can be accomplished by doing Solving the theory of operation of a quantum system commonly involves solving a differential equation for the Hamiltonian of the system. Observation of system operation provides information related to the solution of the equation.

Shor,1997,SIAM J.of Comput.26,1484;Grover,1996,Proc.28th STOC,212(ACM Press,New York);and Kitaev,LANL preprint quant−ph/9511026Shor, 1997, SIAM J. et al. of Compute. 26, 1484; Grover, 1996, Proc. 28th STOC, 212 (ACM Press, New York); and Kitaev, LANL print quant-ph / 9511026 Briegel et al.,preprint quant−ph/9803056Briegel et al. , Preprint quant-ph / 9803056 Knill et al.,1998、Science 279,342Knill et al. , 1998, Science 279, 342

量子コンピューティングの奮闘は、正式な理論の確立に、又は“ソフトウェア開発”又は他の計算処理上の問題への拡張に、初期的には関係していた。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 Non-Patent Document 7, this is incorporated by reference in its entirety. Fault tolerance quantum computation is theoretically possible, since a practical trial method of realization has been disclosed. For example, Non-Patent Document 8 should be referred to.

量子コンピューティングは、一般には、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 fact 2 N simultaneous conventional computations. Reading the state of the qubit after evolution is complete determines the computational result.

米国特許出願番号5,768,297US Patent Application No. 5,768,297

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 Patent Document 2 by Shor, which is incorporated by reference in its entirety.

DiVicenzo,in Scalable Quantum Computers,chapter1,2001,Wiley−VCH Verlag GmbH,BerlinDiVicenzo, in Scalable Quantum Computers, chapter 1, 2001, Wiley-VCH Verlag GmbH, Berlin

キュビットを量子レジスタに結合する要件に加えて、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 Non-Patent Document 9, this is incorporated by reference in its entirety. These requirements include the need to initialize the state of the qubit to a simple reference state, the need for long associated decoherence times, the “whole set” of quantum gates, and the qubit specific measurement capacity.

DiVicenzo,in Scalable Quantum Computer,Wiley−VCH,Berlin,2001,Braunstein and Lo,edsDiVicenzo, in Scalable Quantum Computer, Wiley-VCH, Berlin, 2001, Braunstein and Lo, eds

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. Non-Patent Document 10 shows the minimum set of gates required to realize the entire set of quantum gates. Briefly, the entire set of quantum gates includes a single qubit operation as well as at least one two-qubit operation.

単一キュビットは、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.





Figure 2005513680
Figure 2005513680

Nielsen and Chuang,2000,Quantum Computation and Quantum Information,Cambridge University Press,Cambridge,UKNielsen and Chuung, 2000, Quantum Computation and Quantum Information, Cambridge University Press, Cambridge, UK

パウリ行列σ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 Non-Patent Document 11, which is incorporated by reference in its entirety.

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 matrix 400 illustrates the possible states of a two qubit system that correlates with standard binary notation. The quantum register exists in the superposition of the respective states at the same time and has a certain complex probability γ 0 , γ 1 , γ 2 , and γ 3 existing in each state. Matrixes 410 and 411 represent a matrix of X operators that operate on the first and second qubits in the quantum register, respectively. Matrixes 420 and 421 represent a matrix of Z operators that operate on the first and second qubits in the quantum register, respectively. Matrixes 430 and 431 represent a matrix of Y operators that operate on the first and second qubits in the quantum register, respectively. Matrix 440 represents a matrix of concatenation operators that operate to concatenate the first and second qubits in the quantum register, and the concatenation operation represents a control phase operation. In an N qubit quantum register, these matrices can be expanded to be a 2 N × 2 N matrix operating on a corresponding qubit or multiple qubits.

米国特許5,917,322US Pat. No. 5,917,322 Mosca,1998,Nature 393,344Moska, 1998, Nature 393, 344 the number−ordering algorithm of Vandersypen et al.,preprint quant−ph/0007017the number-ordering algorithm of Vandersypen et al. , Preprint quant-ph / 0007017

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.

Bettelli et al.,2001,“Toward an architecture for quantum programming”,LANL cs.PL/0103009v.2Bettelli et al. 2001, “Toward an architecture for quantum programming”, LANL cs. PL / 0103009v. 2

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 system 10 that operates in accordance with one embodiment of the present invention.

図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 system 10 that operates in accordance with one embodiment of the present invention. The system 10 includes at least one digital (conventional binary) computer 20. The computer 20 includes a central processing unit 22, a memory 24 (including a high-speed random access memory similar to a non-volatile storage device such as the disk 14) for storing program modules and data structures, a user input / output device 26, a disk It includes standard server elements including controller 12, network interface card 16, and one or more buses 34 interconnecting these elements. User input / output device 26 includes one or more user input / output elements such as mouse 36, display 38, and keyboard 8.

メモリ24は、本発明に従って用いられる多くのモジュール及びデータ構造を含んでいる。システム動作中の任意のある時間に、メモリ24に記憶されているモジュール及び/又はデータ構造の一部がランダムアクセスメモリに記憶される一方で、モジュール及び/又はデータ構造の別の部分が不揮発性記憶装置に記憶されていることが認識される。典型的な実施例において、メモリ24は、オペレーティングシステム40を含んでいる。オペレーティングシステム40は、多様な基本システムサービスを取り扱うための処理手順及びハードウェア依存のタスクを実現するための処理手順を含んでいる。   Memory 24 contains a number of modules and data structures used in accordance with the present invention. At some time during system operation, some of the modules and / or data structures stored in memory 24 are stored in random access memory, while another part of the modules and / or data structures is non-volatile. It is recognized that it is stored in the storage device. In the exemplary embodiment, memory 24 includes an operating system 40. The operating system 40 includes processing procedures for handling various basic system services and processing procedures for realizing hardware-dependent tasks.

典型的な実装では、システムメモリ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 system memory 24 are compiled into quantum computing, an integrated development environment (QC-IDE) module 44 for designing quantum logic, and compiling quantum logic into quantum machine language instructions. , Executing a quantum machine language instruction, and providing an execution result as an output. The QC-IDE 44 is used to develop a quantum algorithm, optimizes the quantum algorithm, and realizes quantum computation. The QC-IDE 44 includes a circuit layout interface module 620, a machine language interface module 610, a pulse amplitude interface module 611, an initial condition interface module 615, a control panel module 630, a global setting interface module 640, a toolbar menu module 650, and a system information interface module. 660. These modules are described in further detail below in conjunction with FIGS. Some embodiments of QC-IDE 44 are used to model quantum systems such as many-body electronic systems, fusion or fission, or protein folding systems and the like. In particular, some embodiments of QC-IDE44 model protein structures, phosphates, and other biological macromolecules as well as determine the interaction forces between macromolecules and organic compounds. Useful for. In addition, the memory 24 includes at least one time-resolved setting operator 48 generated using the QC-IDE module 44. The time resolution setting operator 48 is compiled by the compiler module 50 to form machine language instructions 52, which are then executed by the execution module 54 and output to the device by the output module 56.

さらに、システム10は、量子レジスタ72を含む量子コンピューティングシステム70を含んでいる。量子レジスタは、順番に複数のキュビット74を含む。量子レジスタの各々のキュビットにおいて基本的なオペレーションを実行するための制御システム及びオペレーションを統合するための制御プロセッサが必要とされる。システム10において、前記統合機能は、コンピュータ20のドライバハードウェア58として提供される。   Further, the system 10 includes a quantum computing system 70 that includes a quantum register 72. The quantum register includes a plurality of qubits 74 in order. There is a need for a control system for performing basic operations and a control processor for integrating operations in each qubit of the quantum register. In the system 10, the integrated function is provided as driver hardware 58 of the computer 20.

例証されるシステム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 quantum computing system 70 is illustrated in the illustrated system 10, in practice the system 10 has any number of quantum computing systems 10. Further, each quantum computing system 70 in system 10 need not have the same type of qubit or architecture. For example, some quantum computing systems 70 in system 10 include one or more quantum registers 72 that include flux qubits 74, while some quantum computing systems 70 in system 10 include Some include one or more quantum registers 72 including charge qubits 72. In addition, some quantum computing systems 70 in system 10 include one or more quantum registers 72 that are hybrid registers, including, for example, both flux qubits and charge qubits. Driver hardware 58 is used to track the characteristics of each of the quantum computing systems 70 used in system 10, as described in more detail below.

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 design stage 202 using QC-IDE 44. The result is a time-resolved setting for the operator 48, described in further detail below. In the compilation stage 204, the quantum logic (time resolution setting operator 48) derived in the design stage 202 is compiled into a sequence of quantum machine language instructions 52 by the compiler module 50. The instructions 52 include conventional machine language instructions that may be executed by a conventional (eg, digital computer 20) computer, but typically include at least one executable in the quantum computing system 70 (FIG. 1). Contains quantum machine language instructions. In the execution stage 206, the instructions 52 are executed in the quantum computing system 70 and / or the computing system 20. Finally, in the output stage 208, the calculation results are provided as output by the output module 56.

設計段階202で導出される量子コンピューティング論理は、量子状態で動作する一連のユニタリ変換として定義され得る。量子コンピューティング論理の基本オペレーションは、量子コンピュータが実行し得る量子ユニタリ変換の組を含んでいる。一般には、基本オペレーションは、X、Y、Z及びエンタングルメントオペレーションから成る。幾つかの実施例において、グランド(ground)又は読み出しオペレーションが含まれる。   The quantum computing logic derived at the design stage 202 can be defined as a series of unitary transformations operating in quantum states. The basic operations of quantum computing logic include a set of quantum unitary transformations that a quantum computer can perform. In general, basic operations consist of X, Y, Z, and entanglement operations. In some embodiments, a ground or read operation is included.

幾つかの実施例において、設計段階202で量子論理を設計する方法は、時間分解されたシーケンスの基本オペレータ48を作成することを含んでおり、量子システム70の初期状態に提供される場合に、その組み合わせは、量子システム70の初期状態を幾つかの最終状態に進化させる。幾つかの実施例において、量子論理を設計する方法は、図2に例証される出力結果208を得ることを含んでおり、必要に応じて基本オペレータ48のシーケンスを調整し、所望の量子論理が実行されるまで図2に例証される処理を繰り返す。   In some embodiments, the method of designing quantum logic at design stage 202 includes creating a time-resolved sequence elementary operator 48, provided to the initial state of quantum system 70, The combination evolves the initial state of quantum system 70 into several final states. In some embodiments, the method of designing quantum logic includes obtaining the output result 208 illustrated in FIG. 2, adjusting the sequence of the basic operator 48 as necessary to obtain the desired quantum logic. The process illustrated in FIG. 2 is repeated until it is executed.

本発明の幾つかの実施例に従って、量子論理202を設計することは、ドライバハードウェア58の特性を制御することを含んでいる。ドライバハードウェア58は、量子レジスタにおいてキュビットの各々の基本オペレーションを実装するための制御システムである。ドライバハードウェア58は、時間分解設定のオペレーション48において各オペレーションの分解能又は最小期間を定義する時間単位設定を含んでいる。さらに、オペレータ48の時間分解設定におけるパルスの鋭さは、ドライバハードウェア58の特性に従って校正され得る。最適なドライバ設定は、最終的には、量子コンピューティングシステム70の物理的特性次第である。例えば、特許文献1は、その全体が参照によって取り込まれている、ギガヘルツのオーダーの周波数及びナノアンペアのオーダーの振幅を有する最新パルスを描写する。前記ドライバ設定58は、位相又はフラックスキュビットに有用であり得るが、他の物理システムが異なるドライバ設定を要求する。   In accordance with some embodiments of the present invention, designing quantum logic 202 includes controlling the characteristics of driver hardware 58. The driver hardware 58 is a control system for implementing each basic operation of the qubit in the quantum register. Driver hardware 58 includes a time unit setting that defines the resolution or minimum duration of each operation in operation 48 of the time resolution setting. Further, the pulse sharpness in the time-resolved setting of the operator 48 can be calibrated according to the characteristics of the driver hardware 58. The optimal driver setting ultimately depends on the physical characteristics of the quantum computing system 70. For example, U.S. Patent No. 6,057,056 depicts a current pulse having a frequency on the order of gigahertz and an amplitude on the order of nanoamperes, which is incorporated by reference in its entirety. The driver settings 58 may be useful for phase or flux qubits, but other physical systems require different driver settings.

本発明の幾つかの実施例において、ターゲットとなる量子コンピューティングシステム70は、量子論理48が設計される前に選択され得る。ターゲットとなる量子コンピューティングシステム70が選択される場合、ドライバハードウェア58の詳細は、前記プラットフォームの必要性に応じて変化する。しかしながら、任意ポイントで、前記プラットフォーム70に対するドライバ詳細58は、設計された量子コンピューティングプラットフォーム70で実行されるアルゴリズムの設計を支援するために変更され得る。   In some embodiments of the present invention, the target quantum computing system 70 may be selected before the quantum logic 48 is designed. If a targeted quantum computing system 70 is selected, the details of the driver hardware 58 will vary depending on the needs of the platform. However, at any point, the driver details 58 for the platform 70 may be modified to assist in the design of algorithms that are executed on the designed quantum computing platform 70.

本発明の幾つかの実施例において、量子論理を設計することは、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-IDE module 44 to define the number of qubits 74 required and the possible connections between them (basic operators). Including that. Defining the basic operator includes (i) selecting a desired operator sequence, (ii) setting appropriate driver conditions, and (iii) setting the initial state of each qubit 74 in the quantum register 72. (Iv) compiling the sequence of operations into quantum machine language instructions 52; (v) executing the quantum machine language instructions 52 in the quantum computing system 70; and (vi) using the output module 56 to Evaluating the result of the executed sequence. If the calculated output does not meet the desired output, the process is repeated by iteratively redesigning the pulse sequence 48 using the QC-IDE module 44 until the desired result is obtained.

本発明の幾つかの実施例において、量子論理48は、1つ又は複数の抽象量子ゲート1000(図10)を含んでいる。各抽象量子ゲート1000は、基本オペレーション(ゲート)1002のシーケンス及びドライバ特性1004を含んでいる。抽象量子ゲート1000は、ハイレベル量子論理48を設計するのに用いられ得る。基本オペレーション(ゲート)のシーケンスのように、各抽象量子ゲート1000は、他の抽象量子ゲート1000と組み合わされ、抽象量子ゲートのシーケンスを形成し、それによって、ハイレベル量子論理48を達成する。言い換えれば、抽象量子ゲート1000における各オペレーション1002は、基本オペレーション(ゲート)又は抽象量子ゲートであり得る。   In some embodiments of the present invention, quantum logic 48 includes one or more abstract quantum gates 1000 (FIG. 10). Each abstract quantum gate 1000 includes a sequence of basic operations (gates) 1002 and driver characteristics 1004. Abstract quantum gate 1000 can be used to design high-level quantum logic 48. Like the sequence of basic operations (gates), each abstract quantum gate 1000 is combined with other abstract quantum gates 1000 to form a sequence of abstract quantum gates, thereby achieving high-level quantum logic 48. In other words, each operation 1002 in the abstract quantum gate 1000 can be a basic operation (gate) or an abstract quantum gate.

本発明の幾つかの実施例は、抽象量子ゲート1000を作成すること、及び抽象量子ゲート1000のシーケンスを含むハイレベル量子論理48を設計することを含んでいる。抽象量子ゲート1000は、単一のキュビット74又は複数のキュビット74において動作し得る。幾つかの実施例において、抽象量子ゲート1000は、抽象量子ゲート1000のシーケンスを含んでいる。これは、特に、多くのキュビット74を伴う複雑な量子論理48を設計するのに有利である。   Some embodiments of the invention include creating an abstract quantum gate 1000 and designing high-level quantum logic 48 that includes a sequence of abstract quantum gates 1000. Abstract quantum gate 1000 may operate in a single qubit 74 or multiple qubits 74. In some embodiments, the abstract quantum gate 1000 includes a sequence of abstract quantum gates 1000. This is particularly advantageous for designing complex quantum logic 48 with many qubits 74.

本発明の幾つかの実施例において、抽象量子ゲート1000は、基本オペレータ(例えば、上記2.2.3節で述べたパウリ行列)の所望のシーケンスを確立すること、及び抽象量子ゲート1000としてシーケンスをエクスポートすることによって設計される。基本オペレータ(ゲート)のシーケンスを確立することは、QC−IDEモジュール44を用いて成し遂げられ得る。一度、基本オペレータ(ゲート)1002のシーケンスが設計されれば、前記シーケンスは、単一の量子ゲート1000として定義され得る。本発明の幾つかの実施例において、抽象量子ゲート1000は、その後、ハイレベル量子論理設計ツールと共に用いられ得る。   In some embodiments of the present invention, the abstract quantum gate 1000 establishes the desired sequence of basic operators (eg, the Pauli matrix described in Section 2.2.3 above) and the sequence as the abstract quantum gate 1000. Designed by exporting. Establishing a basic operator (gate) sequence may be accomplished using the QC-IDE module 44. Once a sequence of basic operators (gates) 1002 is designed, the sequence can be defined as a single quantum gate 1000. In some embodiments of the present invention, the abstract quantum gate 1000 can then be used with a high level quantum logic design tool.

本発明の幾つかの実施例において、メモリ24は、(示されていない)抽象オペレータ1002の1つ又は複数のライブラリを含んでいる。前記ライブラリにおける抽象オペレータ1000は、設計段階202中にオペレータ48の時間分解設定に組み込まれる。抽象オペレータの各ライブラリは、特定のターゲットの量子コンピューティングシステム70に対応している。この方法で、抽象オペレータのライブラリは、所定の量子コンピューティングシステム70の特性を定義するのに用いられ得る。結果として、システム10における量子コンピューティングシステム70は、別の量子コンピューティングシステムを正確にシミュレートすることができる。   In some embodiments of the present invention, the memory 24 includes one or more libraries of abstract operators 1002 (not shown). The abstract operator 1000 in the library is incorporated into the operator 48 time resolution settings during the design phase 202. Each library of abstract operators corresponds to a specific target quantum computing system 70. In this way, a library of abstract operators can be used to define the characteristics of a given quantum computing system 70. As a result, the quantum computing system 70 in the system 10 can accurately simulate another quantum computing system.

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 single qubit 74 or multiple qubits 74. Reading the qubit 74 involves reducing the state of the qubit, the qubit returns a conventional “1” or “0”, and then measures the value of (0 or 1). This aspect of the invention is advantageous because quantum algorithms often require conditional actions based on reading a single qubit 74 or multiple qubits 74. For example, referring to Shor's Patent Document 2, this is incorporated by reference in its entirety. An error decoding operation typically involves reading the state of certain auxiliary qubits 74 to remove possible errors from the information and performing operations on other qubits based on their measurements. Accompany. In addition, readout and subsequent conditional operations are typically used for quantum teleportation. In U.S. Patent No. 6,057,033, decoding a logical quantum state requires measuring two qubits and then performing a NOT quantum operation on the target qubit based on the results of reading the first two qubits. To do.

本発明のこの側面に従う一実施例において、量子オペレーションは、先の読み出しオペレーション(又は読み出しオペレーションの組)の結果に基づいて実行される。この制御論理は、論理オペレータ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 logic operator 48. In some embodiments, the read operation is implemented in multiple qubits 74 and conditional quantum logic is designed based on the result of the read operation. This conditional logic applies to qubits 74 that maintain a quantum state (ie, qubits that have not undergone a read operation). A set of quantum operations that may be performed based on the readout includes a set of basic operators and / or a set of abstract operators 1000 that are available to each quantum computing system 70.

任意の基本オペレータ又は定義された基本オペレータの組は、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 quantum logic design 48 uses three qubits 74. After some evolution of the set of three qubits 74 has occurred, the second and third qubits are read. The set of operators is then applied subject to the result of the read operation as illustrated by the following pseudo code.

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 qubit 74 of quantum computing system 70.

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 abstract operators 48 into a set of quantum machine language instructions 52 (FIG. 1), the abstract operation 1002 Must be compiled into a set of basic operators equivalent to. Compiling the quantum logic includes translating a set of abstract operations 1002 into a set of basic operations, and incorporating driver settings into the basic operations to create a set of quantum machine language instructions 52. Yes.

米国特許出願番号09/782,886US patent application Ser. No. 09 / 782,886

抽象オペレータ1000を一組の基本オペレーションに変換することは、基本オペレーションのシーケンスを最適化することを含んでいる。量子コンピューティングシステム70におけるデコヒーレンスプロセスが、決定的に重要な計算を実行するのに必要とされる時間を示すとき、基本オペレーションの組の最適化は、量子論理の実行のためには重要になる。特許文献4は、これによって、その全体が参照によって取り込まれ、一組の基本オペレータの最適化(低減)に対するルールを描写する。本発明の幾つかの実施例において、これらのルールは、基本オペレータの交換、無意味な時間単位の除去、及び冗長パルスシーケンスの除去又は単純化されたパルスシーケンスによる前記パルスシーケンスの交換を含んでいる。   Converting the abstract operator 1000 to a set of basic operations involves optimizing the sequence of basic operations. When the decoherence process in the quantum computing system 70 indicates the time required to perform a critically important calculation, the optimization of the set of basic operations is important for the execution of quantum logic. Become. U.S. Pat. No. 6,057,086 is hereby incorporated by reference in its entirety and describes the rules for optimization (reduction) of a set of basic operators. In some embodiments of the present invention, these rules include basic operator exchange, meaningless time unit removal, and redundant pulse sequence removal or replacement of the pulse sequence by a simplified pulse sequence. Yes.

基本オペレータの交換により、互いに干渉しない量子ゲートは、それらの順序を結局はオーバーラップさせるか又は変化させることができる。例えば、キュビット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 quantum computing system 70 determines which basic operators to exchange, the exchange operation depends on quantum computing system 70. For example, the effect of the coupling operation between two qubits 74 depends on the nature of the coupling, and the coupling order depends on the quantum computing system 70 used.

一度、所望の論理48が開発されれば、それは、前記量子コンピューティングシステム70に対する抽象量子オペレータとして定義され得る。一組の抽象量子オペレータは、例えば量子フーリエ変換(QFT)のようなハイレベル量子論理を実現するのに用いられ得る。例えば、Blais氏の特許文献4を参照すると、これによって、その全体が参照によって取り込まれている。このハイレベルな量子アルゴリズム開発は、前記複雑な量子アルゴリズムを確立するのに有用な抽象レベルを提供する。さらに、可能性のあるエラーに対する量子コンピューティングシステムの感度に基づいて、個々のキュビット状態は、論理的キュビットとしてエンコードされ、その中で、複数の物理的キュビットは単一のキュビット状態をエンコードするのに用いられ、前記状態は、計算中のエラーから保護される。前記アルゴリズムは、従来のエラー定性アルゴリズムに類似した側面を含んでおり、例えば、Shor氏の特許文献2を参照すると、これによって、その全体が参照によって取り込まれている。   Once the desired logic 48 is developed, it can be defined as an abstract quantum operator for the quantum computing system 70. A set of abstract quantum operators can be used to implement high-level quantum logic, such as, for example, a quantum Fourier transform (QFT). For example, referring to Blais, US Pat. This high level quantum algorithm development provides a level of abstraction useful for establishing the complex quantum algorithm. Furthermore, based on the sensitivity of the quantum computing system to possible errors, individual qubit states are encoded as logical qubits, in which multiple physical qubits encode a single qubit state. The state is protected from errors during computation. The algorithm includes aspects similar to the conventional error qualitative algorithm, and for example, see Shor, US Pat.

ハイレベル量子論理48が設計に用いられる場合であって、一組の抽象オペレータが直接的に一組の量子機械語命令52に変換される場合には、幾つかの非効率な結果を生じる。例えば、特許文献4において、制御NOT(CN)ゲートは、以下の後続の基本オペレーションとして定義される。   If high-level quantum logic 48 is used in the design and a set of abstract operators is translated directly into a set of quantum machine language instructions 52, several inefficient results will occur. For example, in Patent Document 4, a control NOT (CN) gate is defined as the following subsequent basic operation.

Figure 2005513680
Figure 2005513680

この場合において、r及びsは、2つのキュビット74であり、Z及びXは、2.2.3節で定義したものである。このパルスシーケンスは、多数の固体量子コンピューティングシステムにおいて利用できる基本量子ゲートからなる。ここで、CPrsゲートは、ZTSオペレーション効果を有する2つのキュビット間のエンタングルメントオペレーションである。SWAP12量子ゲートは、 In this case, r and s are two qubits 74, and Z and X are as defined in section 2.2.3. This pulse sequence consists of basic quantum gates that can be used in many solid state quantum computing systems. Here, CP rs gate is entanglement operations between two qubits with Z T Z S operation effect. SWAP 12 quantum gate

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:

Figure 2005513680
Figure 2005513680

この場合において、角括弧は同時に実現され得るオペレータを並置し、これによって全体の必要とされる時間を低減し、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 quantum computing system 70. In this case, the QC-IDE module 44 is used to optimize the basic operator set, and the compilation will combine the driver details with the basic operator set to be performed in the quantum computing system 70. Contains.

コンパイルプロセスで利用される量子機械語52は、ターゲットの量子コンピューティングシステム70次第で変化し得る。異なる量子コンピューティングシステム70は、基本オペレータの異なる組を有し得る。量子コンピューティングシステムは、全集合を形成するのに十分なオペレータを有する。本発明の幾つかの実施例は、所定の量子コンピューティングシステム70に対して特有である量子機械語52によって量子論理をコンパイルし得る。   The quantum machine language 52 utilized in the compilation process may vary depending on the target quantum computing system 70. Different quantum computing systems 70 may have different sets of basic operators. A quantum computing system has enough operators to form a whole set. Some embodiments of the present invention may compile quantum logic with a quantum machine language 52 that is unique to a given quantum computing system 70.

5.4 量子機械語命令
一度、量子論値48及びドライバ58の詳細がコンパイルされると、実行され得る一組の量子機械語命令52が現れる。機械語命令52の性質は、それらの命令を実行するためのメカニズム次第である。例えば、命令セットを実行するためのメカニズムは、特定の量子コンピューティングシステム70、又はデジタルコンピュータ20のメモリ24に固有の前記システムのシミュレーションであり得る。従って、利用可能な基本オペレータの組は、各量子コンピューティングシステムに対して様々である。
5.4 Quantum Machine Language Instructions Once the quantum theory value 48 and driver 58 details are compiled, a set of quantum machine language instructions 52 appears that can be executed. The nature of the machine language instructions 52 depends on the mechanism for executing those instructions. For example, the mechanism for executing the instruction set can be a specific quantum computing system 70 or a simulation of the system specific to the memory 24 of the digital computer 20. Thus, the set of available basic operators varies for each quantum computing system.

量子機械語命令セット52は、この中で描写されるそれらの量子コンピューティングシステム70で実行され得る。量子コンピューティングシステム70は、任意の量子力学的システムを含んでおり、一組の基本状態が量子力学的原理に従って計算するのに用いられ得る。量子コンピューティングに有用な量子システムは、システムの情報ユニット又はキュビット74を介して少なくともある程度の制御を提供しなければならない。例えば、各量子コンピューティングシステム70は、キュビット74の状態を初期化し、キュビット74の一連のユニタリ展開を実現し、キュビット74の状態において読み出しオペレーションを実現できなければならない。このような量子コンピューティングシステムは、“量子レジスタ72”と称され、量子コンピューティングに必要とされるオペレーションが複数のキュビット74に適用される。量子レジスタ構造72は、例えば、特許文献1に描写されており、これによって、その全体が参照によって取り込まれている。   Quantum machine language instruction set 52 may be executed on those quantum computing systems 70 depicted herein. Quantum computing system 70 includes any quantum mechanical system, and a set of fundamental states can be used to calculate according to quantum mechanical principles. A quantum system useful for quantum computing must provide at least some control through the system's information unit or qubit 74. For example, each quantum computing system 70 must be able to initialize the state of qubit 74, implement a series of unitary expansions of qubit 74, and implement read operations in the state of qubit 74. Such a quantum computing system is referred to as a “quantum register 72”, and operations required for quantum computing are applied to a plurality of qubits 74. The quantum register structure 72 is depicted, for example, in US Pat.

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-IDE module 44. These tools include tools for identifying driver details, identifying initial conditions for quantum computing system 70, and compiling instruction set 48 into instruction set 52 (FIG. 1). In some embodiments of the present invention, the initial condition of qubit 74 in quantum computing system 70 is set to the | 0> state by default.

量子機械語命令52の組は、どのオペレーションが時間分解手法で量子レジスタ72において実現されることになるかを命令する。一度、コンパイルされると、量子機械語命令52は、制御システム(実行モジュール54)及びドライバ(ドライバハードウェア58)によって実行され、図3Bに示されるような量子レジスタ72によって提供される制御状況を利用する。特に、図3Bは、命令セット52がシミュレーションモジュール60を用いてデジタルコンピュータ20でシミュレートされ得ることを示す。択一的に、命令セット52は、量子コンピュータ70で実行され得る。幾つかの実施例において、シミュレーションモジュール60は、通常の微分方程式解答プログラムである。シミュレーションモジュール60が利用される場合、量子コンピューティングシステムの状態の重ね合わせは、初期条件からの入力に基づいて準備される。量子コンピュータ70において利用可能な初期化オペレーションは、|0>又は|1>状態のどちらかにキュビットを初期化できるのみであるので、状態の重ね合わせに対する初期化は、物理的に非現実的である。しかしながら、シミュレーション目的では、それは、初期化プロセスを回避し、量子コンピューティングシステムを直接所望の状態に初期化するのには、時には有用である。   The set of quantum machine language instructions 52 dictates which operations will be implemented in the quantum register 72 in a time resolved manner. Once compiled, the quantum machine language instruction 52 is executed by the control system (execution module 54) and driver (driver hardware 58) and displays the control status provided by the quantum register 72 as shown in FIG. 3B. Use. In particular, FIG. 3B shows that the instruction set 52 can be simulated on the digital computer 20 using the simulation module 60. Alternatively, the instruction set 52 can be executed on the quantum computer 70. In some embodiments, the simulation module 60 is a normal differential equation answer program. When the simulation module 60 is used, the superposition of the state of the quantum computing system is prepared based on the input from the initial conditions. Initialization operations available in quantum computer 70 can only initialize qubits to either the | 0> or | 1> states, so initialization for superposition of states is physically unrealistic. is there. However, for simulation purposes, it is sometimes useful to avoid the initialization process and initialize the quantum computing system directly to the desired state.

図3Cは、量子機械語命令52の実行結果がどのように出力として提供されるかを例証する。出力の利用形態は、従来の値によって0又は1のようなレジスタ72の最終状態を含んでいる。さらに、量子機械語命令52がシミュレーションモジュール60を用いてシミュレートされる実例において、量子レジスタ72の量子状態の進化は、状態の重ね合わせの正規化された大きさを比較する構想で監視され得る。推測シミュレーションが量子コンピュータ70における実際の計算よりも大きなデータを提供することは、量子コンピュータ70における読み出しオペレーションが、キュビット74の状態を従来の“0”又は“1”の値に縮小させることである。物理的読み出しがシミュレーションモジュール60によって必要とされないので、シミュレートされるキュビットの量子状態を縮小させることは必要とせず、前記キュビットを表す行列が出力され得る。   FIG. 3C illustrates how the execution result of the quantum machine language instruction 52 is provided as an output. The output usage includes the final state of register 72, such as 0 or 1, depending on the conventional value. Further, in instances where quantum machine language instructions 52 are simulated using simulation module 60, the quantum state evolution of quantum register 72 may be monitored with the concept of comparing the normalized magnitude of state superposition. . The reason why the speculative simulation provides more data than the actual calculation in the quantum computer 70 is that the read operation in the quantum computer 70 reduces the state of the qubit 74 to a conventional “0” or “1” value. . Since physical readout is not required by the simulation module 60, it is not necessary to reduce the quantum state of the simulated qubit and a matrix representing the qubit can be output.

本発明の幾つかの実施例において、量子コンピューティングシステム70は、|0>又は|1>のどちらかの従来の状態に初期化できるのみである。その後、システム70は、基本状態の重ね合わせに進化する。この場合において、一組の抽象オペレータは、量子論理を提供するのに用いられ、実際には所望の量子計算を実現するより先に、量子コンピューティングシステム70を計算に有用な状態の重ね合わせに進化させる。   In some embodiments of the present invention, quantum computing system 70 can only be initialized to a conventional state of either | 0> or | 1>. Thereafter, the system 70 evolves to a superposition of the basic states. In this case, a set of abstract operators is used to provide the quantum logic, and actually put the quantum computing system 70 into a superposition of computationally useful states prior to realizing the desired quantum computation. Evolve.

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 conventional computer 20 designs, compiles, and executes to a quantum computing integrated development environment. Can be used to provide output. Thus, in some embodiments of the present invention, the quantum computing system is simulated using a conventional computer 20.

量子コンピューティングシステムがシミュレートされる本発明の実施例は、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:

Figure 2005513680
Figure 2005513680

この場合において、最初の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 “qubit 1” usually being the rightmost number and “qubit N” being usually the leftmost.

本発明の幾つかの実施例において、機械語命令セット52を実行することは、量子コンピューティングシステム70をシミュレートすることを含んでいる。前記シミュレート環境の量子レジスタは、利用可能な組の基本オペレータをアプリケーションに従って進化させる。上述のように、シミュレートされた量子レジスタの進化は、時間依存のシュレディンガー方程式を解くことによって描写され得る。システムのハミルトニアンは、エラー又は損失の潜在源と同様な基本オペレータのシーケンスを含む量子システムの全ての時間分解動作を含んでおり、2N×2N行列によって表され、この場合において、Nはシステムのキュビットの数を表している。基本オペレータの各々は、2N×2Nユニタリ行列によって描写され、その各々は量子レジスタ状態の特定の進化と相関関係がある。 In some embodiments of the present invention, executing the machine language instruction set 52 includes simulating the quantum computing system 70. The quantum register of the simulated environment evolves the available set of basic operators according to the application. As mentioned above, the evolution of a simulated quantum register can be described by solving a time-dependent Schrodinger equation. The Hamiltonian of the system includes all time-resolved operations of the quantum system, including a sequence of elementary operators similar to potential sources of errors or losses, and is represented by a 2 N × 2 N matrix, where N is the system Represents the number of qubits. Each of the basic operators is described by a 2 N × 2 N unitary matrix, each of which correlates with a specific evolution of the quantum register state.

本発明の幾つかの実施例において、量子システムのシミュレーションは、解かれることになるシステムのハミルトニアンを表す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 quantum computing system 70. The embodiments include (i) initialization of the quantum register 72, (ii) evolution of the register 72 with respect to some superposition of the basic state, (iii) evolution of the state of the quantum register 72, (iv) Includes functionality for reading. This functionality is useful for calibrating a single qubit 74 in quantum register 72. In the calibration, the qubit 74 is initialized and subsequently read to gather information regarding the unique decoherence process in the quantum computing system 70. Further, after initialization, the sequence of basic operators can be applied to the qubit before the read operation is applied. Through a repeated measurement process, the statistical analysis of the particular qubit 74 in the quantum computing system 70 is related to each basic operation applicable to a single qubit 74 of a given quantum computing system 70. Can be incorporated. The processing procedure can be extended to calibration of multiple qubits 74. Furthermore, interaction operators between qubits can be similarly calibrated using the systems and methods of the present invention.

図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. State 550 represents the initial state of the quantum register for calibration. This state depends on the number of qubits involved in the calibration. State 550 represents the initial state of the register as prepared by the control system. Typically, a register may begin with several single conventional states rather than several overlapping states. The evolution of the initial state 550 of the quantum computing system is then accomplished at operation 555, where several sequences of basic operators are used to evolve the state of the quantum computing system. Once the basic operator sequence is applied, the read operation 560 may be implemented in a quantum computing system. Thus, the output from the register correlates with the input state and the applied sequence of basic operators and determines information about the quantum system.

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-IDE 44 according to one embodiment of the present invention. FIG. 6A illustrates a circuit layout interface module 620, a machine language interface 610, a pulse amplitude interface 611, an initial condition interface 615, a control panel 630, a global settings interface 640, a toolbar menu 650, and a system information interface 660.

図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 layout interface module 620 represents a general quantum computing scheme and can be designed to reflect the physical characteristics of any quantum computing system 70.

図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 machine language interface 610 in FIG. 6A illustrates an example of a pulse sequence for performing a quantum CNOT operation. The horizontal axis of the chart 613 in the interface 610 represents a time unit, and each number on the horizontal axis represents a continuous period (duration). Each column in chart 613 represents a qubit gate and applies to the qubit being designed. For example, a column 613-1 of the chart 613 indicates “Q1σ X ”. This means that σ X is applied to qubit 74-1 in each period in which a pulse appears in column 613-1 of chart 613. A pulse is represented by a vertical line rising in a predetermined column for a predetermined period. For example, there is a pulse in period 2 of column 614 of chart 613. This means that σ X will be applied to qubit 74-2 during period 2. In the example of FIG. 6A, the CNOT operation is expressed as follows.

CNOT1,2=ei3π/42(π/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 chart 613 represent from the top X r (θ), Y r (θ), Z r (θ), ground or read operations, and C r, s (θ) operations for qubits 1 and 2, respectively. Yes. Bars in the columns indicate that each gate is changing during the time unit, and represent a pulse of the operation in each qubit. The magnitude of the pulse can be defined in the pulse amplitude interface 611.

機械語インターフェース610は、量子機械語を表し、量子コンピュータ70で実行される。一度、それはコンパイルされると、それはプログラムを実行するのに重要となる全ての関連する情報を含む。図6Aにおいて、ハードウェア設定及びパルス詳細は、機械語インターフェース610におけるドライバパネル699の“設定及び振幅”ボタン698にアクセスすることによって定義され得る。   The machine language interface 610 represents a quantum machine language and is executed by the quantum computer 70. Once it is compiled, it contains all relevant information that is important to running the program. In FIG. 6A, hardware settings and pulse details may be defined by accessing the “Settings and Amplitude” button 698 of the driver panel 699 in the machine language interface 610.

“設定及び振幅”ボタン698は、グローバル設定インターフェース640及びパルス振幅インターフェース611をそれぞれ開く。グローバル設定インターフェース640により、ユーザは、適用されるパルスの峻度を制御することができる。また、ユーザは、時間単位を動作させるように定義できる。前記時間単位は、1.0ナノ秒(ns)として図6Aに例証される。パルス振幅インターフェース611により、ユーザは、適用されるパルスの下でデフォルト領域を設定することができ、それぞれの量子ゲートに対する自由度を許容する。   The “Settings and Amplitude” button 698 opens the global setting interface 640 and the pulse amplitude interface 611, respectively. The global settings interface 640 allows the user to control the steepness of the applied pulses. Also, the user can define to operate the time unit. The time unit is illustrated in FIG. 6A as 1.0 nanosecond (ns). The pulse amplitude interface 611 allows the user to set a default region under the applied pulse, allowing freedom for each quantum gate.

初期条件インターフェース615は、各々のキュビット74それぞれの複素数の状態を設定することによって、ユーザに量子システム70に対する所望の初期状態を準備することを許容する。キュビット74の状態は、|Qr>=α|0>+β|1>として定義され、この場合において、α及びβは、形態a+biを有する複素数であり、a及びbは実数である。図6Aを参照すると、キュビットQ1に対する初期条件は、以下のように定義される。 The initial condition interface 615 allows the user to prepare the desired initial state for the quantum system 70 by setting the complex state for each qubit 74. The state of qubit 74 is defined as | Q r > = α | 0> + β | 1>, where α and β are complex numbers having the form a + bi, and a and b are real numbers. Referring to FIG. 6A, the initial condition for qubit Q1 is defined as follows.

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 initial condition interface 615 includes a random button for assigning any number to the qubit state. This function is useful in preparing the initial state of quantum register 72 with state superposition to understand the logic of each operation.

ツールバー650により、ユーザは、QC−IDEモジュール44に特有なツールと同様に“新規”、“開く”、“保存”、及び“ヘルプ”のようなソフトウェアに共通する標準機能にアクセスでき、“カーソル”、“追加キュビット”、及び“追加接続”のような回路レイアウトインターフェースモジュール620に有用である。   The toolbar 650 allows the user to access standard functions common to the software such as “New”, “Open”, “Save”, and “Help” as well as tools specific to the QC-IDE module 44, and “Cursor” Useful for circuit layout interface modules 620 such as "," additional qubit "and" additional connection ".

コントロールパネル630は、図6Aに例証されるそれぞれのインターフェースを開閉するインターフェースの実施例である。本発明の実施例において、制御パネル630は、可視のワークスペースを広げるように大きさが縮小される閉鎖状態と、特徴及び制御において提供しアクセス可能である開放状態と、を有する。図7は、制御パネル630に対する開いた状態を例証する。   Control panel 630 is an example of an interface that opens and closes the respective interface illustrated in FIG. 6A. In an embodiment of the present invention, the control panel 630 has a closed state that is reduced in size to expand the visible workspace and an open state that is provided and accessible in features and control. FIG. 7 illustrates the open state for the control panel 630.

システム情報インターフェース660A(図6A)は、適用されている回路及び論理についての情報を含んでいる。インターフェース660Aは、ワーキング文書のタイトル、System=Genericとして例証されるシステムタイプ、及びCouplings=Controlled Phaseとして例証される結合形態を含んでいる。システム情報インターフェース660Aにより、ユーザは、所望の量子コンピューティングプラットフォーム70のパラメータを定義できる。例えば、幾つかの場合において、量子CNOTオペレーションは、Couplings=CNOTのような結合オペレーションに選択され得る。   System information interface 660A (FIG. 6A) contains information about the circuits and logic being applied. The interface 660A includes the title of the working document, the system type illustrated as System = Generic, and the combined form illustrated as Couplings = Controlled Phase. System information interface 660A allows a user to define the desired quantum computing platform 70 parameters. For example, in some cases, a quantum CNOT operation may be selected for a join operation such as Couplings = CNOT.

図6Bは、システム設計インターフェース660Bの実施例を説明する。システム設計インターフェースは、ユーザに、システムの有用な側面を定義することを許容し、さらに、図6Aからのグローバル設定インターフェース640及びシステム情報インターフェース660Aに関連している。   FIG. 6B illustrates an embodiment of the system design interface 660B. The system design interface allows the user to define useful aspects of the system and is further related to the global settings interface 640 and the system information interface 660A from FIG. 6A.

図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-IDE module 44. As illustrated in FIG. 6A, circuit layout interface module 620 and machine language interface 610 are used to define a basic sequence of pulses that perform a set of logic 48 in quantum computer 70. The chart 630 of the machine language interface 610 in FIG. 7 illustrates quantum CNOT operation. FIG. 7 illustrates an example of an export library element interface 670 that converts a machine language sequence such as a single quantum logic gate for use in a logic design interface (an example is illustrated in FIG. 8A). Used to define and export. The export library element interface 670 includes a text area 671 for a file name, a display 672 of an icon to be used for the library element, a button 673 for selecting a desired icon to be used, and a text area for the title of the library element. 674, includes a text area 675 depicting library elements, and some text 676 depicting system information for the library elements. Library element titles, descriptions, and icons can be used to carry information in the logical design interface.

さらに、図7は、制御パネル630の開放モードの例を説明する。図7に例証される制御パネル630の例は、機械語インターフェース610を表示するOSボタン、図6の初期条件インターフェース615を表示する条件ボタン、及びコンパイルし、実行し、それぞれの機械語の結果を表示するための実行モードボタン(実行モードインターフェースの実施例は図9A及び9Bに説明される)を含んでいる。   Further, FIG. 7 illustrates an example of the open mode of the control panel 630. The control panel 630 example illustrated in FIG. 7 includes an OS button that displays the machine language interface 610, a condition button that displays the initial condition interface 615 of FIG. 6, and a compiled and executed result for each machine language. It includes an execution mode button for display (an example of an execution mode interface is described in FIGS. 9A and 9B).

図8Aは、論理設計インターフェース780の実施例を説明する。論理設計インターフェース780により、ユーザは、標準量子回路表示を用いてハイレベル量子論理を設計できる。キュビットは、左から右に時間が経過していくことを表している水平の列に表されている。幾つかの実施例において、量子論理ゲートは、それぞれの時間ステップ及びキュビットラインでクリックすることによってキュビットラインの各々に追加される。本発明の幾つかの実施例において、所望の位置でそれぞれのキュビットライン上のマウスポインタを右クリックすることによって、ドロップダウンメニューがライブラリ要素のリストを表示して現れる。ドロップダウンメニュー781の実施例は、利用可能なライブラリ要素のリストであり、図8Aで例証される。   FIG. 8A illustrates an example of a logic design interface 780. The logic design interface 780 allows the user to design high level quantum logic using standard quantum circuit representations. The qubits are represented in horizontal columns that represent the passage of time from left to right. In some embodiments, a quantum logic gate is added to each of the qubit lines by clicking on the respective time step and qubit line. In some embodiments of the present invention, a drop-down menu appears displaying a list of library elements by right-clicking the mouse pointer on each qubit line at the desired location. An example of a drop-down menu 781 is a list of available library elements and is illustrated in FIG. 8A.

図8Aの論理設計インターフェース780は、キュビットQ1の初期状態がキュビットQ3にテレポートされる量子テレポーテーション回路の例を説明する。量子テレポーテーションの回路は、従来から周知である。例えば、非特許文献11のp.26−28を参照すると、この中に参照によって組み込まれている。例証されるように、テレポーテーション回路は、読み出し、X、及びZオペレーションと同様なアダマール及びCNOTオペレーションを含む量子回路を備えている。   The logic design interface 780 of FIG. 8A illustrates an example of a quantum teleportation circuit in which the initial state of qubit Q1 is teleported to qubit Q3. Quantum teleportation circuits are well known. For example, p. 26-28, incorporated herein by reference. As illustrated, the teleportation circuit comprises a quantum circuit that includes Hadamard and CNOT operations similar to read, X, and Z operations.

図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 logic design interface 780 may represent multiple basic pulses, a single time unit may also represent multiple time units. In some embodiments, the single time unit of the logical design interface 780 represents five basic time units. The length of the time chart (control chronology) for the qubits in the logic design interface 780 can be controlled by a length button 782.

論理設計インターフェース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 logic design interface 780 includes read operations on qubits Q1 and Q2. The value resulting from the respective read operation follows | 1>, after which further the gate is applied to the target qubit Q3 (FIG. 8A). For example, referring again to FIG. 8A, the X and Z logic gates applied to qubit Q1 are conditional operations based on the value of the read operation performed on qubits Q1 and Q2. If a read operation in qubit Q2 results in a value of | 1>, then an X operation is applied to qubit Q1, and if a read operation in qubit Q1 results in a value of | 1>, then a Z operation Applies to Q1. These conditional operations are accomplished by selections made with the conditional option in drop-down menu 781 in the quantum circuit illustrated in FIG. 8A. In one embodiment of the present invention, the condition option in drop-down menu 781 appears only when the user opens drop-down menu 781 in a read operation. The conditional operation of the quantum circuit in the present invention is described in detail in section 5.2 above.

図8Bは、任意形態の従来論理が読み出しオペレーションの結果に適用され得る場合のグランド条件インターフェース782を例証する。例えば、図8Bに例証されるステートメントは、擬似コードで以下のように読み出す。   FIG. 8B illustrates a ground condition interface 782 where any form of conventional logic can be applied to the result of a read operation. For example, the statement illustrated in FIG. 8B is read in pseudocode as follows:

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 statement browser interface 783 where the user displays conditional logic statements that apply to each quantum circuit. Referring to the quantum circuit illustrated in FIG. 8A, the embodiment of the present invention includes two conditional operations, each based on a read operation in qubits Q1 and Q2, respectively, as shown in FIG. 8C as cond1 and cond2 in the left panel. Illustrated in. In an embodiment, if one of the conditions of each circuit is selected, the conditional logic of the condition appears in the main panel of the control statement browser interface 783. FIG. 8C illustrates a conditional logic example of cond2 from the teleportation circuit illustrated in FIG. 8A.

図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 (output mode 56 of FIG. 1) that includes an execution console interface 835, a final state interface 891, an OS interface 892, and a state amplitude interface 893. The execution mode interface 800 is an embodiment of the output result interface illustrated as element 208 in FIG. 2 and is used to display the execution of quantum logic. In an embodiment, the execution console interface 835 operates as the main control interface for displaying and reviewing the execution of calculations. The execution console interface 835 may include a plot display panel 835-1 that displays various output interfaces and a time control panel 835-2 that controls the position of the time console that assists in displaying and recognizing the output results. Both the state amplitude interface 893 and the final state interface 891 are examples of interfaces that display quantum logic execution results, and the OS interface 892 can be used to compare the results for logic input pulses or machine language.

本発明の幾つかの実施例において、最終状態インターフェース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 quantum register 72, (ii) value of quantum register 72 in the time console, and (iii) The final state of the quantum register 72 after calculation is included. Changing the position of the time console changes the corresponding information stored in the quantum register 72. This intermediate value is useful for tracking quantum logic through execution. The state amplitude interface 893 provides a graphical representation of the information in the quantum register 72 in the form of plotting the state population against time. The output illustrated in FIG. 9A at the state amplitude interface 893 illustrates an example of a quantum CNOT operation applied between two qubits having arbitrary initial states. Following the state line at state amplitude interface 893, states 893-01 and 893-11 corresponding to quantum states | 01> and | 11> respectively exchange probabilities while quantum states | 00> and | 10> respectively. The corresponding states 893-00 and 893-10 demonstrate that the probability does not change. This demonstrates the CNOT logic when the control qubit is Q1 and the target qubit is Q2, so that the state is displayed as | Q2Q1 |.

図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 execution mode interface 800. The execution mode interface 800 of FIG. 9B illustrates an example of output from a quantum teleportation circuit, such as the illustrated logical design interface 780 of FIG. 8A. The run mode interface 800 (FIG. 9B) includes a final state interface 891-1 and an intermediate state interface 891-2, and is similar to the final state interface 891 illustrated in FIG. 9A. Final state interface 891-1 and intermediate state interface 891-2 include final global phase panels 891-1-P and 891-2-P, respectively, to bring the global phase defined by the user into the final state of the quantum register. Apply. For example, if the intermediate state interface illustrates a global phase of eiπ / 2 , the number 1.570796 is entered by the user and in this example represents π / 2 and is applied to the final state of the quantum register. Thus, the final output can take the same form as the initial state of the quantum register. In the example of the teleportation circuit illustrated in FIG. 8A, the state information stored in qubit Q1 is transformed to qubit Q3, and the state is represented by | Q3Q2Q1>. In the example of the teleportation circuit, the final states of qubit Q1 and qubit Q2 are not important.

本発明は、コンピュータの読み出し可能な記憶媒体に組み込まれたコンピュータプログラム機構を含むコンピュータプログラム製品として実行され得る。例えば、コンピュータプログラム製品は、図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.

本発明に係る一実施例に従って動作するシステム10である。1 is a system 10 that operates in accordance with one embodiment of the present invention. 本発明に係る幾つかの実施例に従う、量子コンピューティング統合開発環境の要素間の相互作用を例証しているフロー図である。FIG. 2 is a flow diagram illustrating the interaction between elements of a quantum computing integrated development environment in accordance with some embodiments according to the invention. 本発明に係る幾つかの実施例に従う、量子論理設計プロセスを描写している実体関連図である。FIG. 3 is an entity relationship diagram depicting a quantum logic design process in accordance with some embodiments of the present invention. 本発明に係る幾つかの実施例に従う、量子コンピューティング統合開発環境の実行部要素を例証しているブロック図である。FIG. 3 is a block diagram illustrating an execution element of a quantum computing integrated development environment, according to some embodiments according to the invention. 本発明に係る幾つかの実施例に従う、量子コンピューティング統合開発環境の出力部要素を例証しているブロック図である。FIG. 3 is a block diagram illustrating output elements of a quantum computing integrated development environment in accordance with some embodiments of the invention. 従来技術に従う、2キュビット量子システムに関連する基本オペレーションの総体を例証する。1 illustrates the overall basic operations associated with a two-qubit quantum system according to the prior art. 本発明に係る幾つかの実施例に従う、量子コンピューティング環境に対する校正ツールとして用いられる量子コンピューティング統合開発環境のブロック図である。1 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. 量子コンピューティング統合開発環境について回路及び機械語の設計モードに対する本発明に係るインターフェースの実施例である。FIG. 5 is an example of an interface according to the present invention for circuit and machine language design modes for a quantum computing integrated development environment. FIG. 量子コンピューティング統合開発環境について回路及び機械語の設計モードに対する本発明に係るインターフェースの実施例である。FIG. 5 is an example of an interface according to the present invention for circuit and machine language design modes for a quantum computing integrated development environment. FIG. 量子コンピューティング統合開発環境について回路及び機械語設計モードの別の実施例を説明する。Another embodiment of the circuit and machine language design mode will be described for the quantum computing integrated development environment. 量子コンピューティング統合開発環境における量子論理設計モードの実施例の様々な側面を例証する。Fig. 4 illustrates various aspects of an embodiment of a quantum logic design mode in a quantum computing integrated development environment. 量子コンピューティング統合開発環境における量子論理設計モードの実施例の様々な側面を例証する。Fig. 4 illustrates various aspects of an embodiment of a quantum logic design mode in a quantum computing integrated development environment. 量子コンピューティング統合開発環境における量子論理設計モードの実施例の様々な側面を例証する。Fig. 4 illustrates various aspects of an embodiment of a quantum logic design mode in a quantum computing integrated development environment. 実行モードインターフェースの2つの実施例を説明する。Two embodiments of the execution mode interface are described. 実行モードインターフェースの2つの実施例を説明する。Two embodiments of the execution mode interface are described. 抽象量子ゲートの実施例を説明する。An embodiment of an abstract quantum gate will be described.

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.
量子機械語命令の前記組は、従来のコンピュータ上で実行可能な命令をさらに含むことを特徴とする請求項2に記載のコンピュータプログラム製品。   The computer program product of claim 2, wherein the set of quantum machine language instructions further comprises instructions executable on a conventional computer. オペレータの前記時間分解設定は、基本オペレータのシーケンスを含むことを特徴とする請求項1に記載のコンピュータプログラム製品。   The computer program product of claim 1, wherein the time resolution setting of an operator includes a sequence of basic operators. 基本オペレータの前記シーケンスは、所定の量子コンピュータに対する全ての可能なユニタリ変換を含むことを特徴とする請求項4に記載のコンピュータプログラム製品。   The computer program product of claim 4, wherein the sequence of basic operators includes all possible unitary transformations for a given quantum computer. 前記所定の量子コンピュータは、ユニタリオペレータの全集合において各オペレータを実行することができる量子システムであることを特徴とする請求項5に記載のコンピュータプログラム製品。   6. The computer program product according to claim 5, wherein the predetermined quantum computer is a quantum system capable of executing each operator in a whole set of unitary operators. 基本オペレータの前記シーケンスは、2N×2Nのユニタリ行列によって描写されており、
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.
基本オペレータの前記シーケンスのうちの1つの基本オペレータは、ユニタリ行列
Figure 2005513680
によって表されることを特徴とする請求項4に記載のコンピュータプログラム製品。
One basic operator of the sequence of basic operators is a unitary matrix
Figure 2005513680
The computer program product of claim 4, wherein the computer program product is represented by:
基本オペレータの前記シーケンスのうちの1つの基本オペレータは、ユニタリ行列
Figure 2005513680
によって表されることを特徴とする請求項4に記載のコンピュータプログラム製品。
One basic operator of the sequence of basic operators is a unitary matrix
Figure 2005513680
The computer program product of claim 4, wherein the computer program product is represented by:
基本オペレータの前記シーケンスのうちの1つの基本オペレータは、ユニタリ行列
Figure 2005513680
によって表されることを特徴とする請求項4に記載のコンピュータプログラム製品。
One basic operator of the sequence of basic operators is a unitary matrix
Figure 2005513680
The computer program product of claim 4, wherein the computer program product is represented by:
基本オペレータの前記シーケンスのうちの1つの基本オペレータは、前記量子コンピュータにおける単一のキュビットに適用されることを特徴とする請求項4に記載のコンピュータプログラム製品。   5. The computer program product of claim 4, wherein one basic operator of the sequence of basic operators applies to a single qubit in the quantum computer. 基本オペレータの前記シーケンスのうちの1つの基本オペレータは、複数のキュビットに適用されることを特徴とする請求項4に記載のコンピュータプログラム製品。   The computer program product of claim 4, wherein one basic operator of the sequence of basic operators is applied to a plurality of qubits. 前記QC−IDEモジュールは、基本量子ゲートのシーケンスを前記時間分解設定のオペレータに含まれる単一の抽象量子ゲートとして定義するための命令をさらに含むことを特徴とする請求項1に記載のコンピュータプログラム製品。   The computer program product of claim 1, wherein the QC-IDE module further includes instructions for defining a sequence of basic quantum gates as a single abstract quantum gate included in the operator of the time resolution setting. Product. 前記QC−IDEモジュールは、抽象量子ゲートのシーケンスを前記時間分解設定のオペレータに含まれる単一の抽象量子ゲートとして定義するための命令を含むことを特徴とする請求項1に記載のコンピュータプログラム製品。   The computer program product of claim 1, wherein the QC-IDE module includes instructions for defining a sequence of abstract quantum gates as a single abstract quantum gate included in an operator of the time-resolved setting. . 前記QC−IDEモジュールは、量子コンピュータのドライバ仕様を設定するための命令を含むことを特徴とする請求項1に記載のコンピュータプログラム製品。   The computer program product according to claim 1, wherein the QC-IDE module includes an instruction for setting a driver specification of a quantum computer. 前記QC−IDEモジュールは、前記時間分解設定のオペレータに基本オペレータの周波数を設定するための命令を含むことを特徴とする請求項1に記載のコンピュータプログラム製品。   The computer program product of claim 1, wherein the QC-IDE module includes instructions for setting a frequency of a basic operator to an operator of the time resolution setting. 前記時間分解設定のオペレータにおける基本オペレータの周波数を設定するための前記命令は、
前記基本オペレータにおける各パルスの鋭さを設定するための命令と、
前記基本オペレータにおける各パルスの振幅を設定するための命令と、
をさらに備えることを特徴とする請求項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:
前記QC−IDEモジュールは、前記時間分解設定のオペレータにおける各基本オペレータの周波数を独立に設定するための命令を含んでいる請求項1に記載のコンピュータプログラム製品。   The computer program product of claim 1, wherein the QC-IDE module includes instructions for independently setting the frequency of each basic operator in the time-resolved setting operator. 前記QC−IDEモジュールは、量子コンピューティングシステムを選択して量子機械語命令の前記組の全部又は一部を実行することを含んでいる請求項1に記載のコンピュータプログラム製品。   The computer program product of claim 1, wherein the QC-IDE module includes selecting a quantum computing system to execute all or part of the set of quantum machine language instructions. 前記QC−IDEモジュールは、量子コンピューティングシステムを定義するための命令を含むことを特徴とする請求項1に記載のコンピュータプログラム製品。   The computer program product of claim 1, wherein the QC-IDE module includes instructions for defining a quantum computing system. 量子コンピューティングシステムを定義するための前記命令は、前記量子コンピューティングシステムによって実行され得る一組の基本オペレーションを特定するための命令を含むことを特徴とする請求項20に記載のコンピュータプログラム製品。   The computer program product of claim 20, wherein the instructions for defining a quantum computing system include instructions for specifying a set of basic operations that can be performed by the quantum computing system. 量子コンピューティングシステムを定義するための前記命令は、前記量子コンピューティングシステムにおけるノイズを特定するための命令を含むことを特徴とする請求項20に記載のコンピュータプログラム製品。   The computer program product of claim 20, wherein the instructions for defining a quantum computing system include instructions for identifying noise in the quantum computing system. 量子コンピューティングシステムを定義するための前記命令は、前記量子コンピューティングシステムに対するドライバ仕様を定義するための命令を含むことを特徴とする請求項20に記載のコンピュータプログラム製品。   The computer program product of claim 20, wherein the instructions for defining a quantum computing system include instructions for defining a driver specification for the quantum computing system. 前記QC−IDEモジュールは、オペレータの前記時間分解設定における抽象量子ゲートを基本オペレータのシーケンスに変換するための命令を含むことを特徴とする請求項1に記載のコンピュータプログラム製品。   The computer program product of claim 1, wherein the QC-IDE module includes instructions for converting an abstract quantum gate in the time-resolved setting of an operator into a sequence of basic operators. 変換のための前記命令は、一組の単純化ルールを用いることを特徴とする請求項24に記載のコンピュータプログラム製品。   The computer program product of claim 24, wherein the instructions for conversion use a set of simplification rules. 単純化ルールの前記組のうちの1つの単純化ルールは、基本オペレータの交換であることを特徴とする請求項25に記載のコンピュータプログラム製品。   26. The computer program product of claim 25, wherein one simplified rule of the set of simplified rules is a basic operator exchange. 単純化ルールの前記組のうちの1つの単純化ルールは、第1の基本オペレータと第2の基本オペレータとの間の冗長性の除去であることを特徴とする請求項25に記載のコンピュータプログラム製品。   26. The computer program product of claim 25, wherein one simplified rule of the set of simplified rules is removal of redundancy between a first basic operator and a second basic operator. Product. 変換のための前記命令は、オペレータの前記時間分解設定における抽象オペレータを基本オペレータの等価シーケンスとして表示するための命令を含むことを特徴とする請求項24に記載のコンピュータプログラム製品。   25. The computer program product of claim 24, wherein the instructions for conversion include instructions for displaying an abstract operator in the time-resolved setting of an operator as an equivalent sequence of basic operators. 量子コンピューティングのための方法であって、
複数のキュビットに対する量子論理の設計であって、時間分解設定のオペレータを発生させることを含む前記設計と、
オペレータの前記時間分解設定を一組の量子機械語命令にコンパイルすることと、
を備えている方法。
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:
前記量子機械語命令は、量子システムをモデル化することを特徴とする請求項29に記載の方法。   The method of claim 29, wherein the quantum machine language instruction models a quantum system. 前記量子システムは、多体電子システム、核融合、溶解状態のプロテイン、溶解状態の核酸、又は高分子と有機化合物の間の相互作用であることを特徴とする請求項31に記載の方法。   32. The method of claim 31, wherein the quantum system is a multi-body electronic system, nuclear fusion, dissolved protein, dissolved nucleic acid, or an interaction between a polymer and an organic compound. コンピュータシステムと共に利用するコンピュータプログラム製品であって、
前記コンピュータプログラム製品は、コンピュータ読み出し可能な記憶媒体と、その中に組み込まれるコンピュータプログラム機構と、を備え、
前記コンピュータプログラム機構は、
複数のキュビットに対する量子論理を設計するための量子コンピューティング統合開発環境(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.
JP2003556954A 2001-12-22 2002-12-23 Integrated development environment for quantum computing Abandoned JP2005513680A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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