Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7570639B2 - Information processing device, simulation method and program - Google Patents
[go: Go Back, main page]

JP7570639B2 - Information processing device, simulation method and program - Google Patents

Information processing device, simulation method and program Download PDF

Info

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
Application number
JP2021118023A
Other languages
Japanese (ja)
Other versions
JP2023013672A (en
Inventor
泰成 鈴木
泰信 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Tokyo NUC
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
University of Tokyo NUC
NTT Inc USA
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
Application filed by Nippon Telegraph and Telephone Corp, University of Tokyo NUC, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2021118023A priority Critical patent/JP7570639B2/en
Publication of JP2023013672A publication Critical patent/JP2023013672A/en
Application granted granted Critical
Publication of JP7570639B2 publication Critical patent/JP7570639B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Documents 3 and 4). In this way, quantum circuits whose operations are limited to the Clifford group are called "Clifford circuits." Therefore, in cases where the quantum circuit for the computational task to be simulated on a quantum computer is a Clifford circuit, it can be simulated at high speed using the above algorithm. In addition, the method of simulating a Clifford circuit is called a "stabilizer simulator" after the name of the element used in the method.

現在応用が期待されている「変分法」や、量子計算の持つ誤りを大幅に削減する「誤り訂正符号」といったモジュールでは、「クリフォード群」の操作が支配的である状況を自然に考えることができる。従って、こうしたアルゴリズムや手法の研究では、スタビライザーシミュレータがしばしば使われる。 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」の、合計2nの要素からなるテーブルを保持する。ここで、各要素は[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).

Learn Quantum Computation using Qiskit,[online],インターネット<URL:https://qiskit.org/textbook/ch-states/introduction.html>Learn Quantum Computation using Qiskit, [online], Internet <URL: https://qiskit.org/textbook/ch-states/introduction.html> Arute, Frank, et al. "Quantum supremacy using a programmable superconducting processor." Nature 574.7779 (2019): 505-510.Arute, Frank, et al. "Quantum supremacy using a programmable superconducting processor." Nature 574.7779 (2019): 505-510. Gottesman, Daniel. "The Heisenberg representation of quantum computers." arXiv preprint quant-ph/9807006 (1998).Gottesman, Daniel. "The Heisenberg representation of quantum computers." arXiv preprint quant-ph/9807006 (1998). Aaronson, Scott, and Daniel Gottesman. "Improved simulation of stabilizer circuits." Physical Review A 70.5 (2004): 052328.Aaronson, Scott, and Daniel Gottesman. "Improved simulation of stabilizer circuits." Physical Review A 70.5 (2004): 052328. CNOT-Hadamard-Phase,[online],インターネット<URL:https://www.scottaaronson.com/chp/>CNOT-Hadamard-Phase, [online], Internet <URL: https://www.scottaaronson.com/chp/> Python CHP Stabilizer Simulator,[online],インターネット<URL:https://github.com/Strilanc/python-chp-stabilizer-simulator>Python CHP Stabilizer Simulator, [online], Internet <URL: https://github.com/Strilanc/python-chp-stabilizer-simulator> chp-sim,[online],インターネット<URL:https://github.com/qsharp-community/chp-sim>chp-sim, [online], Internet <URL: https://github.com/qsharp-community/chp-sim> Qiskit,[online],インターネット<URL:https://qiskit.org/>Qiskit, [online], Internet <URL: https://qiskit.org/>

しかしながら、量子計算機の開発が進むにつれ、シミュレートしようとするアルゴリズムやモジュールの規模が大きくなり、スタビライザーシミュレータであっても十分な速度でのシミュレートが困難な状況になっている。このため、より高速に量子回路をシミュレートする方法が求められている。 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.

情報処理装置の機能構成例を示す図である。FIG. 2 is a diagram illustrating an example of a functional configuration of an information processing device. スタビライザーテーブルの一例を示す図である。FIG. 4 is a diagram illustrating an example of a stabilizer table. 全体処理の流れの一例を示す図である。FIG. 11 is a diagram showing an example of the flow of an overall process. 量子回路更新処理の流れの一例を示す図である。FIG. 11 is a diagram illustrating an example of the flow of a quantum circuit update process. pop_next_operation関数の処理の流れの一例を示す図である。FIG. 13 is a diagram illustrating an example of the processing flow of a pop_next_operation function. シミュレート処理の流れの一例を示す図である。FIG. 11 is a diagram illustrating an example of a flow of a simulation process. コンピュータのハードウェア構成例を示す図である。FIG. 2 illustrates an example of a hardware configuration of a computer.

以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。 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 information processing device 10. The information processing device 10 includes a quantum circuit update unit 11, a simulator 12, and a stabilizer table storage unit 13.

量子回路更新部11は、入力された量子回路Oに含まれる命令[o,o,・・・,o]のうち、「測定」と「操作」がそれぞれできるだけ連続的に配置されるように、量子回路Oを更新する。 The quantum circuit update unit 11 updates the quantum circuit O such that, among the instructions [o 1 , o 2 , . . . , o n ] contained in the input quantum circuit O, the “measurements” and the “operations” are arranged as consecutively as possible.

シミュレート部12は、スタビライザーテーブルを使用して、更新された量子回路Tをシミュレートして、測定値mを示すデータを出力する。このとき、シミュレート部12は、「測定」の際にはRow-major、「操作」の際にはColumn-majorになるようにスタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートする。 The simulator 12 uses the stabilizer table to simulate the updated quantum circuit T and outputs data indicating the measurement value m. At this time, the simulator 12 performs the simulation while switching the arrangement of each element of the stabilizer table in memory so that it becomes row-major during "measurement" and column-major during "operation".

スタビライザーテーブル記憶部13は、シミュレートに使用するスタビライザーテーブルを記憶する。 The stabilizer table storage unit 13 stores the stabilizer table to be used for the simulation.

(スタビライザーテーブルの例)
図2は、スタビライザーテーブルの一例を示す図である。スタビライザーテーブルは、従来のスタビライザーシミュレータと同様に、n行、2n列の合計2nの要素からなるテーブルである。ここで、各要素は、例えば[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 simulator unit 12 simulates a quantum computing task by updating a specific column of the stabilizer table in the "operation" and mainly updating the rows in the "measurement".

初期状態では、スタビライザーテーブルは、メモリ上に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 simulator 12 changes the arrangement in memory so that the stabilizer table has a Row-major arrangement. Row-major is an arrangement in which row elements are consecutive on the memory, and the elements shown in FIG. 2 are consecutive as follows: 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 .

(情報処理装置の動作)
次に、情報処理装置10の動作について、図面を参照して説明する。
(Operation of information processing device)
Next, the operation of the information processing device 10 will be described with reference to the drawings.

図3は、全体処理の流れの一例を示す図である。情報処理装置10は、ユーザの操作等によって量子回路Oの入力を受けると、全体処理を実行する。全体処理を開始すると、量子回路更新部11は、量子回路更新処理を実行する(ステップS1)。次に、シミュレート部12は、更新された量子回路に基づくシミュレート処理を実行する(ステップS2)。 Figure 3 is a diagram showing an example of the flow of the overall processing. When the information processing device 10 receives input of the quantum circuit O by user operation or the like, it executes the overall processing. When the overall processing starts, the quantum circuit update unit 11 executes the quantum circuit update processing (step S1). Next, the simulation unit 12 executes the simulation processing based on the updated quantum circuit (step S2).

図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 circuit update unit 11 initializes the variable s to 0, the variable i to 1, and the updated quantum circuit T to [ ] (step S11).

次に、量子回路更新部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 circuit update unit 11 determines whether i = n (step S12). If the quantum circuit update unit 11 determines that i = n is not true (step S12: NO), it assigns the execution result of pop_next_operation(s, O) to O, o (step S13). The pop_next_operation function is a function that extracts an "operation" command when s is 0, and extracts a "measurement" command when s is 1. Details of the pop_next_operation function will be described later.

次に、量子回路更新部11は、o=Noneであるか否かを判定する(ステップS14)。量子回路更新部11は、o=Noneでないと判定すると(ステップS14:NO)、TにT+[o]を代入する(ステップS15)。このステップS15において、ステップS13で削除された命令oが、要素列の一番後ろに追加されるため、これによって命令の順番が入れ替わる。 Next, the quantum circuit update unit 11 determines whether or not o=None (step S14). If the quantum circuit update unit 11 determines that o=None is not true (step S14: NO), it assigns T+[o] to T (step S15). In this step S15, the instruction o deleted in step S13 is added to the end of the element string, thereby changing the order of the instructions.

次に、量子回路更新部11は、iにi+1を代入し(ステップS16)、ステップS13の処理に戻る。 Then, the quantum circuit update unit 11 assigns i to i+1 (step S16) and returns to the processing of step S13.

ステップS14において、量子回路更新部11は、o=Noneであると判定すると(ステップS14:YES)、sに1-sを代入し(ステップS17)、ステップS13の処理に戻る。このステップS17によって、量子回路更新部11は、「操作」の命令をまとめるための処理と「測定」の命令をまとめるための処理と、を切り替える。 In step S14, if the quantum circuit update unit 11 determines that o=None (step S14: YES), it assigns 1-s to s (step S17) and returns to the processing of step S13. In step S17, the quantum circuit update unit 11 switches between the processing for consolidating "operation" commands and the processing for consolidating "measurement" commands.

ステップS12において、量子回路更新部11は、i=nであると判定すると(ステップS12:YES)、更新された量子回路Tを出力する(ステップS18)。 In step S12, if the quantum circuit update unit 11 determines that i = n (step S12: YES), it outputs the updated quantum circuit T (step S18).

図5は、pop_next_operation関数の処理の流れの一例を示す図である。入力される量子回路O=[o,o,・・・,o]とする。なお、量子回路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 circuit update unit 11 determines whether i=m (step S1301). If the quantum circuit update unit 11 determines that i=m (step S1301: YES), it returns O, None (step S1302) and ends the processing of the pop_next_operation function.

また、量子回路更新部11は、i=mでないと判定すると(ステップS1301:NO)、s=0であるか否かを判定する(ステップS1303)。量子回路更新部11は、s=0であると判定すると(ステップS1303:YES)、命令oが操作であるか否かを判定する(ステップS1304)。 Furthermore, when the quantum circuit updating unit 11 determines that i=m is not true (step S1301: NO), it determines whether or not s=0 is true (step S1303). When the quantum circuit updating unit 11 determines that s=0 is true (step S1303: YES), it determines whether or not the instruction o i is an operation (step S1304).

量子回路更新部11は、命令oが操作であると判定すると(ステップS1304:YES)、変数jに1を代入し(ステップS1306)、命令oと命令oが置換可能であるか否かを判定する(ステップS1307)。 If the quantum circuit update unit 11 determines that the instruction o i is an operation (step S1304: YES), it assigns 1 to the variable j (step S1306) and determines whether the instruction o i and the instruction o j are substitutable (step S1307).

なお、量子回路がクリフォード回路の場合は、命令の種類が限られていることから、命令が置換可能であるか否かを容易に判定できることが知られている。 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は、命令oが操作でないと判定すると(ステップS1304:NO)、iにi+1を代入して(ステップS1308)、ステップS1301の処理に戻る。 Furthermore, in the process of step S1304, if the quantum circuit update unit 11 determines that the instruction o i is not an operation (step S1304: NO), it assigns i+1 to i (step S1308) and returns to the process of step S1301.

また、ステップS1303の処理において、量子回路更新部11は、s=0でないと判定すると(ステップS1303:NO)、命令oが測定であるか否かを判定する(ステップS1305)。量子回路更新部11は、命令oが測定であると判定すると(ステップS1305:YES)、ステップS1306の処理に進む。 In addition, in the process of step S1303, if the quantum circuit update unit 11 determines that s is not 0 (step S1303: NO), it determines whether the instruction o i is a measurement (step S1305). If the quantum circuit update unit 11 determines that the instruction o i is a measurement (step S1305: YES), it proceeds to the process of step S1306.

量子回路更新部11は、命令oが測定でないと判定すると(ステップS1305:NO)、ステップS1308の処理に進む。 If the quantum circuit update unit 11 determines that the instruction o i is not a measurement (step S1305: NO), the process proceeds to step S1308.

量子回路更新部11は、命令oと命令oが置換可能でないと判定すると(ステップS1307:NO)、ステップS1308の処理に進む。 If the quantum circuit update unit 11 determines that the instruction o i and the instruction o j are not substitutable (step S1307: NO), the quantum circuit update unit 11 proceeds to the process of step S1308.

量子回路更新部11は、命令oと命令oが置換可能であると判定すると(ステップS1307:YES)、j=iであるか否かを判定する(ステップS1309)。量子回路更新部11は、j=iでないと判定すると(ステップS1309:NO)、jにj+1を代入して(ステップS1310)、ステップS1307の処理に戻る。 When the quantum circuit update unit 11 determines that the instruction o i and the instruction o j are interchangeable (step S1307: YES), it determines whether or not j = i (step S1309). When the quantum circuit update unit 11 determines that j = i is not the case (step S1309: NO), it assigns j + 1 to j (step S1310) and returns to the process of step S1307.

量子回路更新部11は、j=iであると判定すると(ステップS1309:YES)、量子回路Oから命令oを削除する(ステップS1311)。そして、量子回路更新部11は、量子回路Oと命令oを返却して(ステップS1312)、pop_next_operation関数の処理を終了する。 When the quantum circuit update unit 11 determines that j=i (step S1309: YES), it deletes the instruction o i from the quantum circuit O (step S1311). Then, the quantum circuit update unit 11 returns the quantum circuit O and the instruction o i (step S1312) and ends the processing of the pop_next_operation function.

図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 simulator 12 initializes the variable s to 0, the variable i to 1, and the measurement value m to be output to [ ] (step S201).

シミュレート部12は、s=0であるか否かを判定する(ステップS202)。シミュレート部12は、s=0であると判定すると(ステップS202:YES)、命令oが操作であるか否かを判定する(ステップS203)。そして、シミュレート部12は、命令oが操作であると判定すると(ステップS203:YES)、命令oをシミュレートする(ステップS205)。続いて、シミュレート部12は、変数iにi+1を代入して(ステップS206)、ステップS212の処理に進む。 The simulator 12 judges whether s=0 (step S202). If the simulator 12 judges that s=0 (step S202: YES), the simulator 12 judges whether the command o i is an operation (step S203). If the simulator 12 judges that the command o i is an operation (step S203: YES), the simulator 12 simulates the command o i (step S205). Next, the simulator 12 assigns i+1 to the variable i (step S206) and proceeds to the process of step S212.

ステップS203の処理において、シミュレート部12は、命令oが操作でないと判定すると(ステップS203:NO)、メモリ上の配置について、スタビライザーテーブルの列と行を入れ替える(ステップS210)。すなわち、シミュレート部12は、メモリ上の配置がRow-majorの配置であった場合にはColumn-majorの配置に変更し、メモリ上の配置がColumn-majorの配置であった場合には、Row-majorの配置に変更する。 In the process of step S203, when the simulator 12 determines that the command o i is not an operation (step S203: NO), it swaps the columns and rows of the stabilizer table for the arrangement on the memory (step S210). That is, the simulator 12 changes the arrangement on the memory from a Row-major arrangement to a Column-major arrangement, and changes the arrangement on the memory from a Column-major arrangement to a Row-major arrangement.

そして、シミュレート部12は、変数sに1-sを代入して(ステップS211)、ステップS202の処理に戻る。 Then, the simulator 12 assigns 1-s to the variable s (step S211) and returns to the processing of step S202.

また、シミュレート部12は、ステップS202の処理において、s=0でないと判定すると(ステップS202:NO)、命令oが測定であるか否かを判定する(ステップS204)。そして、シミュレート部12は、命令oが測定であると判定すると(ステップS204:YES)、命令oを測定して、個別の測定値vを得て(ステップS207)、全体の測定値mにm+[v]を代入する(ステップS208)。続いて、シミュレート部12は、変数iにi+1を代入して(ステップS209)、ステップS212の処理に進む。 Furthermore, when the simulating unit 12 determines that s is not 0 in the process of step S202 (step S202: NO), it determines whether the command o i is a measurement (step S204). When the simulating unit 12 determines that the command o i is a measurement (step S204: YES), it measures the command o i to obtain an individual measurement value v (step S207) and assigns m+[v] to the overall measurement value m (step S208). Next, the simulating unit 12 assigns i+1 to the variable i (step S209) and proceeds to the process of step S212.

シミュレート部12は、ステップS204の処理において、命令oが測定でないと判定すると(ステップS204:NO)、ステップS210の処理に進む。 When the simulator 12 determines in step S204 that the instruction oi is not a measurement instruction (step S204: NO), the simulator 12 proceeds to step S210.

ステップS212の処理において、シミュレート部12は、i=nであるか否かを判定する(ステップS212)。シミュレート部12は、i=nでないと判定すると(ステップS212:NO)、ステップS202の処理に戻る。 In the process of step S212, the simulator 12 determines whether i=n (step S212). If the simulator 12 determines that i=n is not true (step S212: NO), the process returns to step S202.

シミュレート部12は、i=nであると判定すると(ステップS212:YES)、測定値mを出力する(ステップS213)。 When the simulator 12 determines that i = n (step S212: YES), it outputs the measurement value m (step S213).

(本実施の形態に係るハードウェア構成例)
情報処理装置10は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、物理マシンであってもよいし、クラウド上の仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
(Hardware Configuration Example According to the Present Embodiment)
The information processing device 10 can be realized, for example, by making a computer execute a program in which the processing contents described in this embodiment are described. Note that this "computer" may be a physical machine or a virtual machine on the cloud. When a virtual machine is used, the "hardware" described here is virtual hardware.

上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。 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 drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., all of which are interconnected via a bus B.

当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。 The program that realizes the processing on the computer is provided by a recording medium 1001, such as a CD-ROM or a memory card. When the recording medium 1001 storing the program is set in the drive device 1000, the program is installed from the recording medium 1001 via the drive device 1000 into the auxiliary storage device 1002. However, the program does not necessarily have to be installed from the recording medium 1001, but may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.

メモリ装置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 memory device 1003 reads out and stores the program from the auxiliary storage device 1002. The CPU 1004 realizes the functions related to the device according to the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network. The display device 1006 displays a GUI (Graphical User Interface) or the like according to a program. The input device 1007 is composed of a keyboard, mouse, buttons, a touch panel, or the like, and is used to input various operation instructions. The output device 1008 outputs the calculation results. Note that the above computer may be equipped with a GPU (Graphics Processing Unit) or a TPU (Tensor processing unit) instead of the CPU 1004, or may be equipped with a GPU or TPU in addition to the CPU 1004. In that case, the GPU or TPU may execute processes that require special calculations, and the CPU 1004 may execute other processes, so that the processes may be shared and executed.

上述した実施の形態において、図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 information processing device 10 may store the quantum circuit T updated by the quantum circuit update unit 11 in the first simulation, and in the second and subsequent simulations, the updated quantum circuit T may be used to perform simulation by the simulator 12. This makes it possible to substantially ignore the cost of the update process by the quantum circuit update unit 11 when simulating the same quantum circuit multiple times.

(本実施の形態の効果)
本実施の形態に係る情報処理装置10によれば、入力された量子回路に含まれる命令のうち、「測定」と「操作」がそれぞれできるだけ連続的に配置されるように、量子回路を更新する。そして、情報処理装置10は、更新された量子回路について、「測定」の際にはRow-major、「操作」の際にはColumn-majorになるようにスタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートする。
(Effects of this embodiment)
According to the information processing device 10 of the present embodiment, the quantum circuit is updated so that, among the commands included in the input quantum circuit, "measurement" and "operation" are arranged as consecutively as possible. Then, the information processing device 10 simulates the updated quantum circuit while switching the arrangement of each element of the stabilizer table in memory so that "measurement" is row-major and "operation" is column-major.

仮に、量子回路の更新を行わずに、メモリ上の配置を切り替えだけを行った場合、量子回路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 information processing device 10 of this embodiment, the continuity of the "measurement" and "operation" commands is improved, so the number of times the process of switching the memory layout can be executed can be minimized. This makes it possible to speed up the simulation of quantum circuits.

具体的には、量子回路更新部11は、貪欲法による最適化手法を用いて、「測定」と「操作」がそれぞれできるだけ連続的に配置されるように、量子回路Oを更新する。これによって、「測定」と「操作」の命令の連続性の向上を簡易に実現させることができる。 Specifically, the quantum circuit update unit 11 uses a greedy optimization method to update the quantum circuit O so that the "measurements" and "operations" are arranged as contiguously as possible. This makes it possible to easily improve the continuity of the "measurements" and "operations" commands.

(実施の形態のまとめ)
本明細書には、少なくとも下記の各項に記載した情報処理装置、シミュレート方法およびプログラムが記載されている。
(第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 claim 1.
(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 claim 1 or 2.
(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 claims 1 to 3.

以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 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 Information processing device 11 Quantum circuit update unit 12 Simulator unit 13 Stabilizer table storage unit 1000 Drive device 1001 Recording medium 1002 Auxiliary storage device 1003 Memory device 1004 CPU
1005 Interface device 1006 Display device 1007 Input device 1008 Output device

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.
前記シミュレート部は、更新された前記量子回路に含まれる命令が「測定」の際にはRow-major、「操作」の際にはColumn-majorになるように、前記スタビライザーテーブルの各要素のメモリ上の配置を切り替えながらシミュレートする、
請求項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.
コンピュータを、請求項1から3のいずれか1項に記載の情報処理装置における各部として機能させるためのプログラム。 A program for causing a computer to function as each unit of an information processing device according to any one of claims 1 to 3.
JP2021118023A 2021-07-16 2021-07-16 Information processing device, simulation method and program Active JP7570639B2 (en)

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)

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

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

Patent Citations (5)

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