WO2024004072A1 - 量子回路設計プログラム、量子回路設計方法および量子回路設計装置 - Google Patents

量子回路設計プログラム、量子回路設計方法および量子回路設計装置 Download PDF

Info

Publication number
WO2024004072A1
WO2024004072A1 PCT/JP2022/025903 JP2022025903W WO2024004072A1 WO 2024004072 A1 WO2024004072 A1 WO 2024004072A1 JP 2022025903 W JP2022025903 W JP 2022025903W WO 2024004072 A1 WO2024004072 A1 WO 2024004072A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantum
gate
equivalent circuit
circuit
qubit
Prior art date
Application number
PCT/JP2022/025903
Other languages
English (en)
French (fr)
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
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2022/025903 priority Critical patent/WO2024004072A1/ja
Publication of WO2024004072A1 publication Critical patent/WO2024004072A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/80Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing

Definitions

  • the present invention relates to a quantum circuit design program, a quantum circuit design method, and a quantum circuit design device.
  • the currently available quantum computer is a type called NISQ (Noisy Intermediate-Scale Quantum Computer) that uses superconducting or ion trap quantum bits. These quantum devices have an error rate of about 1% and a number of quantum bits of about 10-1000. Such small-scale quantum computers cannot completely correct errors. Therefore, when performing quantum computation on a quantum computer, it is important to perform the quantum computation using a quantum circuit that reduces errors as much as possible.
  • NISQ Noisy Intermediate-Scale Quantum Computer
  • a quantum computer is equipped with a one-qubit gate and a two-qubit gate as quantum gates for manipulating quantum bits. These quantum gates are called native gates. Which two-qubit gates are supported as native gates depends on the quantum device system used in the quantum computer.
  • a quantum circuit created in response to a problem to be solved may include quantum gates other than native gates. Therefore, quantum gates other than native gates are converted into an equivalent circuit that combines native gates, and then installed in a quantum bit control device that performs gate operations on quantum bits.
  • a three-qubit gate such as a CCX (Toffoli) gate, is implemented using multiple two-qubit gates.
  • a CnX gate or CnZ gate (n is an integer of 3 or more) having three or more control bits is converted into a plurality of CCX gates and then further converted into a native gate.
  • a constant folding method for compiling quantum algorithms has been proposed.
  • Techniques have also been proposed for designing application- or algorithm-specific quantum computing circuits for particular applications or algorithms.
  • a technique has been proposed in which when a logical quantum bit is used for a short time, if the usage times do not overlap, one physical quantum bit is reused by an active reset operation.
  • the error rate of an equivalent circuit depends on the characteristics of the quantum bits used in the equivalent circuit.
  • conversion into an equivalent circuit that takes the characteristics of quantum bits into consideration has not been performed. Therefore, the quantum gate to be converted is mechanically converted into an equivalent circuit associated with the quantum gate in advance, and the error rate of quantum calculation may increase. When the error rate of quantum calculation increases, calculation accuracy decreases.
  • the present case aims to improve the accuracy of quantum calculations.
  • a quantum circuit design program causes a computer to perform the following processes.
  • the computer detects a first quantum gate that cannot perform a gating operation on the quantum device from a quantum circuit that indicates gating operations on a plurality of qubits included in the quantum device. Based on the detected relaxation time of the qubit to be operated by the first quantum gate, the computer realizes the same gate operation as the first quantum gate using a second quantum gate that can perform the gate operation in the quantum device. Determine the equivalent circuit to be implemented from among multiple equivalent circuits.
  • the computer then converts the first quantum gate in the quantum circuit into the determined equivalent circuit.
  • FIG. 1 is a diagram showing an example of a quantum circuit design method according to a first embodiment; FIG. It is a figure showing an example of system configuration of a 2nd embodiment.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of a control computer.
  • FIG. 3 is a diagram showing an example of an equivalent circuit of a CCX gate.
  • FIG. 3 is a diagram showing an example of an equivalent circuit of a CCZ gate.
  • FIG. 3 is a diagram showing an example of an equivalent circuit of an optimized CCZ gate.
  • FIG. 2 is a diagram showing an example of an equivalent circuit that can be implemented with a CCZ gate.
  • FIG. 3 is a diagram showing an example of an equivalent circuit of a CX gate using an iSWAP gate.
  • FIG. 3 is a diagram showing an example of connection topology information.
  • FIG. 3 is a diagram showing an example of quantum bit characteristic information.
  • 12 is a flowchart illustrating an example of a procedure for updating quantum bit characteristic information.
  • FIG. 3 is a diagram illustrating an example of conversion processing of a CCX gate. 3 is a flowchart illustrating an example of a procedure for quantum circuit conversion processing.
  • FIG. 6 is a diagram showing an example of a change in TVD for each equivalent circuit depending on noise.
  • FIG. 2 is a diagram illustrating an example of a three-qubit Grover's algorithm quantum circuit.
  • FIG. 2 is a diagram illustrating an example of an equivalent circuit of a quantum circuit of Grover's algorithm.
  • FIG. 6 is a diagram showing an example of a change in TVD for each equivalent circuit according to noise in Grover's algorithm.
  • FIG. 1 is a diagram illustrating an example of the quantum circuit design method according to the first embodiment.
  • FIG. 1 shows a quantum computer having a quantum circuit design device 10 and a quantum bit control device 8.
  • the quantum circuit design device 10 can implement the quantum circuit design method according to the first embodiment by executing the quantum circuit design program.
  • a quantum bit control device 8 is connected to the quantum circuit design device 10.
  • the quantum bit control device 8 has a plurality of quantum bits 8a, 8b, . . . and executes quantum computation using the quantum bits 8a, 8b, .
  • the quantum circuit design device 10 can design an appropriate quantum circuit 7 according to the characteristics of the quantum bits 8a, 8b, . . . that the quantum bit control device 8 has.
  • the quantum circuit design device 10 has a storage section 11 and a processing section 12.
  • the storage unit 11 is, for example, a memory or a storage device included in the quantum circuit design device 10.
  • the processing unit 12 is, for example, a processor or an arithmetic circuit included in the quantum circuit design device 10.
  • the storage unit 11 stores the quantum circuit 1 and quantum bit characteristic information 2.
  • Quantum circuit 1 is information indicating a quantum bit operation procedure for finding the number of times of a problem to be solved by quantum calculation. In the quantum circuit 1, gate operations on quantum bits are shown using quantum gates.
  • the quantum gate used in the quantum circuit 1 is not limited to a quantum gate supported by hardware in a quantum device of a quantum computer. Therefore, the quantum circuit 1 also includes a quantum gate that operates on three or more quantum bits.
  • the quantum circuit 1 includes a CCX gate 1a (also called a Toffoli gate) or a CCZ gate 1b.
  • the quantum bit characteristic information 2 stores information regarding the characteristics of each of the quantum bits 8a, 8b, . . . possessed by the quantum bit control device 8.
  • the quantum bit characteristic information 2 includes a relaxation time indicating a period during which quantum state information can be retained for each of the quantum bits 8a, 8b, . . . .
  • the quantum bit characteristic information 2 can also include the fidelity of each of the quantum bits 8a, 8b, . . . . Fidelity is a measure of how close a quantum bit's state is to its ideal quantum state.
  • the processing unit 12 converts the quantum circuit 1 stored in the storage unit 11 into a quantum circuit 7 that can be implemented in the quantum bit control device 8. For example, the processing unit 12 converts a quantum gate that operates three or more quantum bits in the quantum circuit 1 into an equivalent circuit that is a combination of one-qubit gates or two-qubit gates. Further, when the quantum device of the quantum bit control device 8 can operate the CZ gate but cannot operate the CX gate (CNOT gate), the processing unit 12 converts the CX gate into an equivalent circuit using the CZ gate. . Specifically, the processing unit 12 performs the following processing.
  • the processing unit 12 selects a quantum circuit 1 indicating a gate operation for a plurality of qubits 8a, 8b, .
  • the first quantum gate is, for example, a CCX gate 1a or a CCZ gate 1b.
  • the processing unit 12 selects an equivalent circuit to be implemented from among a plurality of equivalent circuits that realize the same gate operation as the first quantum gate, based on the relaxation time of the qubit to be operated by the first quantum gate. decide.
  • the plurality of equivalent circuits are quantum circuits using a second quantum gate that can perform a gate operation with a quantum device of a quantum computer.
  • the processing unit 12 determines the equivalent circuit to be implemented based on the ratio between the gate operation time of a two-qubit gate in the quantum computer and the relaxation time of the qubit to be operated. In this case, the processing unit 12 obtains the minimum value of the relaxation times of each of the plurality of qubits to be operated.
  • the processing unit 12 compares the value of the ratio of the gate operation time to the minimum value of the relaxation time (gate operation time/relaxation time) with a predetermined threshold value. If the "gate operation time/relaxation time" is less than the threshold value, the processing unit 12 determines to convert to an equivalent circuit using iSWAP gates. Furthermore, if the "gate operation time/relaxation time" is equal to or greater than the threshold value, the processing unit 12 determines to convert to an equivalent circuit using a CZ gate.
  • the processing unit 12 converts the first quantum gate in the quantum circuit 1 into the determined equivalent circuit. For example, when the detected first quantum gate is a CCX gate 1a, the processing unit 12 first converts the CCX gate 1a into an equivalent circuit 3 that performs the same gate operation as the CCX gate 1a.
  • Equivalent circuit 3 includes a CCZ gate 3a.
  • the processing unit 12 converts the CCZ gate 3a included in the equivalent circuit 3 into an equivalent circuit 4 that performs the same gate operation as the CCZ gate 3a.
  • Equivalent circuit 4 includes a CX gate 4a. Furthermore, when the detected first quantum gate is a CCZ gate 1b, the processing unit 12 converts the CCZ gate 1b into the equivalent circuit 4.
  • the processing unit 12 converts the CX gate 4a in the equivalent circuit 4 into one of two equivalent circuits 5 and 6 that perform the same gate operation as the CX gate 4a.
  • Equivalent circuit 5 includes iSWAP gates 5a and 5b.
  • Equivalent circuit 6 includes a CZ gate 6a.
  • the processing unit 12 converts the CX gate 4a in the equivalent circuit 4 into the equivalent circuit 5 when it is determined to convert it into an equivalent circuit using iSWAP gates.
  • the processing unit 12 converts the CX gate 4a in the equivalent circuit 4 into the equivalent circuit 6 when it is determined to convert it into an equivalent circuit using a CZ gate.
  • the processing unit 12 instructs the quantum bit control device 8 to perform quantum calculation according to the quantum circuit 7 generated by converting the first quantum gate of the quantum circuit 1 into an equivalent circuit.
  • the quantum circuit 7 includes, for example, equivalent circuits 7a and 7b in place of the CCX gate 1a and the CCZ gate 1b of the quantum circuit 1.
  • the quantum circuit 7 is composed only of quantum gates that are natively supported by the quantum device by the quantum bit controller 8 .
  • the quantum bit control device 8 executes gate operations using the quantum gates shown in the quantum circuit 7 on the quantum bits 8a, 8b, . . . , 8b, . . .
  • the processing unit 12 can convert the CCX gate 1a or the CCZ gate 1b into the equivalent circuits 7a, 7b with a lower error rate based on the relaxation times of the quantum bits 8a, 8b, . can.
  • the error rate of quantum calculation by the quantum bit control device 8 is reduced, and highly accurate calculation becomes possible.
  • the processing unit 12 determines the equivalent circuit to be implemented based on the ratio between the gate operation time of the two-qubit gate and the relaxation time of the qubit to be operated. Thereby, it is possible to correctly evaluate the influence of noise depending on the relaxation time, and it is possible to appropriately determine the equivalent circuit to be converted.
  • the processing unit 12 also calculates the ratio of the gate operation time to the relaxation time using the minimum value of the relaxation times of each of the plurality of quantum gates operated by the first quantum gate to be converted. Compare with threshold. In this way, the equivalent circuit to be converted is determined using the minimum value of the relaxation time of each quantum gate. As a result, the equivalent circuit to be converted is determined in accordance with the characteristics of the quantum gate of poor quality. Errors in gate operations on qubits accumulate with each gate operation, so if a quantum gate has a high error rate, the error rate of the quantum circuit that operates that quantum gate will also increase. Therefore, by determining the equivalent circuit to be converted according to the characteristics of the quantum gate with poor quality, it is possible to determine the equivalent circuit to be converted after correctly evaluating the quality of each of a plurality of equivalent circuits.
  • the processing unit 12 may periodically (for example, every day) measure the relaxation time of each of the quantum bits 8a, 8b, . . . and update the quantum bit characteristic information 2. Thereby, when converting the quantum circuit 1, the equivalent circuit to be converted can be determined using the latest relaxation time of each of the quantum bits 8a, 8b, .
  • the processing unit 12 determines the quantum bit to be operated in the quantum circuit based on the fidelity of the plurality of quantum bits 8a, 8b, . . . included in the quantum computer. For example, the processing unit 12 determines the qubit group with the highest average fidelity among the consecutive qubit groups corresponding to the number of qubits used in the quantum circuit 7 as the qubit group to be operated by the quantum circuit 7 .
  • the continuous qubit group is a plurality of qubits in which adjacent qubits are connected to each other when the qubits are arranged in a line. The use of high-fidelity qubits enables highly accurate quantum calculations.
  • the second embodiment is a system that takes into account the fidelity of the qubit, allocates an optimal qubit to a quantum circuit, and executes quantum computation with a quantum circuit that is optimized according to the relaxation time of the qubit. It is.
  • FIG. 2 is a diagram showing an example of the system configuration of the second embodiment.
  • the quantum computer 300 is a gate-type quantum computer.
  • Quantum computer 300 includes control computer 100 and quantum bit control device 200.
  • Terminal devices 401, 402, . . . are connected to the control computer 100 via the network 20.
  • the terminal devices 401, 402, . . . are computers used by users who request quantum calculation by the quantum computer 300.
  • the control computer 100 receives quantum circuits from the terminal devices 401, 402, . . . .
  • Quantum circuits indicate the order of operations on qubits by the arrangement of elements such as gates.
  • a quantum bit is a bit that can express a superposition state of a "0" state and a "1" state.
  • the control computer 100 instructs the quantum bit control device 200 to control the quantum bits according to the quantum circuits received from the terminal devices 401, 402, . . .
  • the control computer 100 also obtains measurement results for each quantum bit from the quantum bit control device 200.
  • the qubit control device 200 has multiple qubits and devices for operating each of the multiple qubits.
  • the plurality of qubits included in the qubit control device 200 may be of a superconducting type or an ion trap type, for example. Further, the plurality of qubits may be of a diamond spin type.
  • the quantum bit control device 200 may include a refrigerator for cooling the quantum bit.
  • the quantum bit control device 200 irradiates microwaves to the quantum bits, for example, in response to instructions from the control computer 100. Further, a device for manipulating each of the plurality of quantum bits measures the state of each of the plurality of quantum bits and transmits it to the control computer 100.
  • FIG. 3 is a diagram showing an example of the hardware configuration of the control computer.
  • the entire device of the control computer 100 is controlled by a CPU (Central Processing Unit) 101.
  • the CPU 101 is a processor that executes program instructions.
  • the CPU 101 may include multiple processor cores.
  • the CPU 101 may be a plurality of processors, and may be an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), or the like.
  • MPU Micro Processing Unit
  • DSP Digital Signal Processor
  • at least a part of the functions realized by the CPU 101 executing a program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).
  • a RAM (Random Access Memory) 102 and a plurality of peripheral devices are connected to the CPU 101 via a bus 100a.
  • the RAM 102 is the main storage device of the control computer 100.
  • the RAM 102 temporarily stores at least a portion of OS (Operating System) programs and application programs that the CPU 101 executes. Further, the RAM 102 stores various data used for processing by the CPU 101.
  • the control computer 100 may include a type of memory other than RAM, or may include a plurality of memories.
  • Peripheral devices connected to the bus 100a include an HDD (Hard Disk Drive) 103, a GPU (Graphics Processing Unit) 104, an input interface 105, an optical drive device 106, device connection interfaces 107 and 108, and a network interface 109.
  • HDD Hard Disk Drive
  • GPU Graphics Processing Unit
  • the HDD 103 is an auxiliary storage device of the control computer 100.
  • the HDD 103 magnetically writes and reads data to and from a built-in magnetic disk.
  • the HDD 103 stores OS programs, application programs, and various data.
  • the control computer 100 may include other types of auxiliary storage devices such as flash memory and SSD (Solid State Drive), or may include a plurality of auxiliary storage devices.
  • a monitor 21 is connected to the GPU 104.
  • the GPU 104 displays an image on the screen of the monitor 21 according to instructions from the CPU 101.
  • Examples of the monitor 21 include a display device using organic EL (Electro Luminescence), a liquid crystal display device, and the like.
  • a keyboard 22 and a mouse 23 are connected to the input interface 105.
  • the input interface 105 transmits signals sent from the keyboard 22 and mouse 23 to the CPU 101.
  • the mouse 23 is an example of a pointing device, and other pointing devices can also be used.
  • Other pointing devices include touch panels, tablets, touch pads, trackballs, and the like.
  • the optical drive device 106 reads data recorded on the optical disc 24 using laser light or the like.
  • the optical disc 24 is a portable recording medium on which data is recorded so as to be readable by reflection of light.
  • the optical disc 24 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable)/RW (ReWritable), and the like.
  • the device connection interface 107 is a communication interface for connecting peripheral devices to the control computer 100.
  • a memory device 25 or a memory reader/writer 26 can be connected to the device connection interface 107.
  • the memory device 25 is a recording medium equipped with a communication function with the device connection interface 107.
  • the memory reader/writer 26 is a device that writes data to or reads data from the memory card 27.
  • the memory card 27 is a card-type recording medium.
  • the device connection interface 108 is a communication interface for connecting the quantum bit control device 200 to the control computer 100.
  • Control computer 100 sends instructions for controlling the quantum bits to quantum bit control device 200 via device connection interface 108 .
  • the network interface 109 is connected to the network 20.
  • the network interface 109 sends and receives data to and from other computers or communication devices via the network 20.
  • the control computer 100 can realize the processing functions of the second embodiment with the hardware configuration described above.
  • the quantum circuit design apparatus 10 shown in the first embodiment can also be realized by the same hardware as the control computer 100 shown in FIG. 3.
  • the CPU 101 is an example of the processing unit 12 shown in the first embodiment.
  • the control computer 100 implements the processing functions of the second embodiment, for example, by executing a program recorded on a computer-readable recording medium.
  • a program that describes the processing content to be executed by the control computer 100 can be recorded on various recording media.
  • a program to be executed by the control computer 100 can be stored in the HDD 103.
  • the CPU 101 loads at least a part of the program in the HDD 103 into the RAM 102 and executes the program.
  • the program to be executed by the control computer 100 may be recorded on a portable recording medium such as the optical disk 24, the memory device 25, the memory card 27, or the like.
  • the program stored in the portable recording medium becomes executable after being installed on the HDD 103 under the control of the CPU 101, for example.
  • the CPU 101 can also directly read and execute a program from a portable recording medium.
  • the control computer 100 obtains a quantum circuit in which a procedure for gate operation of quantum bits for quantum calculation is described from the terminal devices 401, 402, . . .
  • the quantum circuits obtained from the terminal devices 401, 402, . . . include gate operations for three or more quantum bit gates.
  • gate operations in the qubit control device 200 are limited to gate operations for one-qubit gates or two-qubit gates. Therefore, the control computer 100 converts the quantum gates of three or more quantum bits included in the acquired quantum circuit into an equivalent circuit using a one-qubit gate or a two-qubit gate.
  • the quantum circuit used in the following description has a horizontal line corresponding to each quantum bit that performs a gate operation.
  • a quantum gate indicating a gate operation to be performed on the corresponding quantum bit is placed on the horizontal line.
  • the quantum gate that indicates the operation to be performed first is placed further to the left.
  • FIG. 4 is a diagram showing an example of an equivalent circuit of a CCX gate.
  • the CCX gate 30 indicates that when two control bits (q 0 , q 1 ) are "1", an X gate is applied to one target bit (q 2 ) (inverting the bit). .
  • a symbol that combines a circle and a + is placed on the line corresponding to the qubit that is the target bit of the CCX gate 30, and a symbol that combines a circle and a + is placed on the line that corresponds to each of the qubits that are the two control bits. Points connected by lines are placed.
  • Such a CCX gate 30 can be converted into an equivalent circuit 31 that is a combination of an H gate (Hadamard gate) and a CCZ gate 31a.
  • the equivalent circuit 31 is a quantum circuit that performs gate operations equivalent to the CCX gate 30.
  • the equivalent circuit 31 in the quantum bit of the target bit, two H gates (rectangles labeled "H” in FIG. 4) are arranged with a CCZ gate 31a in between.
  • the CCZ gate 31a indicates that when two control bits (q 0 , q 1 ) are "1", a Z gate is applied to one target bit (q 2 ) (inverting the phase). .
  • the CCZ gate 31a included in the equivalent circuit 31 can be converted into an equivalent circuit that is a combination of a 1-qubit gate and a 2-qubit gate.
  • FIG. 5 is a diagram showing an example of an equivalent circuit of a CCZ gate.
  • the equivalent circuit 33 is equivalent to the CCZ gate 32 for quantum bits q 0 , q 1 , and q 2 and is a quantum circuit that is a combination of a 1-qubit gate and a 2-qubit gate.
  • the blocks labeled T arranged on the horizontal lines corresponding to the quantum bits q 0 , q 1 , and q 2 indicate T gates.
  • the T-gate indicates an operation that shifts the phase by a predetermined value.
  • blocks labeled T ⁇ placed on horizontal lines corresponding to the quantum bits q 0 , q 1 , and q 2 of the equivalent circuit 33 indicate T ⁇ gates.
  • the T ⁇ gate indicates an operation that shifts the phase by a predetermined value in the opposite direction to the T gate.
  • a symbol that is a combination of a circle and a + placed on the horizontal line corresponding to each of the quantum bits q 0 , q 1 , and q 2 of the equivalent circuit 33 is connected to the symbol by a line, and the qubits q 0 , q 1 , q 2 respectively indicate CX gates.
  • the symbol that combines a circle and + is placed on the line corresponding to the quantum bit that is the target bit of the CX gate, and the point is placed on the line that corresponds to the quantum bit that is the control bit of the CX gate.
  • the CX gate indicates that the bit of the target bit is to be inverted when the control bit is "1".
  • the CCZ gate 32 can be converted into an equivalent circuit 33 that is a combination of a 1-qubit gate and a 2-qubit gate.
  • the equivalent circuit 33 includes CX gates 33a and 33b for the quantum bit q0 and the quantum bit q2 .
  • two-qubit gate operations can only be performed between two connected qubits.
  • connected qubits of the actual qubits are assigned to adjacent qubits on the quantum circuit.
  • unconnected qubits among the actual qubits may be assigned to qubits that are not adjacent on the quantum circuit.
  • the equivalent circuit 33 is converted into an equivalent circuit 34 using the SWAP gate 34a.
  • a SWAP gate 34a is inserted at a position before the CX gates 33a and 33b in the equivalent circuit 33.
  • SWAP gate 34a represents a gate operation that exchanges the state of two qubits.
  • the CX gates 33a and 33b are replaced with CX gates 34b and 34c for the quantum bit q0 and the quantum bit q1 .
  • the last T gate 33c of the quantum bit q 2 in the equivalent circuit 33 is replaced with the last T gate 34 d of the quantum bit q 1 in the equivalent circuit 34.
  • the equivalent circuit 34 the actual allocation of qubits in the qubit control device 200 to the qubits targeted for quantum calculation in the quantum algorithm is different before and after the equivalent circuit 34 is executed. Therefore, the equivalent circuit 33 and the equivalent circuit 34 have different quantum states measured by each quantum bit q 0 , q 1 , q 2 after execution.
  • x 0 , x 1 , and x 2 be qubits to be subjected to quantum calculation in a quantum algorithm.
  • an actual quantum bit q 0 in the quantum bit control device 200 is assigned to the quantum bit x 0 .
  • an actual quantum bit q 1 in the quantum bit control device 200 is assigned to the quantum bit x 1 .
  • the actual quantum bit q 2 in the quantum bit control device 200 is assigned to the quantum bit x 2 .
  • the quantum state of qubit x 0 can be obtained by measuring qubit q 0
  • the quantum state of qubit x 1 can be obtained by measuring qubit q 1
  • the quantum state of qubit x 2 can be obtained by measuring qubit q 2 .
  • equivalent circuit 33 cannot be executed. In that case, equivalent circuit 34 is implemented. Since the equivalent circuit 34 includes the SWAP gate 34a, the actual quantum bits allocated to the quantum bits x 1 and x 2 whose states are exchanged in the SWAP gate 34a are changed.
  • quantum bit x 1 is assigned quantum bit q 1 at the start of execution of the equivalent circuit 34, but quantum bit q 2 is assigned at the end of execution of the equivalent circuit 34.
  • quantum bit q 2 is assigned when the equivalent circuit 34 starts execution, but the quantum bit q 1 is assigned when the equivalent circuit 34 ends the execution.
  • the quantum state of qubit x 0 can be obtained by measuring qubit q 0
  • the quantum state of qubit x 2 can be obtained by measuring qubit q 1
  • the quantum state of qubit x 1 can be obtained by measuring qubit q 2 .
  • the SWAP gate 34a in the equivalent circuit 34 is converted to a combination of CX gates. Further, the equivalent circuit 34 is optimized.
  • FIG. 6 is a diagram showing an example of an equivalent circuit of an optimized CCZ gate.
  • the equivalent circuit 34 is converted into circuits shown in three conversion patterns, resulting in an equivalent circuit 35.
  • the first conversion pattern shows conversion from a SWAP gate to three CX gates.
  • the second conversion pattern shows that two consecutive CX gates with common control bits and target bits are the same as when no gate operation is performed, and that these CX gates can be deleted. There is.
  • the third conversion pattern indicates that when there is a T gate before or after the control bit of the CX gate, the position of the control bit of the CX gate and the position of the T gate may be swapped. ing.
  • the SWAP gate 34a of the equivalent circuit 34 sets the quantum bit q1 0 as the quantum bit q 2 of the equivalent circuit 34 and the quantum bit q1 1 as the quantum bit q 1 of the equivalent circuit 34 in the "conversion pattern 1". 1” into three CX gates.
  • the quantum bit q 2 becomes the control bit and the quantum bit q 1 becomes the target bit.
  • the first of the three CX gates converted from the SWAP gate 34a and the CX gate 34f immediately before the SWAP gate 34a have the same control bit and target bit.
  • "conversion pattern 2" can be applied.
  • the first of the three CX gates converted from the SWAP gate 34a and the CX gate 34f immediately before the SWAP gate 34a are deleted.
  • What remains in the equivalent circuit 35 after conversion are the second and third CX gates 35a of the three CX gates converted from the SWAP gate 34a.
  • a control bit of the CX gate 34e is arranged before the last T gate 34d.
  • "conversion pattern 3" can be applied to move the T gate 34d in front of the CX gate 34e.
  • a T gate 35b corresponding to the T gate 34d is placed before the last CX gate 35c for the quantum bit q1 .
  • the gate operation time of a 2-qubit gate is more than 10 times. Therefore, the number of two-qubit gates can be used as an index of the gate operation time for the equivalent circuit 35 after conversion.
  • the two-qubit gates included in the equivalent circuit 35 are seven CX gates.
  • the quantum computer 300 supports CZ gates in many cases, it does not support CX gates.
  • CZ gates and iSWAP gates are supported as native gates, but CX gates are not necessarily supported. If the CX gate is not supported, by replacing the CX gate included in the equivalent circuit 35 with an equivalent circuit using a CZ gate, the quantum circuit becomes a quantum circuit that can be gate-operated by the quantum bit control device 200.
  • FIG. 7 is a diagram showing an example of an equivalent circuit that can be implemented with a CCZ gate.
  • the CX gate can be converted into an equivalent circuit 41 using a CZ gate, as shown in "Conversion Pattern 4".
  • the CX gate is replaced with a CZ gate, and in the quantum bit of the target bit of the CX gate, two H gates are arranged with the CZ gate in between.
  • An equivalent circuit 36 is obtained by converting the seven CX gates included in the equivalent circuit 35 into an equivalent circuit 41.
  • iSWAP gate As a native gate of the quantum computer 300. It is also possible to replace the CX gate with an equivalent circuit using an iSWAP gate.
  • FIG. 8 is a diagram showing an example of an equivalent circuit of a CX gate using an iSWAP gate.
  • the equivalent circuit 42 of the CX gate is composed of two iSWAP gates 42a and 42b and five rotation gates 42c to 42g.
  • a rotation gate 42c for rotating by "- ⁇ /2" around the Z axis is arranged on the control bit side of the CX gate.
  • a rotation gate 42d that rotates by " ⁇ /2" around the X-axis and a rotation gate 42e that rotates " ⁇ /2" around the Z-axis are arranged.
  • a first iSWAP gate 42a is arranged next to these rotation gates 42c to 42e.
  • a rotation gate 42f that rotates by " ⁇ /2" around the X axis is arranged on the control bit side of the CX gate.
  • a second iSWAP gate 42b is arranged next to this rotation gate 42f.
  • a rotation gate 42g that rotates by " ⁇ /2" around the Z axis is arranged on the target bit side of the CX gate.
  • the quantum computer 300 is NISQ.
  • NISQ has a small number of quantum bits and cannot perform error correction. Errors occur due to the influence of noise, and the more gates a quantum circuit has, the more errors will accumulate. Therefore, when converting a quantum gate included in a quantum circuit into a native gate, implementation is required that takes noise into account. For example, when implementing a CCX gate, it is necessary to appropriately determine whether to implement it in an equivalent circuit using a CX gate or an iSWAP gate.
  • the susceptibility of a quantum bit to noise is expressed as fidelity. Higher fidelity indicates that the qubit is less susceptible to noise.
  • the fidelity of a quantum gate is a measure of how close the quantum gate operation to the qubit is to ideal operation. Additionally, qubits have a limit to how long they can retain information without losing it. Such time is called relaxation time. If the operating time in a quantum circuit exceeds the relaxation time, information in the qubits is lost and errors occur.
  • the relaxation time includes an average time for maintaining an excited state (energy relaxation time) and an average time for maintaining superposition (phase relaxation time).
  • T1 energy relaxation time
  • phase relaxation time phase relaxation time
  • Indices that indicate the ease with which errors occur include the fidelity of a quantum bit, the relaxation time of a quantum bit, and the fidelity of a quantum gate.
  • the value of each index of error susceptibility differs for each qubit due to variations in quantum device fabrication. Therefore, when converting the acquired quantum circuit into an implementable quantum circuit, it is important for the control computer 100 to appropriately determine which quantum bit to implement with which native gate.
  • control computer 100 determines the quantum circuit to be implemented based on an index of the likelihood of errors occurring.
  • the control computer 100 measures the fidelity and T1 of all quantum bits.
  • the control computer 100 allows the number of qubits used to execute the quantum algorithm to be arranged consecutively and allocates qubits with high fidelity to the quantum circuits to be executed. Then, the control computer 100 performs CCX gate or CCZ gate operation with the allocated qubits, and uses the threshold value based on the qubit with the shortest T1 value among the three qubits to be used for the quantum circuit to be implemented. Determine the native two-quantum gate.
  • FIG. 9 is a block diagram showing an example of the functions of the control computer.
  • the control computer 100 includes a storage section 110, a quantum calculation control section 120, a quantum bit characteristic measurement section 130, a quantum bit allocation section 140, and a gate conversion section 150.
  • the storage unit 110 stores conversion information 111, connection topology information 112, and quantum bit characteristic information 113.
  • conversion information 111 a quantum gate to be converted and an equivalent circuit are registered in association with each other.
  • connection topology information 112 connection topology information indicating the connection relationship between quantum bits in the quantum bit control device 200 is registered.
  • quantum bit characteristic information 113 the fidelity and T1 of each quantum bit in the quantum bit control device 200 are registered.
  • the quantum calculation control unit 120 controls quantum calculation. First, the quantum calculation control unit 120 obtains a quantum circuit. For example, the quantum calculation control unit 120 receives a request for quantum calculation by the quantum computer 300 and a quantum circuit from the terminal devices 401, 402, . . . . The quantum calculation control unit 120 then controls the quantum bit control device 200 according to the quantum circuit converted by the gate conversion unit 150.
  • the qubit characteristic measuring unit 130 measures the fidelity and T1 of each qubit in the qubit control device 200 at predetermined intervals. For example, the quantum bit characteristic measuring unit 130 controls the quantum bit control device 200 about once a day to measure the fidelity and T1. The quantum bit characteristic measuring unit 130 updates the quantum bit characteristic information 113 every time it performs a measurement.
  • the quantum bit allocation unit 140 allocates the quantum bits in the quantum bit control device 200 to the quantum bits used in the quantum circuit acquired by the quantum calculation control unit 120.
  • the quantum bit allocation unit 140 refers to the connection topology information 112 and performs quantum bit allocation according to the condition that vertically adjacent quantum bits are connected in the quantum circuit. If there are a plurality of qubit allocation patterns that satisfy the conditions, the qubit allocation unit 140 adopts an allocation pattern with a high average fidelity of the included qubits.
  • the gate conversion unit 150 refers to the conversion information 111 and converts the quantum circuits acquired from the terminal devices 401, 402, . . . into a quantum circuit that can be implemented in the quantum bit control device 200. Note that when converting the CX gate, the gate conversion unit 150 determines the equivalent circuit to be converted based on the minimum value of the T1 values of each quantum bit assigned to the quantum circuit.
  • each element shown in FIG. 9 indicates a part of the communication route, and communication routes other than the illustrated communication route can also be set. Further, the functions of each element shown in FIG. 9 can be realized, for example, by causing a computer to execute a program module corresponding to the element.
  • FIG. 10 is a diagram showing an example of conversion information.
  • the conversion information 111 includes columns for detection gates and equivalent circuits.
  • the detection gate column gates to be detected as conversion targets are set.
  • the equivalent circuit column an equivalent circuit of the detection gate is set.
  • an equivalent circuit 31 using a CCZ gate is registered in association with a CCX gate.
  • an equivalent circuit 35 that is a combination of one quantum bit gate and two quantum bits is registered in association with the CCZ gate.
  • an equivalent circuit 41 using a CZ gate and an equivalent circuit 42 using an iSWAP gate are registered in association with the CX gate.
  • FIG. 11 is a diagram showing an example of connection topology information.
  • connection topology information 112 a plurality of connection qubit pairs indicating two qubits in a connection relationship are registered. As long as there are two qubits shown in the connected qubit pair, the qubit control device 200 can perform a two-qubit gate operation that targets these qubits.
  • FIG. 12 is a diagram showing an example of quantum bit characteristic information.
  • the fidelity and T1 of the corresponding quantum bit are set in association with the identifier of each quantum bit that the quantum bit control device 200 has.
  • the fidelity of the quantum bit and T1 are periodically updated by the quantum bit characteristic measurement unit 130.
  • FIG. 13 is a flowchart illustrating an example of a procedure for updating quantum bit characteristic information. The process shown in FIG. 13 will be described below in accordance with step numbers.
  • Step S101 The quantum bit characteristic measuring unit 130 determines whether a preset measurement time (for example, a specific time every day) has arrived. When the measurement time has come, the quantum bit characteristic measuring unit 130 advances the process to step S102. If the measurement time has not yet arrived, the quantum bit characteristic measuring unit 130 repeats step S101 and waits for the measurement time to arrive.
  • a preset measurement time for example, a specific time every day
  • the quantum bit characteristic measuring unit 130 controls the quantum bit control device 200 to measure the fidelity and T1 of each quantum bit.
  • the quantum bit characteristic measuring unit 130 updates the values of the fidelity and T1 of each quantum bit in the quantum bit characteristic information 113 to the latest measured values. Thereafter, the quantum bit characteristic measuring unit 130 advances the process to step S101.
  • t is the gate execution time.
  • the gate execution time t of a one-qubit gate is a predetermined time in the quantum computer 300, and does not depend on the type of one-qubit gate. Similarly, the gate execution time of a two-qubit gate does not depend on the type of two-qubit gate.
  • the gate execution time of a two-qubit gate is set to a much longer value than the gate execution time of a one-qubit gate. Therefore, in quantum circuits, the number of two-qubit gates is used as an indicator of the likelihood of errors occurring.
  • the number of two-qubit gates in a quantum circuit is called the circuit length. Errors are less likely to occur in a quantum circuit with a shorter circuit length.
  • the iSWAP gate is less affected by coherent noise than the CZ gate.
  • the equivalent circuit 41 using the CZ gate requires only one 2-qubit gate, but the equivalent circuit 42 using the iSWAP gate requires only one 2-qubit gate. becomes 2 pieces. That is, the circuit length of the equivalent circuit 42 is twice that of the equivalent circuit 41. The longer the circuit length, the greater the influence of decoherence noise. Decoherence noise changes depending on the ratio of relaxation time to gate operation time, and relaxation time differs for each qubit.
  • the gate conversion unit 150 converts the equivalent circuit of the conversion destination based on the value of the ratio of gate execution time to relaxation time for the two-qubit gate. decide.
  • FIG. 14 is a diagram showing an example of the conversion process of the CCX gate.
  • the gate converter 150 converts the CCX gate 30 into an equivalent circuit 31 using a CCZ gate 31a.
  • the gate conversion unit 150 converts the CCZ gate 31a in the equivalent circuit 31 into an equivalent circuit 35 composed of one quantum bit and two quantum bits.
  • the equivalent circuit 35 includes seven CX gates. Therefore, the gate conversion unit 150 converts the equivalent circuit 41 or 42 into a convert each of the two CX gates.
  • the gate conversion unit 150 converts each CX gate into an equivalent circuit 41 using a CZ gate. In this case, the converted quantum circuit includes seven CZ gates. Furthermore, if t/T1 is less than the threshold value, the gate conversion unit 150 converts each CX gate into an equivalent circuit 42 using an iSWAP gate. In this case, the converted quantum circuit includes 14 iSWAP gates.
  • FIG. 15 is a flowchart illustrating an example of the procedure of quantum circuit conversion processing. The process shown in FIG. 15 will be described below in accordance with step numbers.
  • the quantum calculation control unit 120 acquires a quantum circuit. For example, the quantum calculation control unit 120 receives a request for quantum calculation by the quantum computer 300 and a quantum circuit from the terminal devices 401, 402, . . . .
  • the quantum bit allocation unit 140 Based on the connection topology information 112, the quantum bit allocation unit 140 generates a group of candidate quantum bits that can be consecutively arranged. Being able to arrange the qubits consecutively means satisfying the condition that the qubits connected to the qubit control device 200 can be allocated to vertically adjacent qubits in the quantum circuit.
  • the qubit allocation unit 140 refers to the qubit characteristic information 113 and calculates, for each of the generated candidate qubit groups, the average value of the fidelity of the qubits to which it belongs.
  • the qubit allocation unit 140 determines the candidate qubit group with the highest average fidelity as the qubit allocation destination of the quantum circuit.
  • the gate conversion unit 150 detects three qubits to be subjected to CCX gate or CCZ gate operation from the acquired quantum circuit.
  • Step S206 The gate conversion unit 150 determines whether the three corresponding qubits have been detected. If the gate conversion unit 150 determines that the three corresponding qubits have been detected, the process proceeds to step S207. Furthermore, when the gate conversion unit 150 determines that the three corresponding qubits have not been detected, the process proceeds to step S211.
  • the gate converter 150 acquires the minimum value of the T1 values of each of the three detected qubits from the qubit characteristic information 113.
  • the gate converter 150 determines whether the ratio value (t/T1) between the gate execution time t and the acquired T1 is less than a threshold value. If the value of the ratio is less than the threshold value, the gate conversion unit 150 advances the process to step S209. Further, if the value of the ratio is equal to or greater than the threshold value, the gate conversion unit 150 advances the process to step S210.
  • Step S209 The gate conversion unit 150 converts all of the CCX gates or CCZ gates executed on the detected three quantum bits into equivalent circuits using iSWAP gates. After that, the gate conversion unit 150 advances the process to step S205.
  • Step S210 The gate conversion unit 150 converts all of the CCX gates or CCZ gates executed on the detected three quantum bits into equivalent circuits using CZ gates. After that, the gate conversion unit 150 advances the process to step S205.
  • the quantum calculation control unit 120 controls the quantum bit control device 200 according to the converted quantum circuit.
  • the CCX gate or CCZ gate can be converted into an equivalent circuit that is less affected by noise.
  • the threshold value used to determine the equivalent circuit can be determined, for example, by evaluating the influence of noise on an equivalent circuit using iSWAP gates and an equivalent circuit using CZ gates.
  • TVD Total Variation Distance
  • p ideal (x) is the probability of appearance of a quantum bit value sequence (bit sequence x) in an ideal situation (no noise situation).
  • p(x) is the probability of appearance of the bit string x measured by actual measurement or simulation.
  • Equation (2) for each bit string x belonging to the set X of possible bit strings, the difference between the probability when there is noise and the probability when there is no noise is calculated. Then, 1/2 of the total of those differences becomes TVD. The smaller the value of TVD, the less the influence of noise.
  • FIG. 16 is a diagram showing an example of a change in TVD for each equivalent circuit depending on noise.
  • the value of TVD depending on the noise differs depending on the oracle being calculated.
  • Graphs 51 to 56 show TVDs corresponding to noise for all oracles, and changes in the average value of TVDs in response to increases in noise for each of a plurality of equivalent circuits of CCX gates.
  • the horizontal axes of graphs 51 to 56 indicate the magnitude of noise, and the vertical axes indicate TVD.
  • the noise is, for example, over-rotation noise.
  • Graphs 51 to 56 have different values of t/T1.
  • thin polygonal lines represent changes in the average value of TVD of the equivalent circuit using the iSWAP gate
  • thick polygonal lines represent changes in the average value of TVD of the equivalent circuit using the CZ gate.
  • the equivalent circuit using iSWAP gates always has a smaller value of TVD than the equivalent circuit using CZ gates.
  • the equivalent circuit using the CZ gate has a smaller value of TVD than the equivalent circuit using the iSWAP gate.
  • the noise becomes larger than "0.02”
  • the equivalent circuit using the iSWAP gate has a smaller value of TVD than the equivalent circuit using the CZ gate.
  • the equivalent circuit using the CZ gate has a smaller value of TVD than the equivalent circuit using the iSWAP gate.
  • the equivalent circuit using the iSWAP gate has a smaller value of TVD than the equivalent circuit using the CZ gate.
  • the equivalent circuit using the CZ gate always has a smaller value of TVD than the equivalent circuit using the iSWAP gate.
  • the equivalent circuit using the CZ gate always has a smaller value of TVD than the equivalent circuit using the iSWAP gate.
  • the equivalent circuit using the CZ gate always has a smaller value of TVD than the equivalent circuit using the iSWAP gate.
  • the gate conversion unit 150 converts the CCX or CCZ gate into an equivalent circuit using an iSWAP gate. Further, if “t/T1 ⁇ 10 -4 ", the gate conversion unit 150 converts the CCX or CCZ gate into an equivalent circuit using a CZ gate.
  • the quantum circuit to be calculated can be optimized to reduce the influence of noise and can be implemented in the quantum bit control device 200.
  • an implementation method for performing quantum computation using Grover's algorithm with three qubits will be described with reference to FIGS. 17 to 19.
  • FIG. 17 is a diagram illustrating an example of a three-qubit Grover's algorithm quantum circuit.
  • Quantum circuit 60 shows the order of operations on each of qubits q 0 , q 1 , and q 2 when executing Grover's algorithm with one iteration using three qubits.
  • H gate operation is performed on each of the quantum bits q 0 , q 1 , and q 2 as initialization processing. This creates a superposition state of all states.
  • oracle operations are performed on quantum bits q 0 , q 1 , and q 2 .
  • the CCZ gate operation on the three qubits is performed.
  • the X gate operation is performed again on each of the quantum bits q 0 , q 1 , and q 2 .
  • the amplification operation is performed.
  • an H gate operation and an X gate operation are performed on each of the quantum bits q 0 , q 1 , and q 2 .
  • a three-qubit CCZ gate operation is performed.
  • the X gate operation and the H gate operation are performed on each of the quantum bits q 0 , q 1 , and q 2 .
  • each of the quantum bits q 0 , q 1 , and q 2 is measured.
  • the quantum bits q 0 , q 1 , and q 2 are determined to be "0" or "1", respectively, by measurement.
  • the observation shown in the quantum circuit 60 outputs the result when the inversion amplification process of Grover's algorithm is performed once.
  • the quantum computer 300 has a device that performs gate operations on two or less quantum bits, and does not have a device that can perform gate operations on three or more quantum bits. Therefore, a gate for three qubits, such as a CCZ gate, is converted into an equivalent circuit combining gates for two qubits or one qubit.
  • the quantum circuit 60 includes two 3-qubit CCZ gates, and these CCZ gates are first converted into an equivalent circuit 35 (see FIG. 10).
  • FIG. 18 is a diagram showing an example of an equivalent circuit of a quantum circuit of Grover's algorithm.
  • a quantum circuit 61 consisting of a one-qubit gate and a two-qubit gate is generated.
  • Quantum circuit 61 includes 14 CX gates.
  • the SWAP gate operation is performed on the quantum bits q 1 and q 2 as shown in FIGS. 5 and 6. Therefore, by converting the CCZ gate into the equivalent circuit 35, the actual assignment of the quantum bits to x 0 , x 1 , and x 2 as quantum calculation targets in the quantum algorithm changes. However, in the quantum circuit 61, the conversion of the CCZ gate into the equivalent circuit 35 is performed twice, so the actual input to each of the qubits x 0 , x 1 , x 2 targeted for quantum calculation on the quantum algorithm is Qubit allocation returns to the original allocation during measurement.
  • the quantum circuit 61 includes 14 CX gates.
  • the 14 CX gates are all converted into an equivalent circuit using iSWAP gates, or all are converted into an equivalent circuit using CZ gates.
  • the threshold value of t/T1 for determining which equivalent circuit to convert to is determined based on the change in TVD according to noise in Grover's algorithm.
  • FIG. 19 is a diagram showing an example of a change in TVD for each equivalent circuit according to noise in Grover's algorithm.
  • Graphs 71 to 76 show TVDs corresponding to noise for all oracles, and changes in the average value of TVDs in response to increases in noise for each of a plurality of equivalent circuits of CCX gates.
  • the horizontal axes of graphs 71 to 76 indicate the magnitude of noise, and the vertical axes indicate TVD.
  • the thin line shows the change in the average value of TVD of the equivalent circuit using the iSWAP gate
  • the thick line shows the change in the average value of TVD of the equivalent circuit using the CZ gate.
  • the noise is "0.01" or less, the equivalent circuit using the CZ gate has a smaller TVD value than the equivalent circuit using the iSWAP gate.
  • the noise is "0.02" or more, the equivalent circuit using the iSWAP gate has a smaller TVD value than the equivalent circuit using the CZ gate.
  • the equivalent circuit using the CZ gate always has a smaller value of TVD than the equivalent circuit using the iSWAP gate.
  • the threshold value of "t/T1" when determining the equivalent circuit is set to "10 -4 ". That is, if “t/T1 ⁇ 10-4 ", the gate conversion unit 150 converts the CCX or CCZ gate into an equivalent circuit using an iSWAP gate. Further, if “t/T1 ⁇ 10 -4 ", the gate conversion unit 150 converts the CCX or CCZ gate into an equivalent circuit using a CZ gate.
  • control computer 100 converts a CCX gate or a CCZ gate into an equivalent circuit using an iSWAP gate or an equivalent circuit using a CZ gate, which is less affected by noise, and converts the CCX gate or CCZ gate into a quantum bit.
  • a quantum circuit is implemented in the control device 200. Thereby, the influence of noise can be reduced and the accuracy of quantum calculation can be improved.
  • the fidelity and T1 of each qubit are measured periodically.
  • the fidelity or T1 of the quantum bit is not constant, but changes depending on the environment in which the quantum computer 300 is placed and the passage of time. Therefore, by periodically measuring the fidelity or T1, the accuracy of the fidelity or T1 at the time of quantum calculation execution is improved.
  • the control computer 100 is not limited to CCX gates and CCZ gates, but any quantum gate that can be converted into an equivalent circuit using a CX gate can be converted into an appropriate equivalent circuit based on relaxation time. . Furthermore, the control computer 100 converts the CX gates included in the quantum circuits acquired from the terminal devices 401, 402, . . . into an equivalent circuit using an iSWAP gate or an equivalent circuit using a CZ gate based on the relaxation time. It can also be converted to .

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Logic Circuits (AREA)

Abstract

量子計算の精度を向上させる。 量子回路設計装置(10)は、量子デバイスに含まれる複数の量子ビット(8a,8b,・・・)へのゲート操作を示す量子回路(1)から、量子デバイスでゲート操作を実行できない第1の量子ゲートを検出する。次に量子回路設計装置(10)は、検出した第1の量子ゲートによる操作対象の量子ビットの緩和時間に基づいて、量子デバイスでゲート操作を実行可能な第2の量子ゲートにより第1の量子ゲートと同じゲート操作を実現する複数の等価回路の中から、実装する等価回路を決定する。そして量子回路設計装置(10)は、量子回路(1)内の第1の量子ゲートを、決定した等価回路(7a,7b)に変換する。

Description

量子回路設計プログラム、量子回路設計方法および量子回路設計装置
 本発明は、量子回路設計プログラム、量子回路設計方法および量子回路設計装置に関する。
 現在、利用可能な量子コンピュータは、超電導方式やイオントラップ方式の量子ビットを用いたNISQ(Noisy Intermediate-Scale Quantum Computer)と呼ばれるタイプである。これらの量子デバイスでは、エラー率が1%程度、かつ量子ビット数が10-1000程度である。このような小規模な量子コンピュータは完全にエラーを訂正することができない。そのため、量子コンピュータ上で量子計算を実行するときに、できる限りエラーを低減させるための量子回路によって量子計算を行うのが重要となる。
 また、量子コンピュータには、量子ビットを操作するための量子ゲートとして、1量子ビットゲートと2量子ビットゲートが実装されている。これらの量子ゲートはネイティブゲートと呼ばれる。2量子ビットゲートのうちどのような量子ゲートがネイティブゲートとしてサポートされるのかは、量子コンピュータで採用されている量子デバイスの方式に依存する。
 他方、求解対象の問題に対応して作成された量子回路には、ネイティブゲート以外の量子ゲートが含まれる場合がある。そこでネイティブゲート以外の量子ゲートは、ネイティブゲートを組み合わせた等価回路に変換された後に、量子ビットのゲート操作を行う量子ビット制御装置に実装される。例えばCCX(Toffoli)ゲートなどの3量子ビットゲートは、複数の2量子ビットゲートを使って実装される。3個以上の制御ビットを持つCnXゲートやCnZゲート(nは3以上の整数)は、複数のCCXゲートに変換後、さらにネイティブゲートに変換される。
 量子コンピュータに実行させる処理の改善に関する技術としては、例えば量子アルゴリズムのコンパイルにおける定数折りたたみ方法が提案されている。また、特定のアプリケーションまたはアルゴリズムのためのアプリケーションまたはアルゴリズムに固有の量子コンピューティング回路を設計するための手法が提案されている。さらに量子アルゴリズムは、短時間だけ論理的な量子ビットを使用する場合において、使用時間が重複しなければ、アクティブリセット操作により、1つの物理的な量子ビットを再利用する技術が提案されている。
米国特許出願公開第2020/0285985号明細書 特表2021-536629号公報 米国特許第11112842号明細書 特開2018-5904号公報
 量子コンピュータの量子デバイスでサポートしていない量子ゲートをネイティブゲートで構成された等価回路に変換するとき、変換先とすることができる等価回路が複数存在する場合がある。この場合、複数の等価回路のうち量子計算のエラー率がより小さい等価回路に変換することが望まれる。
 等価回路のエラー率は、その等価回路に使用する量子ビットの特性に依存する。しかし、従来は量子ビットの特性を考慮した等価回路への変換が行われていない。そのため、変換対象の量子ゲートが、その量子ゲートに予め対応付けられた等価回路へ機械的に変換されており、量子計算のエラー率が大きくなる可能性がある。量子計算のエラー率が大きくなると、計算精度の低下を招いてしまう。
 1つの側面では、本件は、量子計算の精度を向上させることを目的とする。
 1つの案では、以下の処理をコンピュータに実行させる量子回路設計プログラムが提供される。
 コンピュータは、量子デバイスに含まれる複数の量子ビットへのゲート操作を示す量子回路から、量子デバイスでゲート操作を実行できない第1の量子ゲートを検出する。コンピュータは、検出した第1の量子ゲートによる操作対象の量子ビットの緩和時間に基づいて、量子デバイスでゲート操作を実行可能な第2の量子ゲートにより第1の量子ゲートと同じゲート操作を実現する複数の等価回路の中から、実装する等価回路を決定する。そしてコンピュータは、量子回路内の第1の量子ゲートを、決定した等価回路に変換する。
 1態様によれば、量子計算の精度を向上させることができる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態に係る量子回路設計方法の一例を示す図である。 第2の実施の形態のシステム構成の一例を示す図である。 制御コンピュータのハードウェアの一構成例を示す図である。 CCXゲートの等価回路の一例を示す図である。 CCZゲートの等価回路の一例を示す図である。 最適化されたCCZゲートの等価回路の一例を示す図である。 CCZゲートの実装可能な等価回路の一例を示す図である。 iSWAPゲートを用いたCXゲートの等価回路の一例を示す図である。 制御コンピュータの機能の一例を示すブロック図である。 変換情報の一例を示す図である。 接続トポロジー情報の一例を示す図である。 量子ビット特性情報の一例を示す図である。 量子ビット特性情報更新処理の手順の一例を示すフローチャートである。 CCXゲートの変換処理の一例を示す図である。 量子回路変換処理の手順の一例を示すフローチャートである。 ノイズに応じた等価回路ごとのTVDの変化の一例を示す図である。 3量子ビットのグローバーのアルゴリズムの量子回路の一例を示す図である。 グローバーのアルゴリズムの量子回路の等価回路の一例を示す図である。 グローバーのアルゴリズムにおけるノイズに応じた等価回路ごとのTVDの変化の一例を示す図である。
 以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
 〔第1の実施の形態〕
 第1の実施の形態は、量子コンピュータの量子デバイスでサポートしていない量子ゲートをネイティブゲートに変換する際に、使用する量子ビットの特性を考慮して、エラー率を低減できる等価回路に変換する量子回路設計方法である。
 図1は、第1の実施の形態に係る量子回路設計方法の一例を示す図である。図1には、量子回路設計装置10と量子ビット制御装置8とを有する量子コンピュータが示されている。量子回路設計装置10は、量子回路設計プログラムを実行することにより、第1の実施の形態に係る量子回路設計方法を実施することができる。
 量子回路設計装置10には、量子ビット制御装置8が接続されている。量子ビット制御装置8は、複数の量子ビット8a,8b,・・・を有し、量子ビット8a,8b,・・・を用いた量子計算を実行する。量子回路設計装置10は、量子ビット制御装置8が有する量子ビット8a,8b,・・・の特性に応じた適切な量子回路7を設計することができる。
 量子回路設計装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば量子回路設計装置10が有するメモリまたはストレージ装置である。処理部12は、例えば量子回路設計装置10が有するプロセッサまたは演算回路である。
 記憶部11は、量子回路1と量子ビット特性情報2とを記憶する。量子回路1は、求解対象の問題の回を量子計算で求めるための量子ビットの操作手順を示す情報である。量子回路1には、量子ビットに対するゲート操作が、量子ゲートで示されている。量子回路1に用いられている量子ゲートは、量子コンピュータの量子デバイスでハードウェア的にサポートしている量子ゲートには限定されていない。そのため量子回路1には、3量子ビット以上の量子ビットを操作する量子ゲートも含まれる。例えば量子回路1には、CCXゲート1a(Toffoliゲートとも呼ばれる)またはCCZゲート1bが含まれる。
 量子ビット特性情報2は、量子ビット制御装置8が有する量子ビット8a,8b,・・・それぞれの特性に関する情報を記憶する。例えば量子ビット特性情報2には、量子ビット8a,8b,・・・それぞれについての、量子状態の情報を保持できる期間を示す緩和時間が含まれる。また量子ビット特性情報2には、量子ビット8a,8b,・・・それぞれについての、忠実度を含めることもできる。忠実度は、量子ビットの状態が理想の量子状態にどれだけ近いかを示す指標である。
 処理部12は、記憶部11に格納された量子回路1を、量子ビット制御装置8に実装可能な量子回路7に変換する。例えば処理部12は、量子回路1内の3量子ビット以上の量子ビットを操作する量子ゲートを、1量子ビットゲートまたは2量子ビットゲートを組み合わせた等価回路に変換する。また量子ビット制御装置8の量子デバイスがCZゲートのゲート操作はできるもののCXゲート(CNOTゲート)のゲート操作はできない場合、処理部12は、CXゲートを、CZゲートを用いた等価回路に変換する。具体的には、処理部12は、以下の処理を行う。
 処理部12は、量子コンピュータにおける量子ビット制御装置8に含まれる複数の量子ビット8a,8b,・・・へのゲート操作を示す量子回路1から、量子コンピュータの量子デバイスでゲート操作を実行できない第1の量子ゲートを検出する。第1の量子ゲートは、例えばCCXゲート1aまたはCCZゲート1bである。
 次に処理部12は、第1の量子ゲートによる操作対象の量子ビットの緩和時間に基づいて、第1の量子ゲートと同じゲート操作を実現する複数の等価回路の中から、実装する等価回路を決定する。複数の等価回路は、量子コンピュータの量子デバイスでゲート操作を実行可能な第2の量子ゲートを用いた量子回路である。例えば処理部12は、量子コンピュータにおける2量子ビットゲートのゲート操作時間と、操作対象の量子ビットの緩和時間との比に基づいて、実装する等価回路を決定する。この場合、処理部12は、操作対象の複数の量子ビットそれぞれの緩和時間のうちの最小値を取得する。そして処理部12は、ゲート操作時間と緩和時間の最小値との比の値(ゲート操作時間/緩和時間)と所定のしきい値とを比較する。処理部12は、「ゲート操作時間/緩和時間」がしきい値未満であれば、iSWAPゲートを用いた等価回路に変換することを決定する。また処理部12は、「ゲート操作時間/緩和時間」がしきい値以上であれば、CZゲートを用いた等価回路に変換することを決定する。
 実装する等価回路が決定すると、処理部12は、量子回路1内の第1の量子ゲートを、決定した等価回路に変換する。例えば検出した第1の量子ゲートがCCXゲート1aの場合、処理部12は、まずCCXゲート1aを、CCXゲート1aと同様のゲート操作を行う等価回路3に変換する。等価回路3にはCCZゲート3aが含まれる。
 次に処理部12は、等価回路3に含まれるCCZゲート3aを、CCZゲート3aと同様のゲート操作を行う等価回路4に変換する。等価回路4にはCXゲート4aが含まれる。また処理部12は、検出した第1の量子ゲートがCCZゲート1bの場合、そのCCZゲート1bを等価回路4に変換する。
 さらに処理部12は、等価回路4内のCXゲート4aを、CXゲート4aと同様のゲート操作を行う2つの等価回路5,6のいずれかに変換する。等価回路5には、iSWAPゲート5a,5bが含まれる。等価回路6には、CZゲート6aが含まれる。例えば処理部12は、iSWAPゲートを用いた等価回路に変換することが決定されている場合には、等価回路4内のCXゲート4aを等価回路5に変換する。処理部12は、CZゲートを用いた等価回路に変換することが決定されている場合には、等価回路4内のCXゲート4aを等価回路6に変換する。
 そして処理部12は、量子回路1の第1の量子ゲートを等価回路に変換することで生成された量子回路7に従った量子計算を、量子ビット制御装置8に指示する。量子回路7には、例えば量子回路1のCCXゲート1aとCCZゲート1bに代えて、等価回路7a,7bが含まれている。量子回路7は、量子ビット制御装置8が量子デバイスによってネイティブでサポートしている量子ゲートのみで構成されている。量子ビット制御装置8は、量子回路7に示された量子ゲートによるゲート操作を量子ビット8a,8b,・・・に対して実行し、量子回路7に応じたゲート操作を実行後の量子ビット8a,8b,・・・の状態を測定する。
 このようにして、処理部12は、量子ビット8a,8b,・・・の緩和時間に基づいて、エラー率が少なくなる等価回路7a,7bへ、CCXゲート1aまたはCCZゲート1bを変換することができる。その結果、量子ビット制御装置8による量子計算のエラー率が低減し、高精度の計算が可能となる。
 また処理部12は、2量子ビットゲートのゲート操作時間と、操作対象の量子ビットの緩和時間との比に基づいて、実装する等価回路を決定している。これにより、緩和時間に応じたノイズの影響を正しく評価することができ、変換先の等価回路の決定を適切に行うことができる。
 また処理部12は、変換対象の第1の量子ゲートで操作する複数の量子ゲートそれぞれの緩和時間のうちの最小値を用いて、ゲート操作時間と緩和時間との比の値を計算し、しきい値と比較する。このように、量子ゲートそれぞれの緩和時間の最小値を用いて、変換先の等価回路が決定される。これにより、品質の悪い量子ゲートの特性に合わせて、変換先の等価回路が決定される。量子ビットに対するゲート操作のエラーは、ゲート操作ごとに蓄積していくため、エラー率の高い量子ゲートがあれば、その量子ゲートを操作する量子回路のエラー率も高くなる。従って、品質の悪い量子ゲートの特性に合わせて変換先の等価回路を決定することで、複数の等価回路それぞれの品質を正しく評価した上で、変換先の等価回路を決定することができる。
 なお、量子ビット8a,8b,・・・の緩和時間は様々な影響で変化する。そこで処理部12は、量子ビット8a,8b,・・・それぞれの緩和時間を、定期的(例えば毎日)に測定して、量子ビット特性情報2を更新してもよい。これにより、量子回路1を変換する際には、量子ビット8a,8b,・・・それぞれの最新の緩和時間を用いて、変換先の等価回路を決定することができる。
 また量子回路7における操作対象とする量子ビットとして、品質の良い量子ビットを用いることで、量子計算の精度を向上させることもできる。そこで処理部12は、量子コンピュータに含まれる複数の量子ビット8a,8b,・・・の忠実度に基づいて、量子回路で操作する量子ビットを決定する。例えば処理部12は、量子回路7で使用する量子ビット数分の連続する量子ビット群のうち、平均の忠実度が最も高い量子ビット群を、量子回路7で操作する量子ビット群に決定する。ここで連続する量子ビット群とは、それらの量子ビットを1列に並べたときに隣り合う量子ビット同士が接続関係にある複数の量子ビットである。忠実度が高い量子ビットを使用することで、精度の高い量子計算が可能となる。
 〔第2の実施の形態〕
 次に第2の実施の形態について説明する。第2の実施の形態は、量子ビットの忠実度を考慮して、量子回路に最適な量子ビットを割り当て、その量子ビットの緩和時間に応じて最適化された量子回路で量子計算を実行するシステムである。
 図2は、第2の実施の形態のシステム構成の一例を示す図である。量子コンピュータ300は、ゲート方式の量子コンピュータである。量子コンピュータ300は、制御コンピュータ100と量子ビット制御装置200とを有する。制御コンピュータ100には、ネットワーク20を介して端末装置401,402,・・・が接続されている。端末装置401,402,・・・は、量子コンピュータ300による量子計算を依頼するユーザが使用するコンピュータである。制御コンピュータ100は、端末装置401,402,・・・から量子回路を受け付ける。量子回路は、ゲートなどの要素の配置によって量子ビットへの操作の順序を示すものである。量子ビットは、「0」の状態と「1」の状態との重ね合わせの状態を表現することが可能なビットである。
 制御コンピュータ100は、端末装置401,402,・・・から受け付けた量子回路に従って、量子ビット制御装置200に量子ビットを制御するための指示をする。また、制御コンピュータ100は、量子ビット制御装置200から各量子ビットの測定結果を取得する。
 量子ビット制御装置200は、複数の量子ビットと複数の量子ビットそれぞれを操作するための装置を有する。量子ビット制御装置200が有する複数の量子ビットは、例えば超電導方式であってもよいし、イオントラップ方式であってもよい。また複数の量子ビットは、ダイヤモンドスピン方式であってもよい。量子ビットが超伝導方式の場合、量子ビット制御装置200は、量子ビットを冷却するための冷凍機を有していてもよい。
 量子ビット制御装置200は、例えば制御コンピュータ100からの指示に応じて、量子ビットにマイクロ波を照射する。また、複数の量子ビットそれぞれを操作するための装置は、複数の量子ビットそれぞれの状態を測定し、制御コンピュータ100に送信する。
 図3は、制御コンピュータのハードウェアの一構成例を示す図である。制御コンピュータ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101は、プログラムの命令を実行するプロセッサである。なお、CPU101は複数のプロセッサコアを含んでもよい。また、CPU101は、複数のプロセッサであってもよく、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)等であってもよい。また、CPU101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現してもよい。CPU101には、バス100aを介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。
 RAM102は、制御コンピュータ100の主記憶装置である。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に利用する各種データが格納される。なお、制御コンピュータ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
 バス100aに接続されている周辺機器としては、HDD(Hard Disk Drive)103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107,108およびネットワークインタフェース109がある。
 HDD103は、制御コンピュータ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、制御コンピュータ100は、フラッシュメモリやSSD(Solid State Drive)等の他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
 GPU104には、モニタ21が接続されている。GPU104は、CPU101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置等がある。
 入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をCPU101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
 光学ドライブ装置106は、レーザ光等を利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等がある。
 機器接続インタフェース107は、制御コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
 機器接続インタフェース108は、制御コンピュータ100に量子ビット制御装置200を接続するための通信インタフェースである。制御コンピュータ100は、機器接続インタフェース108を介して、量子ビットを制御するための指示を量子ビット制御装置200に送信する。
 ネットワークインタフェース109は、ネットワーク20に接続されている。ネットワークインタフェース109は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
 制御コンピュータ100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した量子回路設計装置10も、図3に示した制御コンピュータ100と同様のハードウェアにより実現することができる。また、CPU101は、第1の実施の形態に示した処理部12の一例である。
 制御コンピュータ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。制御コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、制御コンピュータ100に実行させるプログラムをHDD103に格納しておくことができる。CPU101は、HDD103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。また、制御コンピュータ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、CPU101からの制御により、HDD103にインストールされた後、実行可能となる。また、CPU101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
 上記のようなシステムにおいて、制御コンピュータ100は、端末装置401,402,・・・から量子計算のための量子ビットのゲート操作の手順が記述された量子回路を取得する。端末装置401,402,・・・から取得する量子回路は、3量子ビットゲート以上のゲート操作を含んでいる。他方、量子ビット制御装置200でのゲート操作は、1量子ビットゲートまたは2量子ビットゲートのゲート操作に限られる。そこで制御コンピュータ100は、取得した量子回路に含まれる3量子ビットゲート以上の量子ゲートを、1量子ビットゲートまたは2量子ビットゲートを用いた等価回路に変換する。
 一例として、図4~図7を参照し、CCX(Toffoli)ゲートの等価回路への変換方法について説明する。以下の説明に用いる量子回路は、ゲート操作を行う量子ビットそれぞれに対応する横線を有する。横線には、対応する量子ビットに対して行うゲート操作を示す量子ゲートが配置される。量子回路では、先に行われる操作を示す量子ゲートほど左に配置される。
 図4は、CCXゲートの等価回路の一例を示す図である。CCXゲート30は、2つのコントロールビット(q0,q1)が「1」である場合に、1つのターゲットビット(q2)に対してXゲートを作用させる(ビットを反転させる)ことを示す。量子回路において、CCXゲート30のターゲットビットとなる量子ビットに対応する線上には円と+とを組み合わせた記号が配置され、2つのコントロールビットとなる量子ビットそれぞれに対応する線上には当該記号と線で結ばれた点が配置される。このようなCCXゲート30は、Hゲート(アダマールゲート)とCCZゲート31aとを組み合わせた等価回路31に変換することができる。
 等価回路31は、CCXゲート30と等価のゲート操作を行う量子回路である。等価回路31では、ターゲットビットの量子ビットにおいて、CCZゲート31aを挟んで、2つのHゲート(図4では「H」と記載された矩形)が配置されている。CCZゲート31aは、2つのコントロールビット(q0,q1)が「1」である場合に、1つのターゲットビット(q2)に対してZゲートを作用させる(位相を反転させる)ことを示す。
 等価回路31に含まれるCCZゲート31aは、1量子ビットゲートと2量子ビットゲートとを組み合わせた等価回路に変換することができる。
 図5は、CCZゲートの等価回路の一例を示す図である。等価回路33は、量子ビットq0,q1,q2に対するCCZゲート32に等価で、1量子ビットゲートと2量子ビットゲートとを組み合わせた量子回路である。等価回路33の、量子ビットq0,q1,q2それぞれに対応する横線上に配置されたTと記載されたブロックは、Tゲートを示す。Tゲートは、位相を所定値だけシフトさせる操作を示す。また、等価回路33の、量子ビットq0,q1,q2それぞれに対応する横線上に配置されたTと記載されたブロックは、Tゲートを示す。Tゲートは、位相をTゲートと反対方向に所定値だけシフトさせる操作を示す。
 等価回路33の、量子ビットq0,q1,q2それぞれに対応する横線上に配置された円と+とを組み合わせた記号と、当該記号と線で結ばれ、量子ビットq0,q1,q2それぞれに対応する線上に配置された点とは、CXゲートを示す。なお、円と+とを組み合わせた記号は、CXゲートのターゲットビットとなる量子ビットに対応する線上に配置され、点は、CXゲートのコントロールビットとなる量子ビットに対応する線上に配置される。CXゲートは、コントロールビットが「1」である場合に、ターゲットビットのビットを反転させることを示す。
 このように、CCZゲート32は、1量子ビットゲートと2量子ビットゲートとを組み合わせた等価回路33に変換可能である。ただし、等価回路33には、量子ビットq0と量子ビットq2とに対するCXゲート33a,33bが含まれている。量子コンピュータでは、接続された2量子ビット間でしか2量子ビットゲートの操作を実行することができない。量子回路で示される量子ビットに量子コンピュータ300における実際の量子ビットを割り当てるとき、量子回路上で隣接する量子ビットに対して、実際の量子ビットのうちの接続された量子ビットが割り当てられる。しかし、量子回路上で隣接しない量子ビットに対しては、実際の量子ビットのうちの接続されていない量子ビットが割り当てられる可能性がある。その場合、等価回路33が、SWAPゲート34aを用いた等価回路34に変換される。
 等価回路34では、等価回路33におけるCXゲート33a,33bの手前の位置に、SWAPゲート34aが挿入されている。SWAPゲート34aは、2つの量子ビットの状態を交換するゲート操作を示す。SWAPゲート34aが挿入されたことで、CXゲート33a,33bは、量子ビットq0と量子ビットq1とに対するCXゲート34b,34cに置き換えられている。また等価回路33における量子ビットq2の最後のTゲート33cは、等価回路34では量子ビットq1の最後のTゲート34dに置き換えられている。
 なお等価回路34では、量子アルゴリズムにおいて量子計算の対象とする量子ビットに対する、量子ビット制御装置200内の実際の量子ビットの割り当てが、等価回路34の実行前と実行後とで異なる。そのため等価回路33と等価回路34は、実行後の各量子ビットq0,q1,q2で測定される量子状態に違いがある。
 例えば、量子アルゴリズム上で量子計算の対象とする量子ビットをx0,x1,x2とする。等価回路33を実行するとき、量子ビットx0に、量子ビット制御装置200内の実際の量子ビットq0を割り当てたものとする。また量子ビットx1に、量子ビット制御装置200内の実際の量子ビットq1を割り当てたものとする。量子ビットx2に、量子ビット制御装置200内の実際の量子ビットq2を割り当てたものとする。等価回路33が実行可能であった場合、量子ビットq0を測定することで量子ビットx0の量子状態が得られ、量子ビットq1を測定することで量子ビットx1の量子状態が得られ、量子ビットq2を測定することで量子ビットx2の量子状態が得られる。
 なお量子コンピュータ300において量子ビットq0と量子ビットq1とが接続されていなければ、等価回路33を実行することができない。その場合、等価回路34が実行される。等価回路34では、SWAPゲート34aが含まれるため、SWAPゲート34aで状態が交換される量子ビットx1,x2については、割り当てられる実際の量子ビットが変更される。
 例えば量子アルゴリズム上での量子ビットx1は、等価回路34の実行開始時点では量子ビットq1が割り当てられているが、等価回路34の実行終了時点では量子ビットq2が割り当てられている。また量子アルゴリズム上での量子ビットx2は、等価回路34の実行開始時点では量子ビットq2が割り当てられているが、等価回路34の実行終了時点では量子ビットq1が割り当てられている。この場合、等価回路34を実行後は、量子ビットq0を測定することで量子ビットx0の量子状態が得られ、量子ビットq1を測定することで量子ビットx2の量子状態が得られ、量子ビットq2を測定することで量子ビットx1の量子状態が得られる。
 等価回路34を含む量子回路を量子ビット制御装置200に実行させる場合、等価回路34におけるSWAPゲート34aはCXゲートの組合せに変換される。また等価回路34の最適化が行われる。
 図6は、最適化されたCCZゲートの等価回路の一例を示す図である。図6の例では、等価回路34に対して、3つの変換パターンに示す回路の変換が行われ、等価回路35となっている。
 1つ目の変換パターン(変換パターン1)は、SWAPゲートから3つのCXゲートへの変換を示している。2つ目の変換パターン(変換パターン2)は、コントロールビットとターゲットビットとが共通の連続する2つのCXゲートは、ゲート操作をしない場合と同じであり、それらのCXゲートは削除できることを示している。3つ目の変換パターン(変換パターン3)は、CXゲートのコントロールビットの前または後ろにTゲートがあるとき、CXゲートのコントロールビットの位置とTゲートの位置とを入れ替えてもよいことを示している。
 例えば等価回路34のSWAPゲート34aは、「変換パターン1」における、量子ビットq10を等価回路34の量子ビットq2とし、量子ビットq11を等価回路34の量子ビットq1として、「変換パターン1」に従って3つのCXゲートに変換される。この場合、変換後の3つのCXゲートのうちの1つ目のCXゲートでは、量子ビットq2がコントロールビット、量子ビットq1がターゲットビットとなる。
 すると等価回路34において、SWAPゲート34aから変換した3つのCXゲートのうちの1つ目と、SWAPゲート34aの直前のCXゲート34fとは、コントロールビットとターゲットビットとが共通となる。その場合、「変換パターン2」を適用することができる。その結果、SWAPゲート34aから変換した3つのCXゲートのうちの1つ目と、SWAPゲート34aの直前のCXゲート34fとは削除される。変換後の等価回路35に残されるのは、SWAPゲート34aから変換した3つのCXゲートのうちの、2つ目と3つ目の2つのCXゲート35aである。
 また等価回路34における量子ビットq1には、最後のTゲート34dの前にCXゲート34eのコントロールビットが配置されている。この場合、「変換パターン3」を適用して、Tゲート34dをCXゲート34eの前に移動することができる。その結果、変換後の等価回路35では、量子ビットq1に対する最後のCXゲート35cの前に、Tゲート34dに対応するTゲート35bが配置されている。
 ここで1量子ビットゲートのゲート操作時間に比べ、2量子ビットのゲート操作時間は10倍以上となる。そのため、変換後の等価回路35に対するゲート操作時間の指標として2量子ビットゲートの数を用いることができる。等価回路35に含まれる2量子ビットゲートは、7個のCXゲートである。
 図4に示したCCXゲート30の等価回路31におけるCCZゲート31aを、図6に示した等価回路35に置き換えることで、CCXゲートの等価回路が得られる。なお量子コンピュータ300は、多くの場合、CZゲートをサポートしているものの、CXゲートはサポートしていない。例えば超伝導回路方式であれば、CZゲート、iSWAPゲートなどのゲートをネイティブゲートとしてサポートしているが、CXゲートがサポートされているとは限らない。CXゲートがサポートされていない場合、等価回路35に含まれるCXゲートを、CZゲートを用いた等価回路に置き換えることで、量子ビット制御装置200でゲート操作可能な量子回路となる。
 図7は、CCZゲートの実装可能な等価回路の一例を示す図である。CXゲートは、「変換パターン4」に示すように、CZゲートを用いた等価回路41に変換できる。等価回路41では、CXゲートがCZゲートに置き換えられ、CXゲートのターゲットビットの量子ビットにおいて、CZゲートを挟んで、2つのHゲートが配置されている。等価回路35に含まれる7つのCXゲートを等価回路41に変換することで、等価回路36が得られる。
 また量子コンピュータ300のネイティブゲートとしては、CZゲート以外にiSWAPゲートがある。そしてCXゲートは、iSWAPゲートを用いた等価回路に置き換えることも可能である。
 図8は、iSWAPゲートを用いたCXゲートの等価回路の一例を示す図である。CXゲートの等価回路42は、2個のiSWAPゲート42a,42bと5個の回転ゲート42c~42gとで構成されている。等価回路42では、まずCXゲートのコントロールビット側に、Z軸周りに「-π/2」回転させる回転ゲート42cが配置されている。またCXゲートのターゲットビット側に、X軸周りに「π/2」回転させる回転ゲート42dとZ軸周りに「π/2」回転させる回転ゲート42eとが配置されている。これらの回転ゲート42c~42eの次に、1つ目のiSWAPゲート42aが配置されている。
 1つ目のiSWAPゲート42aの次に、CXゲートのコントロールビット側に、X軸周りに「π/2」回転させる回転ゲート42fが配置されている。この回転ゲート42fの次に、2つ目のiSWAPゲート42bが配置されている。そして2つ目のiSWAPゲート42bの次に、CXゲートのターゲットビット側に、Z軸周りに「π/2」回転させる回転ゲート42gが配置されている。
 ここで量子コンピュータ300は、NISQである。NISQは量子ビット数が少なくエラー訂正ができない。エラーはノイズの影響で発生し、量子回路に含まれるゲート数が多いほど、発生したエラーが蓄積する。そのため量子回路に含まれる量子ゲートをネイティブゲートに変換する際に、ノイズを考慮した実装が求められる。例えばCCXゲートを実装する場合において、CXゲートを用いた等価回路に実装するのか、iSWAPゲートを用いて実装するのかを適切に判断することが求められる。
 量子ビットについてのノイズの影響の受けやすさは、忠実度で表される。忠実度が高いほど、量子ビットがノイズの影響を受けにくいことを示す。量子ゲートの忠実度は、量子ビットに対する量子ゲート操作が理想的な操作に近いかを示す指標である。また量子ビットには、情報を失うことなく保持していられる時間に限りがある。このような時間は緩和時間と呼ばれる。量子回路における操作時間が緩和時間を超えると量子ビットの情報が失われ、エラーが発生する。なお緩和時間には、励起状態を保つ平均時間(エネルギー緩和時間)と重ね合わせを保てる平均時間(位相緩和時間)とがある。以下、エネルギー緩和時間を「T1」、位相緩和時間を「T2」とする。
 このようにエラーの発生しやすさを示す指標には、量子ビットの忠実度、量子ビットの緩和時間、および量子ゲートの忠実度などがある。エラーの発生しやすさの各指標の値は、量子デバイス作製時のばらつきなどにより量子ビットごとに異なる。そのため制御コンピュータ100は、取得した量子回路を実装可能な量子回路に変換する際に、どの量子ビットにどのネイティブゲートで実装するかを適切に判断することが重要である。
 ここで、制御コンピュータ100においてシミュレーションを実行し、最もエラーが低くなる等価回路を求めようとすると、すべての組み合わせを検証することとなり、計算時間が膨大となる。そこで制御コンピュータ100は、エラーの発生しやすさの指標に基づいて、実装する量子回路を決定する。
 例えば制御コンピュータ100は、すべての量子ビットの忠実度とT1を測定する。制御コンピュータ100は、量子アルゴリズムを実行するために使用する量子ビット数が連続に配置可能で、忠実度の高い量子ビットを、実行する量子回路に割り当てる。そして制御コンピュータ100は、割り当てられた量子ビットでCCXゲートまたはCCZゲート操作を行う3量子ビット中のT1の値が最も短い量子ビットに基づいたしきい値に基づいて、実装する量子回路に使用するネイティブの2量子ゲートを決定する。
 次に、制御コンピュータ100の機能について詳細に説明する。
 図9は、制御コンピュータの機能の一例を示すブロック図である。制御コンピュータ100は、記憶部110、量子計算制御部120、量子ビット特性測定部130、量子ビット割り当て部140およびゲート変換部150を有する。
 記憶部110は、変換情報111、接続トポロジー情報112、および量子ビット特性情報113を記憶する。変換情報111には、変換する量子ゲートと等価回路とが対応付けて登録されている。接続トポロジー情報112には、量子ビット制御装置200内の量子ビット間の接続関係を示す接続トポロジー情報が登録されている。量子ビット特性情報113には、量子ビット制御装置200内の量子ビットそれぞれの忠実度とT1とが登録されている。
 量子計算制御部120は、量子計算を制御する。まず、量子計算制御部120は、量子回路を取得する。例えば量子計算制御部120は、端末装置401,402,・・・から、量子コンピュータ300による量子計算の依頼と量子回路とを受け付ける。そして量子計算制御部120は、ゲート変換部150によって変換された量子回路に従って量子ビット制御装置200を制御する。
 量子ビット特性測定部130は、所定間隔で、量子ビット制御装置200内の量子ビットそれぞれの忠実度とT1を測定する。例えば量子ビット特性測定部130は、1日に1回程度、量子ビット制御装置200を制御して、忠実度とT1を測定する。量子ビット特性測定部130は、測定するごとに、量子ビット特性情報113を更新する。
 量子ビット割り当て部140は、量子計算制御部120が取得した量子回路で使用する量子ビットへの、量子ビット制御装置200内の量子ビットの割り当てを行う。例えば量子ビット割り当て部140は、接続トポロジー情報112を参照し、量子回路において上下に隣接する量子ビットが接続されているという条件に従って、量子ビットの割り当てを行う。量子ビット割り当て部140は、条件を満たす量子ビットの割り当てパターンが複数ある場合、含まれる量子ビットの平均忠実度が高い割り当てパターンを採用する。
 ゲート変換部150は、変換情報111を参照し、端末装置401,402,・・・から取得した量子回路を、量子ビット制御装置200に実装可能な量子回路に変換する。なおゲート変換部150は、CXゲートを変換する際には、量子回路に割り当てられた各量子ビットのT1の値のうちの最小値に基づいて、変換先の等価回路を決定する。
 なお、図9に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図9に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
 次に、記憶部110に格納される変換情報111、接続トポロジー情報112、および量子ビット特性情報113について詳細に説明する。
 図10は、変換情報の一例を示す図である。変換情報111には、検出ゲートおよび等価回路の欄が設けられている。検出ゲートの欄には、変換対象として検出するゲートが設定されている。等価回路の欄には、検出ゲートの等価回路が設定されている。例えば変換情報111には、CCXゲートに対応付けて、CCZゲートを用いた等価回路31が登録されている。また変換情報111には、CCZゲートに対応付けて、1量子ビットゲートと2量子ビットとを組み合わせた等価回路35が登録されている。さらに変換情報111には、CXゲートに対応付けて、CZゲートを用いた等価回路41とiSWAPゲートを用いた等価回路42とが登録されている。
 図11は、接続トポロジー情報の一例を示す図である。接続トポロジー情報112には、接続関係にある2つの量子ビットを示す接続量子ビットペアが複数登録されている。接続量子ビットペアに示される2つの量子ビットであれば、それらを操作対象とする2量子ビットゲートの操作を量子ビット制御装置200に実行させることができる。
 図12は、量子ビット特性情報の一例を示す図である。量子ビット特性情報113には、量子ビット制御装置200が有する量子ビットそれぞれの識別子に対応付けて、対応する量子ビットの忠実度とT1とが設定されている。量子ビットの忠実度とT1とは、量子ビット特性測定部130によって定期的に更新される。
 図13は、量子ビット特性情報更新処理の手順の一例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
 [ステップS101]量子ビット特性測定部130は、予め設定された測定時刻(例えば毎日の特定の時刻)になったか否かを判断する。量子ビット特性測定部130は、測定時刻になった場合、処理をステップS102に進める。また量子ビット特性測定部130は、測定時刻になっていなければ、ステップS101を繰り返し、測定時刻になるのを待つ。
 [ステップS102]量子ビット特性測定部130は、量子ビット制御装置200を制御して、各量子ビットの忠実度とT1とを測定する。
 [ステップS103]量子ビット特性測定部130は、量子ビット特性情報113における各量子ビットの忠実度とT1との値を、最新の測定値に更新する。その後、量子ビット特性測定部130は処理をステップS101に進める。
 次に、CXゲートを等価回路に変換する際の、変換先の等価回路の決定方法について詳細に説明する。
 緩和時間ノイズの影響を受けた量子ビットのT1(励起状態を保つ平均時間)およびT2(重ね合わせを保てる平均時間)が分かっているとき、量子ビットに対するゲート操作ごとにその量子ビットに発生するエラーは、式(1)に示すChoi行列で表される。
Figure JPOXMLDOC01-appb-M000001
 tはゲート実行時間である。pは確率ベクトル(probability vector)である。ノイズがない場合はp=0となる。式(1)から、ノイズの影響は、ゲート実行時間tと緩和時間(T1またはT2)との比に依存することが分かる。具体的には、ゲート実行時間tと緩和時間との比の値(ゲート実行時間/緩和時間)が大きいほど、ノイズの影響を受けやすくなる。すなわち、緩和時間だけではノイズの影響の度合いを正しく判断することはできない。
 1量子ビットゲートのゲート実行時間tは、量子コンピュータ300において予め決められた時間であり、1量子ビットゲートの種類には依存しない。同様に、2量子ビットゲートのゲート実行時間も、2量子ビットゲートの種類に依存しない。
 2量子ビットゲートの操作には時間がかかり、2量子ビットゲートのゲート実行時間は、1量子ビットゲートのゲート実行時間に比べて非常に長い値に設定される。そのため量子回路では、エラーの発生しやすさの指標として2量子ビットゲートの数が用いられる。量子回路の2量子ビットゲートの数は、回路長と呼ばれる。回路長が短い量子回路ほどエラーが発生しづらいこととなる。
 またiSWAPゲートは、CZゲートに比べてコヒーレントノイズの影響が小さい。他方、CXゲートの2つの等価回路41,42を比べたとき、CZゲートを用いた等価回路41では2量子ビットゲートは1個で済むが、iSWAPゲートを用いた等価回路42では2量子ビットゲートは2個となる。すなわち等価回路42の回路長は、等価回路41の2倍となる。回路長が長いほど、デコヒーレンスノイズの影響が大きくなる。デコヒーレンスノイズは、緩和時間とゲート操作時間の比により変化するが、緩和時間は量子ビットごとに異なる。
 ゲート実行時間に対して緩和時間が十分に長く、ゲート実行時間と緩和時間との比の値が小さい場合、緩和時間についてのノイズよりもコヒーレントノイズの影響の方が大きくなる。コヒーレントノイズの影響の方が大きい場合、回路長が2倍になったとしても、コヒーレントノイズの影響が小さいiSWAPゲートの方が、全体としてノイズの影響が小さくなる可能性がある。そこでゲート変換部150は、CXゲートを等価回路41,42のいずれかに変換する場合、2量子ビットゲートについてのゲート実行時間と緩和時間との比の値に基づいて、変換先の等価回路を決定する。
 図14は、CCXゲートの変換処理の一例を示す図である。ゲート変換部150は、CCXゲート30を、CCZゲート31aを用いた等価回路31に変換する。次にゲート変換部150は、等価回路31内のCCZゲート31aを、1量子ビットと2量子ビットとで構成される等価回路35に変換する。等価回路35には、7つのCXゲートが含まれている。そこでゲート変換部150は、2量子ビットゲートのゲート実行時間tとT1との比の値(t/T1)がしきい値未満か否かに応じて、等価回路41,42のいずれかに7つのCXゲートそれぞれを変換する。
 具体的には、ゲート変換部150は、t/T1がしきい値以上であれば、各CXゲートを、CZゲートを用いた等価回路41に変換する。この場合、変換後の量子回路には7個のCZゲートが含まれる。またゲート変換部150は、t/T1がしきい値未満であれば、各CXゲートを、iSWAPゲートを用いた等価回路42に変換する。この場合、変換後の量子回路には14個のiSWAPゲートが含まれる。
 図15は、量子回路変換処理の手順の一例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
 [ステップS201]量子計算制御部120は、量子回路を取得する。例えば量子計算制御部120は、端末装置401,402,・・・から、量子コンピュータ300による量子計算の依頼と量子回路とを受け付ける。
 [ステップS202]量子ビット割り当て部140は、接続トポロジー情報112に基づいて、連続に配置可能な候補量子ビット群を生成する。連続に配置可能とは、量子回路で上下に隣接する量子ビットに対して、量子ビット制御装置200の接続された量子ビットを割り当て可能という条件を満たすことである。
 [ステップS203]量子ビット割り当て部140は、量子ビット特性情報113を参照し、生成した候補量子ビット群それぞれについて、属する量子ビットの忠実度の平均値を計算する。
 [ステップS204]量子ビット割り当て部140は、最も平均忠実度が高い候補量子ビット群を、量子回路の量子ビットの割り当て先に決定する。
 [ステップS205]ゲート変換部150は、取得した量子回路から、CCXゲートまたはCCZゲート操作の対象となる3量子ビットを検出する。
 [ステップS206]ゲート変換部150は、該当の3量子ビットが検出されたか否かを判定する。ゲート変換部150は、該当の3量子ビットが検出されたと判定した場合、処理をステップS207に進める。また、ゲート変換部150は、該当の3量子ビットが検出されなかったと判定した場合、処理をステップS211に進める。
 [ステップS207]ゲート変換部150は、検出した3量子ビットそれぞれのT1の値のうちの最小値を、量子ビット特性情報113から取得する。
 [ステップS208]ゲート変換部150は、ゲート実行時間tと取得したT1との比の値(t/T1)がしきい値未満か否かを判断する。ゲート変換部150は、比の値がしきい値未満であれば、処理をステップS209に進める。またゲート変換部150は、比の値がしきい値以上であれば、処理をステップS210に進める。
 [ステップS209]ゲート変換部150は、検出した3量子ビットに実行されるCCXゲートまたはCCZゲートのすべてを、iSWAPゲートを用いた等価回路に変換する。その後、ゲート変換部150は処理をステップS205に進める。
 [ステップS210]ゲート変換部150は、検出した3量子ビットに実行されるCCXゲートまたはCCZゲートのすべてを、CZゲートを用いた等価回路に変換する。その後、ゲート変換部150は処理をステップS205に進める。
 [ステップS211]量子計算制御部120は、変換後の量子回路に従って量子ビット制御装置200を制御する。
 このようにしてCCXゲートまたはCCZゲートを、ノイズの影響が少ない等価回路に変換することができる。等価回路の決定に用いるしきい値は、例えばiSWAPゲートを用いた等価回路とCZゲートを用いた等価回路とのノイズの影響評価することで決定することができる。
 ノイズからの影響の評価指標としては、例えばTotal Variation Distance(TVD)がある。TVDは、ノイズなしの理想確率とノイズありの確率の和に基づいている。TVDは以下の式(2)で表される。
Figure JPOXMLDOC01-appb-M000002
 pideal(x)は、量子ビットの値の列(ビット列x)の理想的な状況(ノイズがない状況)での出現確率である。p(x)は、実測またはシミュレーションによって測定されたビット列xの出現確率である。式(2)では、出現可能なビット列の集合Xに属するビット列xそれぞれについて、ノイズがあるときの確率とノイズがないときの確率との差分が計算される。そして、それらの差分の合計の1/2がTVDとなる。TVDの値が小さいほどノイズの影響が少ないことを示す。
 図16は、ノイズに応じた等価回路ごとのTVDの変化の一例を示す図である。図16の例では、量子ビットの特性は、「T1=33μsec,T2=16μsec」である。ノイズに応じたTVDの値は、計算するオラクルごとに異なる。グラフ51~56には、すべてのオラクルについてノイズに応じたTVDを求め、ノイズの増加に応じたTVDの平均値の変化が、CCXゲートの複数の等価回路それぞれについて示されている。グラフ51~56の横軸はノイズの大きさを示しており、縦軸はTVDを示している。ノイズは、例えば過回転ノイズ(over-rotation noise)である。
 グラフ51~56は、それぞれt/T1の値が異なる。グラフ51~56では、iSWAPゲートを用いた等価回路のTVDの平均値の変化を細い折れ線で示しており、CZゲートを用いた等価回路のTVDの平均値の変化を太い折れ線で示している。
 グラフ51は「t/T1=10-5」の場合の例である。この場合、iSWAPゲートを用いた等価回路の方が、CZゲートを用いた等価回路よりも、常にTVDの値が小さい。
 グラフ52は「t/T1=5×10-5」の場合の例である。この場合、ノイズが「0.02」より小さいうちは、CZゲートを用いた等価回路の方が、iSWAPゲートを用いた等価回路よりもTVDの値が小さい。ノイズが「0.02」より大きくなると、iSWAPゲートを用いた等価回路の方が、CZゲートを用いた等価回路よりもTVDの値が小さい。
 グラフ53は「t/T1=10-4」の場合の例である。この場合、ノイズが「0.04」より小さいうちは、CZゲートを用いた等価回路の方が、iSWAPゲートを用いた等価回路よりもTVDの値が小さい。ノイズが「0.04」より大きくなると、iSWAPゲートを用いた等価回路の方が、CZゲートを用いた等価回路よりもTVDの値が小さい。
 グラフ54は「t/T1=5×10-4」の場合の例である。この場合、CZゲートを用いた等価回路の方が、iSWAPゲートを用いた等価回路よりも、常にTVDの値が小さい。
 グラフ55は「t/T1=10-3」の場合の例である。この場合、CZゲートを用いた等価回路の方が、iSWAPゲートを用いた等価回路よりも、常にTVDの値が小さい。CZゲートを用いた等価回路とiSWAPゲートを用いた等価回路とのTVDの値の差は、「t/T1=5×10-4」の場合よりも広がっている。
 グラフ56は「t/T1=5×10-3」の場合の例である。この場合、CZゲートを用いた等価回路の方が、iSWAPゲートを用いた等価回路よりも、常にTVDの値が小さい。CZゲートを用いた等価回路とiSWAPゲートを用いた等価回路とのTVDの値の差は、「t/T1=10-3」の場合よりも広がっている。
 このように、「t/T1」値が「10-4」を超えると、CZゲートを用いた等価回路の方がノイズを影響が少なくてすむ。それに対して、「t/T1」値が「10-4」以下であれば、iSWAPゲートを用いた等価回路の方がノイズの影響が少なくてすむ場合が生じる。「t/T1」値が「10-4」以下の場合、ノイズが小さければ、CZゲートを用いた等価回路の方がノイズの影響が少なくなるが、iSWAPゲートを用いた等価回路とのTVDの差は微小である。そのため、等価回路を決定する際の「t/T1」のしきい値は「10-4」とするのが適切である。すなわちゲート変換部150は、「t/T1<10-4」であれば、CCXまたはCCZゲートを、iSWAPゲートを用いた等価回路に変換する。またゲート変換部150は、「t/T1≧10-4」であれば、CCXまたはCCZゲートを、CZゲートを用いた等価回路に変換する。
 t/T1のしきい値を適切な値に設定しておくことで、計算対象の量子回路を、ノイズの影響を低減した量子回路に最適化して量子ビット制御装置200に実装することができる。例えば3量子ビットのグローバーのアルゴリズムで量子計算を実行する場合の実装方法について、図17~図19を参照して説明する。
 図17は、3量子ビットのグローバーのアルゴリズムの量子回路の一例を示す図である。量子回路60は、繰り返し回数1回のグローバーのアルゴリズムを3量子ビットで実行する場合の、量子ビットq0,q1,q2それぞれに対する操作の順序を示す。
 量子ビットq0,q1,q2それぞれには、初期化処理として、Hゲートの操作が行われる。これにより、すべての状態の重ね合わせ状態が生成される。次に量子ビットq0,q1,q2に対してオラクルの操作が行われる。オラクルでは、量子ビットq0,q1,q2それぞれにXゲートの操作を実行後、3量子ビットのCCZゲート操作が行われる。その後、再度、量子ビットq0,q1,q2それぞれにXゲートの操作が行われる。
 オラクルの操作後、増幅の操作が行われる。増幅の操作では、量子ビットq0,q1,q2それぞれにHゲートの操作およびXゲートの操作が行われる。その後、3量子ビットのCCZゲート操作が行われる。そして、量子ビットq0,q1,q2それぞれにXゲートの操作およびHゲートの操作が行われる。
 増幅の操作後、量子ビットq0,q1,q2それぞれの測定が行われる。測定によって量子ビットq0,q1,q2は、それぞれ「0」または「1」の状態に確定する。量子回路60に示される観測によって、グローバーのアルゴリズムの反転増幅処理を1回行った場合の結果が出力される。
 なお、量子コンピュータ300は、2つ以下の量子ビットに対するゲート操作をする装置を有し、3つ以上の量子ビットに対するゲート操作が可能な装置を有しない。そこでCCZゲートのような3つの量子ビットに対するゲートは、2つの量子ビットまたは1つの量子ビットに対するゲートを組み合わせた等価回路に変換される。量子回路60には3量子ビットのCCZゲートが2つ含まれており、それらのCCZゲートが、まず等価回路35(図10参照)に変換される。
 図18は、グローバーのアルゴリズムの量子回路の等価回路の一例を示す図である。量子回路60のCCZゲートを等価回路35に変換したことで、1量子ビットゲートと2量子ビットゲートとからなる量子回路61が生成される。量子回路61には、14個のCXゲートが含まれる。
 なおCCZゲートを等価回路35に変換する際には、図5、図6に示したように量子ビットq1,q2にSWAPゲートの操作が行われる。そのためCCZゲートの等価回路35への変換により、量子アルゴリズム上で量子計算の対象とする量子ビットをx0,x1,x2それぞれへの実際の量子ビットの割り当てが変わる。しかし、量子回路61では、CCZゲートの等価回路35への変換が2回行われているため、量子アルゴリズム上で量子計算の対象とする量子ビットx0,x1,x2それぞれへの実際の量子ビットの割り当ては、測定時には当初の割り当てに戻る。
 量子回路61には14個のCXゲートが含まれている。14個のCXゲートは、すべてがiSWAPゲートを用いた等価回路に変換されるか、すべてがCZゲートを用いた等価回路に変換される。いずれの等価回路に変換するのかを決定するためのt/T1のしきい値は、グローバーのアルゴリズムにおけるノイズに応じたTVDの変化に基づいて決定される。
 図19は、グローバーのアルゴリズムにおけるノイズに応じた等価回路ごとのTVDの変化の一例を示す図である。図19の例では、量子ビットの特性は、「T1=33μsec,T2=16μsec」である。グラフ71~76には、すべてのオラクルについてノイズに応じたTVDを求め、ノイズの増加に応じたTVDの平均値の変化が、CCXゲートの複数の等価回路それぞれについて示されている。グラフ71~76の横軸はノイズの大きさを示しており、縦軸はTVDを示している。
 グラフ71~76では、iSWAPゲートを用いた等価回路のTVDの平均値の変化を細い折れ線で示しており、CZゲートを用いた等価回路のTVDの平均値の変化を太い折れ線で示している。
 グラフ71は「t/T1=10-5」の場合の例である。この場合、iSWAPゲートを用いた等価回路の方が、CZゲートを用いた等価回路よりも、常にTVDの値が小さい。
 グラフ72は「t/T1=5×10-5」の場合の例である。この場合も「t/T1=10-5」の場合と同様に、iSWAPゲートを用いた等価回路の方が、CZゲートを用いた等価回路よりも、常にTVDの値が小さい。
 グラフ73は「t/T1=10-4」の場合の例である。この場合も「t/T1=5×10-5」の場合と同様に、iSWAPゲートを用いた等価回路の方が、CZゲートを用いた等価回路よりも、常にTVDの値が小さい。
 グラフ74は「t/T1=5×10-4」の場合の例である。ノイズが「0.01」以下のうちは、CZゲートを用いた等価回路の方が、iSWAPゲートを用いた等価回路よりもTVDの値が小さい。ノイズが「0.02」以上となると、iSWAPゲートを用いた等価回路の方が、CZゲートを用いた等価回路よりもTVDの値が小さい。
 グラフ75は「t/T1=10-3」の場合の例である。ノイズが「0.03」になるまでは、CZゲートを用いた等価回路の方が、iSWAPゲートを用いた等価回路よりもTVDの値が小さい。ノイズが「0.03」以上となると、iSWAPゲートを用いた等価回路の方が、CZゲートを用いた等価回路よりもTVDの値が小さい。
 グラフ76は「t/T1=5×10-3」の場合の例である。この場合、CZゲートを用いた等価回路の方が、iSWAPゲートを用いた等価回路よりも、常にTVDの値が小さい。
 このように、「t/T1」値が「10-4」を超えると、CZゲートを用いた等価回路の方がノイズの影響が少なくなる可能性がある。それに対して、「t/T1」値が「10-4」以下であれば、iSWAPゲートを用いた等価回路の方がノイズの影響が少なくてすむ。この場合、例えば、等価回路を決定する際の「t/T1」のしきい値は「10-4」と設定される。すなわちゲート変換部150は、「t/T1<10-4」であれば、CCXまたはCCZゲートを、iSWAPゲートを用いた等価回路に変換する。またゲート変換部150は、「t/T1≧10-4」であれば、CCXまたはCCZゲートを、CZゲートを用いた等価回路に変換する。
 以上説明したように、制御コンピュータ100は、CCXゲートまたはCCZゲートを、iSWAPゲートを用いた等価回路またはCZゲートを用いた等価回路のうちのノイズの影響が少ない等価回路に変換して、量子ビット制御装置200に量子回路を実装する。これにより、ノイズの影響を低減させることができ、量子計算の精度を向上させることができる。
 しかも、量子回路で使用する量子ビットとして、忠実度の平均値が最も低くなる量子ビット群を使用することで、さらに量子計算の精度を向上させることができる。
 なお各量子ビットの忠実度およびT1は、定期的に測定される。その結果、量子計算を実行する際の最新の状態における忠実度およびT1に基づいて、使用する量子ビットの決定、および量子回路の実装を行うことができ、高精度の量子計算を安定的に実行することが可能となる。すなわち、量子ビットの忠実度またはT1は、一定ではなく、量子コンピュータ300のおかれている環境や時間経過によって変化する。そのため定期的に忠実度またはT1を測定することで、量子計算実行時点での忠実度またはT1の精度が向上する。
 さらに、等価回路ごとのノイズの影響を判定する指標としてt/T1の値を用いたことで、ノイズの影響が少ない等価回路を正しく判断することができる。その結果、少ないノイズで量子計算が可能となり、量子計算の精度が向上する。
 〔その他の実施の形態〕
 制御コンピュータ100は、CCXゲートとCCZゲートに限らず、CXゲートを用いた等価回路に変換可能な量子ゲートであれば、その量子ゲートを、緩和時間に基づいて適切な等価回路に変換可能である。また制御コンピュータ100は、端末装置401,402,・・・から取得した量子回路に含まれているCXゲートを、緩和時間に基づいて、iSWAPゲートを用いた等価回路またはCZゲートを用いた等価回路に変換することもできる。
 上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 1,7 量子回路
 1a CCXゲート
 1b,3a CCZゲート
 2 量子ビット特性情報
 3~6,7a,7b 等価回路
 4a CXゲート
 5a,5b iSWAPゲート
 6a CZゲート
 8 量子ビット制御装置
 8a,8b,・・・ 量子ビット
 10 量子回路設計装置
 11 記憶部
 12 処理部

Claims (9)

  1.  量子デバイスに含まれる複数の量子ビットへのゲート操作を示す量子回路から、前記量子デバイスでゲート操作を実行できない第1の量子ゲートを検出し、
     検出した前記第1の量子ゲートによる操作対象の量子ビットの緩和時間に基づいて、前記量子デバイスでゲート操作を実行可能な第2の量子ゲートにより前記第1の量子ゲートと同じゲート操作を実現する複数の等価回路の中から、実装する等価回路を決定し、
     前記量子回路内の前記第1の量子ゲートを、決定した前記等価回路に変換する、
     処理をコンピュータに実行させる量子回路設計プログラム。
  2.  前記等価回路を決定する処理では、前記量子デバイスにおける2量子ビットゲートのゲート操作時間と前記緩和時間との比に基づいて、実装する前記等価回路を決定する、
     請求項1記載の量子回路設計プログラム。
  3.  前記等価回路を決定する処理では、前記ゲート操作時間と、前記第1の量子ゲートによる操作対象となる2以上の量子ビットそれぞれの前記緩和時間のうちの最小値との比に基づいて、実装する前記等価回路を決定する、
     請求項2記載の量子回路設計プログラム。
  4.  前記等価回路を決定する処理では、前記比の値が所定のしきい値以上であれば、実装する前記等価回路を、CZゲートを用いた第1の等価回路に決定し、前記比の値が前記しきい値未満であれば、実装する前記等価回路を、iSWAPゲートを用いた第2の等価回路に決定する、
     請求項3記載の量子回路設計プログラム。
  5.  前記第1の量子ゲートは、CCXゲートまたはCCZゲートである、
     請求項1記載の量子回路設計プログラム。
  6.  前記量子デバイスに含まれる前記複数の量子ビットそれぞれの前記緩和時間を定期的に測定する、
     処理を前記コンピュータにさらに実行させる請求項1から5までのいずれかに記載の量子回路設計プログラム。
  7.  前記量子デバイスに含まれる前記複数の量子ビットの忠実度に基づいて、前記量子回路で操作する量子ビットを決定する、
     処理を前記コンピュータにさらに実行させる請求項1から5までのいずれかに記載の量子回路設計プログラム。
  8.  量子デバイスに含まれる複数の量子ビットへのゲート操作を示す量子回路から、前記量子デバイスでゲート操作を実行できない第1の量子ゲートを検出し、
     検出した前記第1の量子ゲートによる操作対象の量子ビットの緩和時間に基づいて、前記量子デバイスでゲート操作を実行可能な第2の量子ゲートにより前記第1の量子ゲートと同じゲート操作を実現する複数の等価回路の中から、実装する等価回路を決定し、
     前記量子回路内の前記第1の量子ゲートを、決定した前記等価回路に変換する、
     処理をコンピュータが実行する量子回路設計方法。
  9.  量子デバイスに含まれる複数の量子ビットへのゲート操作を示す量子回路から、前記量子デバイスでゲート操作を実行できない第1の量子ゲートを検出し、検出した前記第1の量子ゲートによる操作対象の量子ビットの緩和時間に基づいて、前記量子デバイスでゲート操作を実行可能な第2の量子ゲートにより前記第1の量子ゲートと同じゲート操作を実現する複数の等価回路の中から、実装する等価回路を決定し、前記量子回路内の前記第1の量子ゲートを、決定した前記等価回路に変換する処理部、
     を有する量子回路設計装置。
PCT/JP2022/025903 2022-06-29 2022-06-29 量子回路設計プログラム、量子回路設計方法および量子回路設計装置 WO2024004072A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/025903 WO2024004072A1 (ja) 2022-06-29 2022-06-29 量子回路設計プログラム、量子回路設計方法および量子回路設計装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/025903 WO2024004072A1 (ja) 2022-06-29 2022-06-29 量子回路設計プログラム、量子回路設計方法および量子回路設計装置

Publications (1)

Publication Number Publication Date
WO2024004072A1 true WO2024004072A1 (ja) 2024-01-04

Family

ID=89382367

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/025903 WO2024004072A1 (ja) 2022-06-29 2022-06-29 量子回路設計プログラム、量子回路設計方法および量子回路設計装置

Country Status (1)

Country Link
WO (1) WO2024004072A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11112842B1 (en) * 2017-10-06 2021-09-07 Rigetti & Co, Inc. Resetting qubits in a superconducting quantum processor
JP2021536629A (ja) * 2018-09-18 2021-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation アプリケーションまたはアルゴリズムに固有の量子回路設計

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11112842B1 (en) * 2017-10-06 2021-09-07 Rigetti & Co, Inc. Resetting qubits in a superconducting quantum processor
JP2021536629A (ja) * 2018-09-18 2021-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation アプリケーションまたはアルゴリズムに固有の量子回路設計

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOSHINARI ITOKO; RUDY RAYMOND; TAKASHI IMAMICHI; ATSUSHI MATSUO: "Optimization of Quantum Circuit Mapping using Gate Transformation and Commutation", ARXIV.ORG, 18 October 2019 (2019-10-18), XP081500667 *

Similar Documents

Publication Publication Date Title
JP7370385B2 (ja) 量子回路上の論理キュービットのマッピング
JP2022502752A (ja) 実装コストを目的として含めることによるニューラルネットワークのトレーニング
JP2019160169A (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
JP2022527534A (ja) 量子コンピューティングにおける困難な変分量子問題を解くための中間再最適化を伴う断熱的進行
WO2024004072A1 (ja) 量子回路設計プログラム、量子回路設計方法および量子回路設計装置
JP7219402B2 (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
CN111985631B (zh) 信息处理设备、信息处理方法及计算机可读记录介质
JP2019159905A (ja) 生成プログラム、生成装置及び生成方法
US20210173978A1 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
JP2022094510A (ja) 最適化プログラム、最適化方法及び情報処理装置
JP2023078546A (ja) 情報処理装置、情報処理方法およびプログラム
US11321644B2 (en) Software developer assignment utilizing contribution based mastery metrics
JP7323519B2 (ja) データ管理システム、データ管理装置、データ管理方法及びデータ管理プログラム
JP2021184148A (ja) 最適化装置、最適化方法、および最適化プログラム
WO2023243011A1 (ja) 情報処理プログラム、情報処理方法、および情報処理装置
WO2023144884A1 (ja) パラメータ最適化プログラム、パラメータ最適化方法、および情報処理装置
WO2024116344A1 (ja) 量子回路設計プログラム、量子回路設計方法および量子回路設計装置
WO2023021613A1 (ja) 量子回路設計装置、量子回路設計プログラムおよび量子回路設計方法
US20240135151A1 (en) Data processing device, data processing method, and computer-readable recording medium storing data processing program
US20220092380A1 (en) Optimization device, optimization method, and computer-readable recording medium storing optimization program
US20220229664A1 (en) Information processing device, compiling method, and non-transitory computer-readable recording medium
US11721055B2 (en) Method and device with character animation motion control
JP7224263B2 (ja) モデル生成方法、モデル生成装置及びプログラム
US11875229B2 (en) Determining dynamic quantum error correction
WO2021250752A1 (ja) 学習方法、学習装置及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22949347

Country of ref document: EP

Kind code of ref document: A1