JP7570639B2 - Information processing device, simulation method and program - Google Patents
Information processing device, simulation method and program Download PDFInfo
- Publication number
- JP7570639B2 JP7570639B2 JP2021118023A JP2021118023A JP7570639B2 JP 7570639 B2 JP7570639 B2 JP 7570639B2 JP 2021118023 A JP2021118023 A JP 2021118023A JP 2021118023 A JP2021118023 A JP 2021118023A JP 7570639 B2 JP7570639 B2 JP 7570639B2
- Authority
- JP
- Japan
- Prior art keywords
- quantum circuit
- information processing
- quantum
- processing device
- measurement
- 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.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、情報処理装置、シミュレート方法およびプログラムに関する。 The present invention relates to an information processing device, a simulation method, and a program.
量子計算機は量子ビットと呼ばれる基本要素からなる計算機である。量子計算機は様々な計算タスクを従来の計算機に比べ大幅に高速に計算できるため、現在大きな注目を集めるとともに、盛んに開発が進んでいる。量子計算の計算タスクは、「量子回路」と呼ばれる、論理回路を模した形式で表現される(非特許文献1)。量子計算でどのような計算タスクが高速に行えるかを調査するには、量子計算の振る舞いを通常の計算機で模倣する、量子回路のシミュレータが重要な道具となる。しかし、量子計算機がいくつかのタスクで通常の計算機に比べ大幅に高速であるという事実は、「量子計算機のシミュレート」というタスクは通常の計算機にとって非常に時間のかかるタスクであることをも意味しており、100量子ビットを超える一般の量子回路を現実的な時間でシミュレートすることは不可能であるとされている(非特許文献2)。 Quantum computers are computers that consist of basic elements called qubits. Quantum computers can perform various computational tasks much faster than conventional computers, and therefore have attracted much attention and are being actively developed. Quantum computing tasks are expressed in a form that mimics a logic circuit, called a "quantum circuit" (Non-Patent Document 1). To investigate what computational tasks can be performed quickly with quantum computing, a quantum circuit simulator that mimics the behavior of quantum computing with a normal computer is an important tool. However, the fact that quantum computers are much faster than normal computers in some tasks also means that the task of "simulating a quantum computer" is a very time-consuming task for normal computers, and it is said that it is impossible to simulate a general quantum circuit with more than 100 qubits in a realistic time (Non-Patent Document 2).
量子計算機で実行する命令は、「操作」と「測定」の二種類に分けられる。操作は量子ビットの状態を変更する命令であり、測定は量子ビットを測定し測定結果として通常のビットを得る命令である。従って、シミュレータは、シミュレーションの結果として、「測定」の命令数と同じ数の通常のビット列を出力することができる。 The instructions executed by a quantum computer are divided into two types: "operations" and "measurements." Operations are instructions that change the state of quantum bits, while measurements are instructions that measure quantum bits and obtain normal bits as the measurement result. Therefore, the simulator can output a string of normal bits as a result of the simulation, the number of which is equal to the number of "measurement" instructions.
操作は「ユニタリ群」と呼ばれる数学的な集合の要素と対応付けることができる。また、測定は「パウリ群」という集合の要素に対応付けることができる。これらすべての命令を高速にシミュレートすることは前述の通り難しいが、操作の集合が「ユニタリ群」からその部分集合である「クリフォード群」に限定されると、通常の計算機でも高速に量子計算機の振る舞いがシミュレートできることが知られている(非特許文献3、非特許文献4)。このように、操作がクリフォード群に限定された量子回路は「クリフォード回路」と呼ばれる。従って、量子計算機でシミュレートを行いたい計算タスクの量子回路がクリフォード回路であるケースは、上記のアルゴリズムを用いて高速にシミュレートができる。また、クリフォード回路をシミュレートする方法は手法で使われる要素の名前から「スタビライザーシミュレータ」と呼ばれる。
Operations can be associated with elements of a mathematical set called the "unitary group." Measurements can be associated with elements of a set called the "Pauli group." As mentioned above, it is difficult to simulate all of these commands at high speed, but it is known that if the set of operations is limited from the "unitary group" to its subset, the "Clifford group," it is possible to simulate the behavior of a quantum computer at high speed even on a normal computer (Non-Patent
現在応用が期待されている「変分法」や、量子計算の持つ誤りを大幅に削減する「誤り訂正符号」といったモジュールでは、「クリフォード群」の操作が支配的である状況を自然に考えることができる。従って、こうしたアルゴリズムや手法の研究では、スタビライザーシミュレータがしばしば使われる。 In modules such as the "calculus of variations," which is currently expected to find applications, and "error-correcting codes," which significantly reduce errors in quantum computing, it is natural to consider situations in which the operations of the "Clifford group" are dominant. Therefore, stabilizer simulators are often used in research into such algorithms and methods.
以下に、既存のスタビライザーシミュレータの仕組みを示す。量子計算の単位要素である「量子ビット」がn個で構成されるタスクをシミュレートするケースを考える。既存のスタビライザーシミュレータはシミュレーション中、「スタビライザーテーブル」と呼ばれる、「高さ2n、幅n」の、合計2n2の要素からなるテーブルを保持する。ここで、各要素は[I,X,Y,Z]の四種類の文字のうちどれか一つであり、2bitで表現できる。通常のスタビライザーシミュレータでは、「操作」ではこのテーブルの特定の列を更新し、「測定」では主として行の更新を行うことで量子計算のタスクのシミュレートを行うことができる。 The mechanism of existing stabilizer simulators is shown below. Consider the case of simulating a task consisting of n "qubits," which are unit elements of quantum computing. During simulation, existing stabilizer simulators hold a table called a "stabilizer table," which is "2n high and n wide" and consists of a total of 2n2 elements. Here, each element is one of the four characters [I, X, Y, Z] and can be expressed with 2 bits. In a typical stabilizer simulator, a specific column of this table is updated in an "operation," and a row is mainly updated in a "measurement," thereby simulating a quantum computing task.
通常の計算機のメモリでは、データは一次元的に並べられ、連続的な読み出しや書き込みは、不連続なものに比べて大幅に高速であることが知られている。従って、上記のシミュレートを高速に行うには、操作によって更新される値はメモリ上にできる限り連続的に並んでいることが望ましい。スタビライザーテーブルのうち、行を連続的に並べる配置をRow-major、列を連続的に並べる配置をColumn-majorと呼ぶ。Row-majorの配置では「測定」を高速に行うことができ、Column-majorの方式では「操作」を高速に行うことができる。既存のスタビライザーシミュレータのライブラリでは、数学的な記述がRow-majorで行うことが自然であるから、しばしばRow-majorで実装されている(非特許文献5、非特許文献6、非特許文献7、非特許文献8)。 In normal computer memory, data is arranged one-dimensionally, and it is known that continuous reading and writing is much faster than discontinuous reading and writing. Therefore, to perform the above simulation quickly, it is desirable that the values updated by the operation are arranged as continuously as possible in memory. In the stabilizer table, an arrangement in which rows are arranged consecutively is called row-major, and an arrangement in which columns are arranged consecutively is called column-major. With a row-major arrangement, "measurements" can be performed quickly, and with the column-major method, "operations" can be performed quickly. In existing stabilizer simulator libraries, it is natural to perform mathematical descriptions in row-major, so row-major is often implemented (Non-Patent Document 5, Non-Patent Document 6, Non-Patent Document 7, Non-Patent Document 8).
しかしながら、量子計算機の開発が進むにつれ、シミュレートしようとするアルゴリズムやモジュールの規模が大きくなり、スタビライザーシミュレータであっても十分な速度でのシミュレートが困難な状況になっている。このため、より高速に量子回路をシミュレートする方法が求められている。 However, as the development of quantum computers progresses, the scale of the algorithms and modules to be simulated is growing, making it difficult for even stabilizer simulators to simulate at a sufficient speed. For this reason, there is a demand for a method to simulate quantum circuits faster.
開示の技術は、量子回路のシミュレーションを高速化させることを目的とする。 The disclosed technology aims to speed up simulation of quantum circuits.
開示の技術は、クリフォード回路をシミュレートするための情報処理装置であって、入力された量子回路に含まれる命令のうち、「測定」と「操作」の命令の連続性を向上させるように、前記量子回路を更新する量子回路更新部と、更新された前記量子回路に基づいて、スタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートするシミュレート部と、を備える情報処理装置である。 The disclosed technology is an information processing device for simulating a Clifford circuit, and includes a quantum circuit update unit that updates the quantum circuit so as to improve the continuity of "measurement" and "operation" commands among the commands contained in an input quantum circuit, and a simulation unit that simulates while switching the arrangement of each element of a stabilizer table in memory based on the updated quantum circuit.
開示の技術によれば、量子回路のシミュレーションを高速化させることができる。 The disclosed technology can speed up simulation of quantum circuits.
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。 The following describes an embodiment of the present invention (the present embodiment) with reference to the drawings. The embodiment described below is merely an example, and the embodiment to which the present invention is applicable is not limited to the following embodiment.
(情報処理装置の概要)
本実施の形態に係る情報処理装置は、クリフォード回路をシミュレートするための装置である。クリフォード回路は、操作がクリフォード群に限定された量子回路である。クリフォード回路は、操作と測定の命令が並んだ一次元的な列で表現される。
(Overview of information processing device)
The information processing device according to the present embodiment is a device for simulating a Clifford circuit. A Clifford circuit is a quantum circuit in which operations are limited to the Clifford group. A Clifford circuit is expressed as a one-dimensional sequence of operations and measurement commands.
具体的には、情報処理装置は、入力された量子回路に含まれる命令のうち、「測定」と「操作」がそれぞれできるだけ連続的に配置されるように、すなわち「測定」と「操作」の命令の連続性を向上させるように、量子回路を更新する。そして、情報処理装置は、更新された量子回路について、「測定」の際にはRow-major、「操作」の際にはColumn-majorになるようにスタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートする。 Specifically, the information processing device updates the quantum circuit so that, among the commands contained in the input quantum circuit, the "measurement" and "operation" are arranged as consecutively as possible, i.e., to improve the continuity of the "measurement" and "operation" commands. The information processing device then simulates the updated quantum circuit by switching the arrangement in memory of each element of the stabilizer table so that it becomes row-major for "measurement" and column-major for "operation".
(情報処理装置の機能構成例)
図1は、情報処理装置の機能構成例を示す図である。情報処理装置10は、量子回路更新部11と、シミュレート部12と、スタビライザーテーブル記憶部13と、を備える。
(Example of functional configuration of information processing device)
1 is a diagram illustrating an example of a functional configuration of an
量子回路更新部11は、入力された量子回路Oに含まれる命令[o1,o2,・・・,on]のうち、「測定」と「操作」がそれぞれできるだけ連続的に配置されるように、量子回路Oを更新する。
The quantum
シミュレート部12は、スタビライザーテーブルを使用して、更新された量子回路Tをシミュレートして、測定値mを示すデータを出力する。このとき、シミュレート部12は、「測定」の際にはRow-major、「操作」の際にはColumn-majorになるようにスタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートする。
The
スタビライザーテーブル記憶部13は、シミュレートに使用するスタビライザーテーブルを記憶する。
The stabilizer
(スタビライザーテーブルの例)
図2は、スタビライザーテーブルの一例を示す図である。スタビライザーテーブルは、従来のスタビライザーシミュレータと同様に、n行、2n列の合計2n2の要素からなるテーブルである。ここで、各要素は、例えば[I,X,Y,Z]の四種類の文字のうちどれか一つであり、2bitで表現される。また、シミュレート部12は、従来のスタビライザーシミュレータと同様に、「操作」ではスタビライザーテーブルの特定の列を更新し、「測定」では主として行の更新を行うことで量子計算のタスクのシミュレートを行う。
(Example of a stabilizer table)
2 is a diagram showing an example of a stabilizer table. The stabilizer table is a table consisting of n rows and 2n columns, a total of 2n2 elements, as in the conventional stabilizer simulator. Here, each element is, for example, one of four characters [I, X, Y, Z], and is expressed by 2 bits. Also, as in the conventional stabilizer simulator, the
初期状態では、スタビライザーテーブルは、メモリ上にColumn-majorの配置となっている。Column-majorは、メモリ上に列の要素が連続する配置であって、図2に示される要素が、d1,1,d2,1,d3,1,・・・,d2n,1,d1,2,d2,2,d3,2,・・・,d2n,2,d1,3,d2,3,d3,3,・・・,d2n,3,・・・,d1,n,d2,n,d3,n,・・・,d2n,nのように連続する配置である。 In the initial state, the stabilizer table has a Column-major arrangement in memory. Column-major is an arrangement in which elements of a column are consecutive on the memory, and the elements shown in FIG. 2 are consecutive as follows: d1,1 , d2,1 , d3,1 , ..., d2n , 1 , d1,2 , d2,2 , d3,2 , ..., d2n,2, d1,3 , d2,3 , d3,3 , ..., d2n,3 , ..., d1 ,n, d2,n , d3,n , ..., d2n,n .
シミュレート部12は、「測定」の処理をシミュレートする際には、スタビライザーテーブルがRow-majorの配置となるように、メモリ上の配置を変更する。Row-majorは、メモリ上に行の要素が連続する配置であって、図2に示される要素が、d1,1,d1,2,d1,3,・・・,d1,n,d2,1,d2,2,d2,3,・・・,d2,n,d3,1,d3,2,d3,3,・・・,d3,n,・・・,d2n,1,d2n,2,d2n,3,・・・,d2n,nのように連続する配置である。
When simulating the "measurement" process, the
(情報処理装置の動作)
次に、情報処理装置10の動作について、図面を参照して説明する。
(Operation of information processing device)
Next, the operation of the
図3は、全体処理の流れの一例を示す図である。情報処理装置10は、ユーザの操作等によって量子回路Oの入力を受けると、全体処理を実行する。全体処理を開始すると、量子回路更新部11は、量子回路更新処理を実行する(ステップS1)。次に、シミュレート部12は、更新された量子回路に基づくシミュレート処理を実行する(ステップS2)。
Figure 3 is a diagram showing an example of the flow of the overall processing. When the
図4は、量子回路更新処理の流れの一例を示す図である。図3のステップS1に示される量子回路更新処理を開始すると、量子回路更新部11は、変数sを0,変数iを1,更新後の量子回路Tを[]にそれぞれ初期化する(ステップS11)。
Figure 4 is a diagram showing an example of the flow of the quantum circuit update process. When the quantum circuit update process shown in step S1 of Figure 3 starts, the quantum
次に、量子回路更新部11は、i=nであるか否かを判定する(ステップS12)。量子回路更新部11は、i=nでないと判定すると(ステップS12:NO)、O,oにpop_next_operation(s,O)の実行結果を代入する(ステップS13)。pop_next_operation関数は、sが0の場合には「操作」の命令を抽出し、sが1の場合には「測定」の命令を抽出する関数である。pop_next_operation関数の詳細については後述する。
Next, the quantum
次に、量子回路更新部11は、o=Noneであるか否かを判定する(ステップS14)。量子回路更新部11は、o=Noneでないと判定すると(ステップS14:NO)、TにT+[o]を代入する(ステップS15)。このステップS15において、ステップS13で削除された命令oが、要素列の一番後ろに追加されるため、これによって命令の順番が入れ替わる。
Next, the quantum
次に、量子回路更新部11は、iにi+1を代入し(ステップS16)、ステップS13の処理に戻る。
Then, the quantum
ステップS14において、量子回路更新部11は、o=Noneであると判定すると(ステップS14:YES)、sに1-sを代入し(ステップS17)、ステップS13の処理に戻る。このステップS17によって、量子回路更新部11は、「操作」の命令をまとめるための処理と「測定」の命令をまとめるための処理と、を切り替える。
In step S14, if the quantum
ステップS12において、量子回路更新部11は、i=nであると判定すると(ステップS12:YES)、更新された量子回路Tを出力する(ステップS18)。
In step S12, if the quantum
図5は、pop_next_operation関数の処理の流れの一例を示す図である。入力される量子回路O=[o1,o2,・・・,om]とする。なお、量子回路Oは、後述する処理によって抽出された命令が削除されている場合があるため、mは1以上n以下の数となっている。また、pop_next_operation関数の開始時には、i=1とする。 5 is a diagram showing an example of the process flow of the pop_next_operation function. The input quantum circuit O is set to [o 1 , o 2 , ..., o m ]. Note that, since the quantum circuit O may have instructions extracted by the process described later deleted, m is a number between 1 and n. In addition, when the pop_next_operation function starts, i=1.
量子回路更新部11は、i=mであるか否かを判定する(ステップS1301)。量子回路更新部11は、i=mであると判定すると(ステップS1301:YES)、O,Noneを返却して(ステップS1302)、pop_next_operation関数の処理を終了する。
The quantum
また、量子回路更新部11は、i=mでないと判定すると(ステップS1301:NO)、s=0であるか否かを判定する(ステップS1303)。量子回路更新部11は、s=0であると判定すると(ステップS1303:YES)、命令oiが操作であるか否かを判定する(ステップS1304)。
Furthermore, when the quantum
量子回路更新部11は、命令oiが操作であると判定すると(ステップS1304:YES)、変数jに1を代入し(ステップS1306)、命令oiと命令ojが置換可能であるか否かを判定する(ステップS1307)。
If the quantum
なお、量子回路がクリフォード回路の場合は、命令の種類が限られていることから、命令が置換可能であるか否かを容易に判定できることが知られている。 When the quantum circuit is a Clifford circuit, it is known that it is easy to determine whether an instruction is replaceable or not, since the types of instructions are limited.
また、ステップS1304の処理において、量子回路更新部11は、命令oiが操作でないと判定すると(ステップS1304:NO)、iにi+1を代入して(ステップS1308)、ステップS1301の処理に戻る。
Furthermore, in the process of step S1304, if the quantum
また、ステップS1303の処理において、量子回路更新部11は、s=0でないと判定すると(ステップS1303:NO)、命令oiが測定であるか否かを判定する(ステップS1305)。量子回路更新部11は、命令oiが測定であると判定すると(ステップS1305:YES)、ステップS1306の処理に進む。
In addition, in the process of step S1303, if the quantum
量子回路更新部11は、命令oiが測定でないと判定すると(ステップS1305:NO)、ステップS1308の処理に進む。
If the quantum
量子回路更新部11は、命令oiと命令ojが置換可能でないと判定すると(ステップS1307:NO)、ステップS1308の処理に進む。
If the quantum
量子回路更新部11は、命令oiと命令ojが置換可能であると判定すると(ステップS1307:YES)、j=iであるか否かを判定する(ステップS1309)。量子回路更新部11は、j=iでないと判定すると(ステップS1309:NO)、jにj+1を代入して(ステップS1310)、ステップS1307の処理に戻る。
When the quantum
量子回路更新部11は、j=iであると判定すると(ステップS1309:YES)、量子回路Oから命令oiを削除する(ステップS1311)。そして、量子回路更新部11は、量子回路Oと命令oiを返却して(ステップS1312)、pop_next_operation関数の処理を終了する。
When the quantum
図6は、シミュレート処理の流れの一例を示す図である。図3のステップS2に示されるシミュレート処理を開始すると、シミュレート部12は、変数sを0,変数iを1,出力する測定値mを[]にそれぞれ初期化する(ステップS201)。
Figure 6 is a diagram showing an example of the flow of the simulation process. When the simulation process shown in step S2 of Figure 3 is started, the
シミュレート部12は、s=0であるか否かを判定する(ステップS202)。シミュレート部12は、s=0であると判定すると(ステップS202:YES)、命令oiが操作であるか否かを判定する(ステップS203)。そして、シミュレート部12は、命令oiが操作であると判定すると(ステップS203:YES)、命令oiをシミュレートする(ステップS205)。続いて、シミュレート部12は、変数iにi+1を代入して(ステップS206)、ステップS212の処理に進む。
The
ステップS203の処理において、シミュレート部12は、命令oiが操作でないと判定すると(ステップS203:NO)、メモリ上の配置について、スタビライザーテーブルの列と行を入れ替える(ステップS210)。すなわち、シミュレート部12は、メモリ上の配置がRow-majorの配置であった場合にはColumn-majorの配置に変更し、メモリ上の配置がColumn-majorの配置であった場合には、Row-majorの配置に変更する。
In the process of step S203, when the
そして、シミュレート部12は、変数sに1-sを代入して(ステップS211)、ステップS202の処理に戻る。
Then, the
また、シミュレート部12は、ステップS202の処理において、s=0でないと判定すると(ステップS202:NO)、命令oiが測定であるか否かを判定する(ステップS204)。そして、シミュレート部12は、命令oiが測定であると判定すると(ステップS204:YES)、命令oiを測定して、個別の測定値vを得て(ステップS207)、全体の測定値mにm+[v]を代入する(ステップS208)。続いて、シミュレート部12は、変数iにi+1を代入して(ステップS209)、ステップS212の処理に進む。
Furthermore, when the simulating
シミュレート部12は、ステップS204の処理において、命令oiが測定でないと判定すると(ステップS204:NO)、ステップS210の処理に進む。
When the
ステップS212の処理において、シミュレート部12は、i=nであるか否かを判定する(ステップS212)。シミュレート部12は、i=nでないと判定すると(ステップS212:NO)、ステップS202の処理に戻る。
In the process of step S212, the
シミュレート部12は、i=nであると判定すると(ステップS212:YES)、測定値mを出力する(ステップS213)。
When the
(本実施の形態に係るハードウェア構成例)
情報処理装置10は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、物理マシンであってもよいし、クラウド上の仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
(Hardware Configuration Example According to the Present Embodiment)
The
上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。 The above program can be recorded on a computer-readable recording medium (such as a portable memory) and can be stored or distributed. The above program can also be provided via a network such as the Internet or e-mail.
図7は、上記コンピュータのハードウェア構成例を示す図である。図7のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
Figure 7 is a diagram showing an example of the hardware configuration of the computer. The computer in Figure 7 has a
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
The program that realizes the processing on the computer is provided by a
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。なお、上記コンピュータは、CPU1004の代わりにGPU(Graphics Processing Unit)またはTPU(Tensor processing unit)を備えていても良く、CPU1004に加えて、GPUまたはTPUを備えていても良い。その場合、特殊な演算が必要な処理をGPUまたはTPUが実行し、その他の処理をCPU1004が実行する、というように処理を分担して実行しても良い。
When an instruction to start a program is received, the
上述した実施の形態において、図4および図5に例示した量子回路の更新方法は、いわゆる貪欲法と呼ばれる最適化手法を適用した方法である。量子回路の更新方法は、これに限られず、「測定」と「操作」のそれぞれの命令の連続性を向上させる方法であれば、他の方法でも良い。 In the above-described embodiment, the quantum circuit update method illustrated in FIG. 4 and FIG. 5 is a method that applies an optimization technique known as a greedy method. The quantum circuit update method is not limited to this, and any other method that improves the continuity of the "measurement" and "operation" commands may be used.
上述した実施の形態において、複数の量子回路をシミュレートする場合に、同一の形状の量子回路を複数回シミュレートする場合には、情報処理装置10は、1回目のシミュレートにおいて量子回路更新部11が更新した量子回路Tを記憶しておき、2回目以降のシミュレートにおいて、更新された量子回路Tを使用して、シミュレート部12によるシミュレートを実行しても良い。これによって、同一の量子回路のシミュレーションを多数回にわたって実行する場合には、量子回路更新部11による更新処理のコストを実質的に無視することができる。
In the above-described embodiment, when simulating multiple quantum circuits, if a quantum circuit of the same shape is simulated multiple times, the
(本実施の形態の効果)
本実施の形態に係る情報処理装置10によれば、入力された量子回路に含まれる命令のうち、「測定」と「操作」がそれぞれできるだけ連続的に配置されるように、量子回路を更新する。そして、情報処理装置10は、更新された量子回路について、「測定」の際にはRow-major、「操作」の際にはColumn-majorになるようにスタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートする。
(Effects of this embodiment)
According to the
仮に、量子回路の更新を行わずに、メモリ上の配置を切り替えだけを行った場合、量子回路Oにおいて「測定」と「操作」が交互に配置されている場合、シミュレート処理ごとにRow-majorとColumn-majorを切り替える処理が発生してしまい、シミュレートに要する時間はむしろ増大する可能性がある。 If the quantum circuit is not updated and only the memory layout is switched, and "measurements" and "operations" are arranged alternately in quantum circuit O, a process of switching between row-major and column-major will occur for each simulation process, and the time required for simulation may actually increase.
それに対して、本実施の形態に係る情報処理装置10によれば、「測定」と「操作」の命令の連続性が向上されているため、メモリ上の配置を切り替える処理の実行回数を最小限に抑えることができる。したがって、量子回路のシミュレーションを高速化させることができる。
In contrast, according to the
具体的には、量子回路更新部11は、貪欲法による最適化手法を用いて、「測定」と「操作」がそれぞれできるだけ連続的に配置されるように、量子回路Oを更新する。これによって、「測定」と「操作」の命令の連続性の向上を簡易に実現させることができる。
Specifically, the quantum
(実施の形態のまとめ)
本明細書には、少なくとも下記の各項に記載した情報処理装置、シミュレート方法およびプログラムが記載されている。
(第1項)
クリフォード回路をシミュレートするための情報処理装置であって、
入力された量子回路に含まれる命令のうち、「測定」と「操作」の命令の連続性を向上させるように、前記量子回路を更新する量子回路更新部と、
更新された前記量子回路に基づいて、スタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートするシミュレート部と、を備える、
情報処理装置。
(第2項)
前記シミュレート部は、更新された前記量子回路に含まれる命令が「測定」の際にはRow-major、「操作」の際にはColumn-majorになるように、前記スタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートする、
第1項に記載の情報処理装置。
(第3項)
前記量子回路更新部は、貪欲法による最適化手法を用いて、「測定」と「操作」がそれぞれできるだけ連続的に配置されるように、前記量子回路を更新する、
第1項または第2項に記載の情報処理装置。
(第4項)
クリフォード回路をシミュレートするための情報処理装置が実行するシミュレート方法であって、
入力された量子回路に含まれる命令のうち、「測定」と「操作」の命令の連続性を向上させるように、前記量子回路を更新するステップと、
更新された前記量子回路に基づいて、スタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートするステップと、を備える、
シミュレート方法。
(第5項)
コンピュータを、第1項から第3項のいずれか1項に記載の情報処理装置における各部として機能させるためのプログラム。
(Summary of the embodiment)
This specification describes at least the information processing device, simulation method, and program described in the following sections.
(Section 1)
1. An information processing apparatus for simulating a Clifford circuit, comprising:
A quantum circuit update unit that updates the quantum circuit so as to improve the continuity of the "measurement" and "operation" commands among the commands included in the input quantum circuit;
A simulating unit that simulates while switching the arrangement of each element of the stabilizer table on the memory based on the updated quantum circuit.
Information processing device.
(Section 2)
The simulating unit simulates while switching the arrangement of each element of the stabilizer table in memory so that the instruction included in the updated quantum circuit becomes row-major in the case of “measurement” and column-major in the case of “operation”.
2. The information processing device according to
(Section 3)
The quantum circuit update unit updates the quantum circuit using a greedy optimization method so that the "measurements" and "operations" are arranged as consecutively as possible.
3. The information processing device according to
(Section 4)
1. A method for simulating a Clifford circuit executed by an information processing device, comprising:
Updating the quantum circuit so as to improve the continuity of "measurement" and "operation" commands among the commands included in the input quantum circuit;
and simulating while switching the arrangement of each element of the stabilizer table in the memory based on the updated quantum circuit.
How to simulate.
(Section 5)
A program for causing a computer to function as each unit in the information processing device according to any one of
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 Although the present embodiment has been described above, the present invention is not limited to this specific embodiment, and various modifications and variations are possible within the scope of the gist of the present invention described in the claims.
10 情報処理装置
11 量子回路更新部
12 シミュレート部
13 スタビライザーテーブル記憶部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
10
1005
Claims (5)
入力された量子回路に含まれる命令のうち、「測定」と「操作」の命令の連続性を向上させるように、前記量子回路を更新する量子回路更新部と、
更新された前記量子回路に基づいて、スタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートするシミュレート部と、を備える、
情報処理装置。 1. An information processing apparatus for simulating a Clifford circuit, comprising:
A quantum circuit update unit that updates the quantum circuit so as to improve the continuity of the "measurement" and "operation" commands among the commands included in the input quantum circuit;
A simulating unit that simulates while switching the arrangement of each element of the stabilizer table on the memory based on the updated quantum circuit.
Information processing device.
請求項1に記載の情報処理装置。 The simulating unit simulates while switching the arrangement of each element of the stabilizer table in memory so that the instruction included in the updated quantum circuit becomes row-major in the case of “measurement” and column-major in the case of “operation”.
The information processing device according to claim 1 .
請求項1または2に記載の情報処理装置。 The quantum circuit update unit updates the quantum circuit using a greedy optimization method so that the "measurements" and "operations" are arranged as consecutively as possible.
3. The information processing device according to claim 1 or 2.
入力された量子回路に含まれる命令のうち、「測定」と「操作」の命令の連続性を向上させるように、前記量子回路を更新するステップと、
更新された前記量子回路に基づいて、スタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートするステップと、を備える、
シミュレート方法。 1. A method for simulating a Clifford circuit executed by an information processing device, comprising:
Updating the quantum circuit so as to improve the continuity of "measurement" and "operation" commands among the commands included in the input quantum circuit;
and simulating while switching the arrangement of each element of the stabilizer table in the memory based on the updated quantum circuit.
How to simulate.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021118023A JP7570639B2 (en) | 2021-07-16 | 2021-07-16 | Information processing device, simulation method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021118023A JP7570639B2 (en) | 2021-07-16 | 2021-07-16 | Information processing device, simulation method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023013672A JP2023013672A (en) | 2023-01-26 |
| JP7570639B2 true JP7570639B2 (en) | 2024-10-22 |
Family
ID=85129643
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021118023A Active JP7570639B2 (en) | 2021-07-16 | 2021-07-16 | Information processing device, simulation method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7570639B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116167447B (en) * | 2023-02-20 | 2024-05-14 | 北京百度网讯科技有限公司 | Quantum circuit processing method and device and electronic equipment |
| JP2026027649A (en) | 2024-08-06 | 2026-02-19 | 富士通株式会社 | Information processing program, information processing method, and information processing system |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190347575A1 (en) | 2018-05-08 | 2019-11-14 | International Business Machines Corporation | Simulating quantum circuits on a computer using hierarchical storage |
| JP2020515999A (en) | 2017-03-24 | 2020-05-28 | ビュル エスアエス | How to simulate a quantum circuit on a classical computer |
| JP2020521235A (en) | 2017-05-19 | 2020-07-16 | グーグル エルエルシー | Plane-wave dual basis for quantum simulation |
| JP2020534603A (en) | 2017-09-22 | 2020-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | How to Simulate Quantum Circuits and Computer Programs |
| US20210049492A1 (en) | 2019-08-13 | 2021-02-18 | International Business Machines Corporation | Noise classification through the output of random quantum circuits |
-
2021
- 2021-07-16 JP JP2021118023A patent/JP7570639B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020515999A (en) | 2017-03-24 | 2020-05-28 | ビュル エスアエス | How to simulate a quantum circuit on a classical computer |
| JP2020521235A (en) | 2017-05-19 | 2020-07-16 | グーグル エルエルシー | Plane-wave dual basis for quantum simulation |
| JP2020534603A (en) | 2017-09-22 | 2020-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | How to Simulate Quantum Circuits and Computer Programs |
| US20190347575A1 (en) | 2018-05-08 | 2019-11-14 | International Business Machines Corporation | Simulating quantum circuits on a computer using hierarchical storage |
| US20210049492A1 (en) | 2019-08-13 | 2021-02-18 | International Business Machines Corporation | Noise classification through the output of random quantum circuits |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023013672A (en) | 2023-01-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12266045B2 (en) | Lightmap updating method and apparatus, electronic device, and storage medium | |
| CN110968943B (en) | A terminal interface display method and device | |
| CN110516810B (en) | A quantum program processing method, device, storage medium and electronic device | |
| TW201911039A (en) | Access to initial and final data | |
| JP7570639B2 (en) | Information processing device, simulation method and program | |
| CN111914378B (en) | A single-amplitude quantum computing simulation method and device | |
| CN110826719A (en) | A quantum program processing method, device, storage medium and electronic device | |
| WO2019157442A1 (en) | Contiguous sparsity pattern neural networks | |
| JP7070093B2 (en) | Clustering device, clustering method and program | |
| JP2023139287A (en) | Information processing device, information processing method and program | |
| CN113508404B (en) | Apparatus and method for quantum circuit simulator | |
| Van Ha et al. | Solving intertemporal CGE models in parallel using a singly bordered block diagonal ordering technique | |
| CN114417543A (en) | Apparatus and method for optimization | |
| CN113723612B (en) | Method and apparatus for operating a quantum system of a single-vector quantum computer computational model | |
| KR102929810B1 (en) | Quantum circuit simulation method and optimizations using storage devices | |
| CN116187155A (en) | Computing device and method for generating optimal input data | |
| CN111506742A (en) | Construction method and system of multi-relational knowledge base | |
| Zhao et al. | Power grid analysis with hierarchical support graphs | |
| CN117529735A (en) | Method for dividing multiple qubit observables, program for dividing multiple qubit observables, and information processing device | |
| CN117313879B (en) | Quantum circuit processing method, device and electronic equipment | |
| CN117313878B (en) | Quantum circuit processing method, device and electronic equipment | |
| JP2018206078A (en) | Parallel processing device, parallel computing method, and parallel computing program | |
| JP5429164B2 (en) | Finite automaton generation system | |
| JP2024093916A (en) | Tensor network contraction control program, tensor network contraction control method and information processing device | |
| Moawad et al. | Optimising Iteration Scheduling for Full-State Vector Simulation of Quantum Circuits on FPGAs |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20210721 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20210721 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231004 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20240701 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20240702 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240801 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240903 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241001 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7570639 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |