Quantum computation support method, and information processing apparatus

By dividing quantum circuits into subcircuits and optimizing their execution with basis transformations and initial values, the program enhances the efficiency of quantum circuit-based computations, addressing the challenge of increased computational time in classical calculations.

JP2026032577APending Publication Date: 2026-02-27FUJITSU LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024135185
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-14
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

The computational time for classical calculations to calculate the tensor product of quantum circuit execution results becomes enormous as the number of divisions increases, leading to increased overall computation time for quantum circuit-based computations.

Method used

A quantum computing assistance program that divides the quantum circuit at specific points, generating subcircuits and pairs of basis transformations and initial values, allowing for sequential execution and early calculation of tensor products.

Benefits of technology

This approach improves the efficiency of quantum circuit-based computations by reducing the time from the start of quantum calculation to the completion of classical calculation, specifically by optimizing the scheduling of subcircuit executions and tensor product calculations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026032577000001_ABST
    Figure 2026032577000001_ABST
Patent Text Reader

Abstract

To improve efficiency of calculation based on a quantum circuit.SOLUTION: The information processing apparatus 10 generates a first subcircuit 3 and a second subcircuit 4 by dividing the quantum circuit 2. The information processor 10 generates a plurality of sets 3a, 4a,. obtained by combining one of a plurality of base conversions performed in an trailer 5a on the first subcircuit 3 side and one of a plurality of initial values set in a start end 5b on the second subcircuit 4 side. The information processor 10 sequentially selects a set to be executed from the plurality of sets 5a, 5b,. The information processing apparatus 10 causes the quantum computer 1 to execute, in order from the selected tuple, a first quantum calculation 6 including execution of the first subcircuit 3 and measurement according to the selected tuple, and a second quantum calculation 7 including initialization according to the selected tuple and execution of the second subcircuit 4. Then, the information processing apparatus 10 calculates tensor products based on the execution results of the first quantum calculation 6 and the second quantum calculation 7 and the sum of the tensor products.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a quantum computing assistance program, a quantum computing assistance method, and an information processing device. [Background technology]

[0002] In quantum computers, quantum computation procedures are represented by quantum circuits. As quantum computations become more complex, the scale of quantum circuits increases, making it difficult to execute them due to the hardware constraints of quantum computers. To address this issue, a method has been considered in which large-scale quantum circuits are divided into smaller subcircuits, and each subcircuit is executed and measured in parallel using multiple qubit devices or multiple quantum computers. In this case, the probability amplitude of the original quantum circuit is reconstructed by classical calculations based on the execution results of the multiple subcircuits. By dividing the circuit into subcircuits and executing a large-scale quantum circuit, it can be executed on a small, high-fidelity quantum computer, which is expected to improve computational accuracy.

[0003] As a technique for dividing a quantum circuit into multiple subcircuits, a method has been proposed in which subcircuit dependencies are determined for multiple quantum subcircuits and then the multiple quantum subcircuits are simulated according to the subcircuit dependencies.In addition, as a method for implementing quantum hybrid computing, a method has been proposed in which each function corresponding to a hybrid program is assigned to either a CPU (Central Processing Unit) or a QPU (Quantum Processing Unit) for processing.

[0004] Hybrid quantum-classical computing technology, for example, proposes methods for integrating quantum-based processing devices into classical architectures and software frameworks.

[0005] As a technique for managing access to distributed quantum computing resources, for example, a technique is disclosed in which job requests are individualized based on user privileges and pushed into a queue for execution by the quantum computing resource. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Special Publication No. 2020-534603 [Patent Document 2] Special Publication No. 2021-530783 [Patent Document 3] US Patent Application Publication No. 2017 / 0223143 [Patent Document 4] US Patent Application Publication No. 2018 / 0365585 [Non-patent literature]

[0007] [Non-Patent Document 1] Bhoumik, Debasmita, Ritajit Majumdar, Amit Saha, and Susmita Sur-Kolay. “Distributed Scheduling of Quantum Circuits with Noise and Time Optimization.” arXiv.2309.06005v2, 12 Oct 2023 Summary of the Invention [Problem to be solved by the invention]

[0008] When a quantum circuit is divided into multiple subcircuits and executed, the tensor product of the execution results of each subcircuit and their sum becomes the final probability amplitude. In this case, as the number of divisions increases, the processing time for the classical calculation to calculate the tensor product becomes enormous. For example, if the original quantum circuit is divided into K places (K is a natural number), and n C When divided into subcircuits, the order notation is O(4 K) increases the amount of computation. As a result, the overall computation time based on quantum circuits increases.

[0009] In one aspect, the present invention aims to improve the efficiency of quantum circuit-based computations. [Means for solving the problem]

[0010] In one proposal, a quantum computing assistance program is provided that causes a computer to perform the following processes. The computer divides the quantum circuit at a division point on a line indicating a gate operation for a quantum bit in the quantum circuit, thereby generating a first subcircuit including a gate operation before the division point of the first quantum bit corresponding to the division point, and a second subcircuit including a gate operation after the division point of the first quantum bit. The computer generates multiple pairs each combining one of multiple basis transformations to be performed at the end of the first subcircuit corresponding to the division point and one of multiple initial values ​​to be set at the start of the second subcircuit corresponding to the division point. The computer sequentially selects a pair to be executed from the multiple pairs. The computer causes the quantum computer to execute, starting with the selected pair, a first quantum computation including execution of the first subcircuit and the basis transformation indicated in the selected pair at the end of the first subcircuit, and a second quantum computation including initialization of the start of the second subcircuit to the initial value indicated in the selected pair and execution of the second subcircuit. When the computer obtains the execution results of the first quantum computation and the second quantum computation for any of the plurality of pairs, it calculates a tensor product based on the obtained execution results, and then calculates the sum of the tensor products for each of the plurality of pairs. [Effects of the Invention]

[0011] According to one aspect, quantum circuit-based computation is made more efficient. [Brief explanation of the drawings]

[0012] [Figure 1] FIG. 1 is a diagram illustrating an example of a quantum computing assistance method according to a first embodiment. [Figure 2] FIG. 1 is a diagram illustrating an example of the configuration of a quantum computing system. [Figure 3] FIG. 1 is a diagram illustrating an example of hardware of a quantum computing system. [Figure 4] FIG. 10 is a diagram illustrating a first example of a sub-circuit generated by division. [Figure 5] FIG. 10 is a diagram illustrating a second example of a sub-circuit generated by division. [Figure 6] FIG. 10 is a diagram illustrating an example of a calculation process of a probability amplitude using classical calculation. [Figure 7] FIG. 10 is a diagram illustrating an example of the calculation timing of a tensor product for each scheduling method. [Figure 8] FIG. 2 is a block diagram showing an example of the functions of each device for quantum computing. [Figure 9] 10 is a flowchart illustrating an example of a procedure for quantum computing assisted processing. [Figure 10] 10 is a flowchart illustrating an example of a procedure for post-processing priority scheduling. DETAILED DESCRIPTION OF THE INVENTION

[0013] The present embodiment will be described below with reference to the drawings. Note that each embodiment can be implemented in combination with a plurality of other embodiments within a range that does not contradict each other. [First embodiment] The first embodiment is a quantum computing support method for improving the efficiency of calculations when a quantum circuit is divided into sub-circuits for calculation.

[0014] Fig. 1 is a diagram illustrating an example of a quantum-assisted computing method according to a first embodiment. Fig. 1 illustrates an information processing device 10 for implementing the quantum-assisted computing method. The information processing device 10 can implement the quantum-assisted computing method by, for example, executing a quantum-assisted computing program.

[0015] The information processing device 10 includes a storage unit 11 and a processing unit 12. The storage unit 11 is, for example, a memory or a storage device included in the information processing device 10. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing device 10.

[0016] The storage unit 11 stores a quantum circuit 2 that indicates a procedure for quantum computation to obtain a solution to a problem to be solved. The processing unit 12 causes the quantum computer 1 to execute quantum computation in accordance with the quantum circuit 2. The quantum computer 1 has a plurality of quantum bit devices 1a and 1b. In this case, the processing unit 12 can also divide the quantum circuit 2 and cause the quantum computer 1 to perform parallel processing. When dividing the quantum circuit 2, the processing unit 12 performs, for example, the following processing.

[0017] The processing unit 12 generates a first subcircuit 3 and a second subcircuit 4 by dividing the quantum circuit 2 at division points 2a on the line that indicates the gate operation for the quantum bit in the quantum circuit 2. If there are many division points 2a, even more subcircuits may be generated.

[0018] The first subcircuit 3 includes a gate operation before the division point 2a of the quantum bit corresponding to the division point 2a in the quantum circuit 2 (the third quantum bit in the example of FIG. 1). The first subcircuit 3 also includes an initialization circuit that sets the quantum bit to be operated to the same initial value (for example, |0>) as the quantum circuit 2. The first subcircuit 3 also includes a basis conversion circuit that measures the same basis as the quantum circuit 2 for quantum bits other than the quantum bit corresponding to the terminal part 3a on the first subcircuit 3 side that is generated by the division (the third quantum bit in the example of FIG. 1).

[0019] The second subcircuit 4 includes gate operations subsequent to the division point 2a of the quantum bit corresponding to the division point 2a in the quantum circuit 2. The second subcircuit 4 also includes an initialization circuit that sets the quantum bits other than the quantum bit corresponding to the starting end 4a on the second subcircuit 4 side resulting from the division (the first quantum bit in the example of FIG. 1) to the same initial value (e.g., |0>) as the quantum circuit 2. The second subcircuit 4 also includes a basis conversion circuit that measures the same basis as the quantum circuit 2 for the operated quantum bit.

[0020] The processing unit 12 generates multiple sets 5a, 5b,..., each combining one of multiple basis transformations performed at the end 3a of the first subcircuit 3 with one of multiple initial values ​​set at the beginning 4a of the second subcircuit 4. The multiple basis transformations are expressed by Pauli operators such as "I, X, Y, Z." The multiple initial values ​​to be set are, for example, "|0>, |1>, |+>, |i>." For example, the processing unit 12 combines the initial value and basis transformation to obtain the execution result to be subjected to the tensor product in classical calculation (see Equation (2) below for the formula of classical calculation) that obtains the execution result of the quantum circuit 2 (probability amplitude for each possible state of the quantum bit). The processing unit 12 then generates multiple sets 5a, 5b,..., each including the combined initial value and basis transformation.

[0021] The processing unit 12 generates, for each of the multiple sets 5a, 5b, ..., a job to perform, for example, a first quantum calculation 6 using a first sub-circuit 3, and a job to perform a second quantum calculation 7 using a second sub-circuit 4.

[0022] The first quantum computation 6 includes execution of the first subcircuit 3 and a basis conversion indicated in the corresponding set for the quantum bit corresponding to the terminal unit 3a. For example, the processing unit 12 adds, after the first subcircuit 3, a basis conversion circuit 6a that performs the basis conversion indicated in the set for the quantum bit corresponding to the terminal unit 3a.

[0023] The second quantum computation 7 includes initializing a quantum bit corresponding to the beginning terminal 4a of the second subcircuit 4 to an initial value indicated in the corresponding set, and executing the second subcircuit 4. For example, the processing unit 12 adds an initialization circuit 7a before the second subcircuit 4, which sets the beginning terminal 4a to the initial value indicated in the set.

[0024] The processing unit 12 schedules jobs that execute quantum computations using the first subcircuit 3 or the second subcircuit 4, and determines a job execution schedule 8. For example, the processing unit 12 sequentially selects pairs to be executed from the multiple pairs 5a, 5b, .... The processing unit 12 then determines the schedule 8 so that the quantum computer 1 executes, in order from the selected pairs, a first quantum computation 6 job corresponding to the selected pair and a second quantum computation 7 job corresponding to the selected pair. The first quantum computation 6 corresponding to the selected pair includes execution of the first subcircuit 3 and a basis transformation indicated in the selected pair. The second quantum computation 7 corresponding to the selected pair includes initialization of the quantum bits of the second subcircuit 4 to the initial values ​​indicated in the selected pair and execution of the second subcircuit 4.

[0025] The processing unit 12 instructs the quantum computer 1 to execute the first quantum calculation 6 or the second quantum calculation 7 for each of the plurality of sets 5a, 5b, . . . in accordance with the determined schedule 8.

[0026] Each time the processing unit 12 obtains the execution result of the first quantum calculation 6 and the second quantum calculation 7 for any of the plurality of pairs 5a, 5b, ..., the processing unit 12 calculates a tensor product based on the obtained execution result. Furthermore, the processing unit 12 calculates the sum of the tensor products for each of the plurality of pairs.

[0027] In this way, the execution result of the original quantum circuit 2 can be obtained based on the execution results of the first subcircuit 3 and the second subcircuit 4. At this time, pairs 5a, 5b, ... of initial values ​​and basis transformations are selected in order, and the quantum computer 1 is instructed to execute the first quantum calculation 6 and the second quantum calculation 7 of the selected pair. This allows the processing unit 12 to obtain the execution results of the first quantum calculation 6 and the second quantum calculation 7 belonging to the same pair with a small time difference. As a result, the processing unit 12 can perform the tensor product calculation early, shortening the time from the start of the quantum calculation to the completion of the classical calculation (the calculation of the tensor product and the calculation of the sum of tensor products). In other words, the calculation efficiency is improved when the quantum circuit 2 is divided into the first subcircuit 3 and the second subcircuit 4.

[0028] For example, the processing unit 12 instructs the quantum computer 1 to execute a job every time it detects an available quantum bit device. After the processing unit 12 instructs the quantum computer 1 to execute one of the first quantum calculation 6 and the second quantum calculation 7 of the first set selected as the Nth (N is a natural number), the processing unit 12 may detect an available quantum bit device among the multiple quantum bit devices 1a, 1b. In this case, the processing unit 12 instructs the quantum computer 1 to execute the quantum calculation of the first quantum calculation 6 or the second quantum calculation 7 of the first set that has not yet been instructed to be executed.

[0029] Furthermore, after instructing the quantum computer 1 to execute both the first quantum calculation 6 and the second quantum calculation 7 of the first set, the processing unit 12 may detect an available quantum bit device among the multiple quantum bit devices 1a, 1b. In this case, the processing unit 12 instructs the quantum computer 1 to execute the first quantum calculation 6 or the second quantum calculation 7 of the second set, which is selected as the (N+1)th.

[0030] In this way, when the processing unit 12 detects an available quantum bit device, if there is a quantum computation in the Nth selected set that has not yet been instructed to be executed, the processing unit 12 will preferentially instruct the quantum computer 1 to execute that quantum computation. Also, when the processing unit 12 detects an available quantum bit device, if the execution instruction for the quantum computation in the Nth selected set has been completed, the processing unit 12 will instruct the quantum computer 1 to execute the quantum computation in the (N+1)th set. This allows the execution instructions for quantum computations in the same set to be issued consecutively, and the tensor product of the execution results of those quantum computations to be performed early.

[0031] Furthermore, if the time required for the quantum computation and the time required for the classical computation do not meet a predetermined condition, the processing unit 12 may schedule jobs using a different method. For example, the processing unit 12 calculates a first time required to execute the first quantum computation 6 and the second quantum computation 7 for the multiple pairs 5a, 5b,..., and a second time required to calculate the tensor product and the sum of the tensor products for each of the multiple pairs 5a, 5b,.... If the first time and the second time satisfy a predetermined condition, the processing unit 12 performs a process of sequentially selecting pairs to be executed from the multiple pairs 5a, 5b,..., and a process of causing the quantum computer 1 to execute the first quantum computation 6 and the second quantum computation 7 for the selected pairs in order.

[0032] This allows the processing unit 12 to schedule jobs so that the tensor product calculation can be started early only when it is important to reduce the calculation time, and in other cases, to schedule jobs so that other indicators such as fidelity are improved.

[0033] The predetermined condition for the time required for the quantum computation and the time required for the classical computation is, for example, a condition that the sum of the first time and the second time exceeds a threshold. For example, when the sum of the first time and the second time exceeds the threshold, the processing unit 12 sequentially selects pairs to be executed from the multiple pairs 5a, 5b, ..., and causes the quantum computer 1 to execute the first quantum computation 6 and the second quantum computation corresponding to the selected pairs in the order of the selected pairs.

[0034] This allows for scheduling that improves other indicators such as fidelity, even if classical calculations are performed after all quantum calculations are completed, as long as the total calculation time is below a threshold.

[0035] For example, if the first time and the second time do not satisfy a predetermined condition, the processing unit 12 performs scheduling that takes fidelity into consideration. In this case, the processing unit 12 determines a schedule for executing the first quantum calculation 6 and the second quantum calculation 7 for each of the multiple sets 5a, 5b, etc., by the multiple quantum bit devices 1a, 1b, based on the error rate of each of the multiple quantum bit devices 1a, 1b. Then, the processing unit 12 instructs the quantum computer 1 to execute the first quantum calculation 6 and the second quantum calculation 7 for each of the multiple sets 5a, 5b, etc., according to the determined schedule.

[0036] In this way, when improving fidelity is more important than improving processing efficiency, the processing unit 12 can perform scheduling that improves fidelity, thereby obtaining highly accurate calculation results.

[0037] In the example of Figure 1, there is only one division point 2a, but there may be cases where division occurs at multiple points. When division occurs at multiple points, the number of pairs of initial values ​​and bases generated increases, and the number of tensor product calculations also increases. The more the number of tensor product calculations increases, the more useful it becomes to improve the efficiency of calculations by scheduling jobs using the method shown in Figure 1.

[0038] Second Embodiment The second embodiment is a quantum computing system that prevents a large-scale quantum circuit from taking a long time to execute in a distributed manner by dividing the circuit into multiple subcircuits.

[0039] 2 is a diagram showing an example of the configuration of a quantum computing system. The quantum computing system 300 is a computer system that performs calculations using, for example, the principles of quantum mechanics. The quantum computing system 300 includes a classical computer 100 and a quantum computer 200. The classical computer 100 is a von Neumann computer. The quantum computer 200 is a non-von Neumann computer that performs quantum calculations by applying quantum gates to quantum bits.

[0040] A terminal device 400 is connected to the classical computer 100 via a network 20. The terminal device 400 is a von Neumann computer used by a user who requests quantum computing by the quantum computing system 300. The classical computer 100 receives a quantum computing request, including a quantum circuit, from, for example, the terminal device 400. A quantum circuit indicates the order of gate operations on quantum bits by arranging elements such as gates. A quantum bit is a bit that can represent a superposition state between the "0" state and the "1" state.

[0041] The classical computer 100 instructs the quantum computer 200 to perform a gate operation on a quantum bit in accordance with a quantum computation request received from the terminal device 400. The classical computer 100 also obtains the measurement results of each quantum bit from the quantum computer 200.

[0042] The quantum computer 200 performs gate operations on quantum bits in accordance with instructions from the classical computer 100. The quantum computer 200 also measures the state of the quantum gate and transmits the measurement results to the classical computer 100.

[0043] FIG. 3 is a diagram illustrating an example of hardware for a quantum computing system. A classical computer 100 is entirely controlled by a processor 101. A memory 102 and multiple peripheral devices are connected to the processor 101 via a bus 100a. The processor 101 may be a multiprocessor. The processor 101 is, for example, a CPU, a microprocessing unit (MPU), or a digital signal processor (DSP). At least some of the functions realized by the processor 101 executing a program may be realized by other electronic circuits. Examples of other electronic circuits include a graphics processing unit (GPU), a neural processing unit (NPU), an application specific integrated circuit (ASIC), and a programmable logic device (PLD).

[0044] The memory 102 is used as a main storage device of the classical computer 100. The memory 102 temporarily stores at least a portion of the OS (Operating System) program and application programs to be executed by the processor 101. The memory 102 also stores various data used in processing by the processor 101. As the memory 102, for example, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.

[0045] The peripheral devices connected to the bus 100 a include a storage device 103 , a graphics controller 104 , an input interface 105 , an optical drive device 106 , a device connection interface 107 , a network interface 108 , and a communication interface 109 .

[0046] The storage device 103 writes and reads data electrically or magnetically to and from a built-in recording medium. The storage device 103 is used as an auxiliary storage device for the classical computer 100. The storage device 103 stores the OS program, application programs, and various data. Note that the storage device 103 may be, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).

[0047] The graphics controller 104 is an arithmetic device that performs image processing. The graphics controller 104 is, for example, a GPU. A monitor 21 is connected to the graphics controller 104. The graphics controller 104 displays an image on the screen of the monitor 21 in accordance with an instruction from the processor 101. The monitor 21 may be a display device using organic EL (Electro Luminescence) or a liquid crystal display device. When a GPU is used as the graphics controller 104, for example, the graphics controller 104 can also perform complex numerical calculations such as matrix calculations.

[0048] The input interface 105 is connected to a keyboard 22 and a mouse 23. The input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101. The mouse 23 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

[0049] The optical drive device 106 uses a laser beam or the like to read data recorded on an optical disc 24 or write data to the optical disc 24. The optical disc 24 is a portable recording medium on which data is recorded so that it can be read by reflected 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.

[0050] The device connection interface 107 is a communication interface for connecting peripheral devices to the classical computer 100. For example, 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 function for communicating with the device connection interface 107. The memory reader / writer 26 is a device for writing data to the memory card 27 or reading data from the memory card 27. The memory card 27 is a card-type recording medium.

[0051] The network interface 108 is connected to the network 20. The network interface 108 transmits and receives data to and from other computers or communication devices via the network 20. The network interface 108 is a wired communication interface connected by a cable to a wired communication device such as a switch or a router. The network interface 108 may also be a wireless communication interface connected by radio waves to a wireless communication device such as a base station or an access point.

[0052] The communication interface 109 is connected to the quantum computer 200. The communication interface 109 communicates with the quantum computer 200 and transmits quantum computation execution instructions to the quantum computer 200. The communication interface 109 also receives quantum computation execution results from the quantum computer 200.

[0053] The classical computer 100 can realize the processing functions of the second embodiment with the hardware described above. The device shown in the first embodiment can also be realized with hardware similar to the classical computer 100 shown in FIG.

[0054] The classical computer 100 realizes the processing functions of the second embodiment by executing a program recorded on, for example, a computer-readable recording medium. The program describing the processing to be executed by the classical computer 100 can be recorded on various recording media. For example, the program to be executed by the classical computer 100 can be stored in a storage device 103. The processor 101 loads at least a portion of the program in the storage device 103 into the memory 102 and executes the program. The program to be executed by the classical computer 100 can also be recorded on a portable recording medium such as an optical disk 24, a memory device 25, or a memory card 27. The program stored on the portable recording medium becomes executable after being installed on the storage device 103, for example, under the control of the processor 101. The processor 101 can also read and execute the program directly from the portable recording medium.

[0055] The quantum computer 200 includes a control device 201 and multiple QPUs 202a, 202b, etc. The control device 201 performs gate operations on quantum bits in the QPUs 202a, 202b, etc. in accordance with instructions from the classical computer 100. For example, the control device 201 performs gate operations on the quantum bits by irradiating the quantum bits with microwaves of a predetermined frequency.

[0056] Each of the QPUs 202a, 202b, etc. has multiple quantum bits. The quantum bits possessed by the QPUs 202a, 202b, etc. may be of any type, such as superconducting, ion-trap, or cold-atom. The QPUs 202a, 202b, etc. are sometimes referred to as quantum bit devices.

[0057] A user of the quantum computing system 300 generates a quantum circuit for solving a target problem by quantum computing, for example, using the terminal device 400. When the user instructs the terminal device 400 to execute a quantum computation, the terminal device 400 transmits a quantum computation request including the generated quantum circuit to the quantum computing system 300.

[0058] In the quantum computing system 300, the classical computer 100 causes the quantum computer 200 to execute quantum computation based on a quantum circuit in response to a quantum computation request. At this time, the classical computer 100 converts the quantum circuit to be executed into a quantum circuit using executable quantum gates in accordance with the hardware specifications of the quantum computer 200 (such as native gates corresponding to the QPU).

[0059] Such a quantum computing system 300 performs quantum computation by dividing a quantum circuit specified by a user into multiple subcircuits and executing the multiple subcircuits in parallel using multiple QPUs. In this process, the classical computer 100 of the quantum computing system 300 predicts the overall computation time, including the classical computation after the quantum computation, and determines a scheduling method for the execution timing of the multiple subcircuits depending on whether the computation time will exceed a threshold. For example, if the computation time is below the threshold, the classical computer 100 performs scheduling to increase fidelity. Furthermore, if the computation time is above the threshold, the classical computer 100 performs scheduling to reduce the computation time.

[0060] Divide the original quantum circuit into "K" places and C If " subcircuits are generated, the subcircuits after the division point will be executed while the state of the qubit at the division point remains unknown. Therefore, for the subcircuits including the part before the division point, multiple basis conversions "I,X,Y,Z" are performed at the end corresponding to the division point, and multiple execution subcircuits are generated by adding different basis conversion circuits in order to measure the probability amplitude after the basis conversion.

[0061] The basis conversion circuit performs, for example, a basis conversion according to the basis to be measured. The basis conversion is expressed by the following Pauli operators.

[0062]

number

[0063] In the basis transformation "I,X,Y,Z", "I" is the identity basis, so no basis transformation is necessary. For the subcircuit including the part after the division point, the initial value of the quantum bit at the starting point corresponding to the division point is unknown. Therefore, multiple initial values ​​are set at the starting point, and the subcircuit is executed multiple times with different initial values.

[0064] 4 is a diagram showing a first example of subcircuits generated by division. By dividing the quantum circuit 30 at one point (K=1) on the gate operation of the third quantum bit, the quantum circuit 30 is divided into two subcircuits 31 and 32 (n C =2). In this case, subcircuit 31 is executed multiple times by adding different basis conversion circuits to obtain the probability amplitude after each basis conversion “I, X, Y, Z” for the third quantum bit.

[0065] In the original quantum circuit 30, the output of the third quantum bit of subcircuit 31 becomes the input of the first quantum bit of subcircuit 32. By dividing quantum circuit 30 into multiple subcircuits 31 and 32, the input state of the first quantum bit of subcircuit 32 is not determined. Therefore, subcircuit 32 is repeatedly executed by setting the initial value of the first quantum bit to each of "|0>, |1>, |+>, |i>". When executing subcircuit 32, an initialization circuit is added to subcircuit 32 to set the first quantum bit to a predetermined initial value.

[0066] For subcircuits 31 and 32, four pairs of quantum computations based on basis conversions and initial values ​​are generated. Then, for each pair, the tensor product of the computation results is calculated using classical computation. For example, a quantum computation involving a basis conversion of "I" in subcircuit 31 is paired with a quantum computation in subcircuit 32 with "|0>" as the initial value. A quantum computation involving a basis conversion of "Z" in subcircuit 31 is paired with a quantum computation in subcircuit 32 with "|1>" as the initial value. A quantum computation involving a basis conversion of "X" in subcircuit 31 is paired with a quantum computation in subcircuit 32 with "|+>" as the initial value. A quantum computation involving a basis conversion of "Y" in subcircuit 31 is paired with a quantum computation in subcircuit 32 with "|i>" as the initial value.

[0067] 5 is a diagram showing a second example of subcircuits generated by division. By dividing the quantum circuit 40 at two points (K=2) on the gate operation of the fourth quantum bit, the quantum circuit 40 is divided into two subcircuits 41 and 42 (n C In the example shown in Figure 5, one quantum bit is divided at two points on the line that indicates the gate operation to be performed, so although there are two division points, the number of subcircuits is "2".

[0068] The combinations of the initial value "a" and the basis conversion "b" in these subcircuits 41 and 42 are as follows: (a,b)=(|0〉,I),(|1〉,I),(|+〉,I),(|i〉,I), (|0〉,X),(|1〉,X),(|+〉,X),(|i〉,X), (|0〉,Y),(|1〉,Y),(|+〉,Y),(|i〉,Y), (|0〉,Z),(|1〉,Z),(|+〉,Z),(|i〉,Z) The probability amplitude "P" of the output value after execution of the quantum circuits 30 and 40 shown in FIG. 4 and FIG. 5 is the probability amplitude "p i,k " can be calculated by the classical calculation shown in the following equation (2).

[0069]

number

[0070] where i is the number of the subcircuit, and k is the number of the pair of the initial value and the basis transformation. As shown in equation (2), the probability amplitude "P" of the original quantum circuit is calculated by the tensor product of the execution results of the subcircuit for each pair of the initial value and the basis transformation, and the sum of the tensor products.

[0071] The calculation shown in equation (2) is a classical calculation, and is executed by the classical computer 100. Classical calculations performed using the results of quantum calculations can be called post-processing. 6 is a diagram showing an example of a calculation process of the probability amplitude using classical calculation. For example, suppose that the quantum circuit 50 is divided at one point (K=1) and two subcircuits 51a and 51b are generated (N C =2). At this time, the quantum computer 200 executes the quantum computation according to the subcircuit 51a four times. The quantum computer 200 also executes the quantum computation according to the subcircuit 51b four times. The quantum computer 200 can also execute the quantum computations based on the subcircuits 51a and 51b in parallel using multiple QPUs 202a, 202b, ...

[0072] The classical computer 100 calculates the tensor product based on the result of the quantum computation. For example, the classical computer 100 calculates the probability amplitude "p 1,1 " and the probability amplitude "p 2,1 The classical computer 100 calculates the tensor product of the probability amplitude "p 1,2 ” and the probability amplitude “p 2,2 The classical computer 100 calculates the tensor product of the probability amplitude "p 1,3 " and the probability amplitude "p 2,3Furthermore, the classical computer 100 calculates the tensor product of the probability amplitude "p 1,4 " and the probability amplitude "p 2,4 Calculate the tensor product with ".

[0073] The classical computer 100 calculates the sum of the results of the four tensor product calculations, thereby obtaining the probability amplitude of a given observable in the quantum circuit 50 before division. Among these calculations, the calculation of the tensor product takes O(4 K ) increases the amount of calculation. Therefore, as the number of divisions increases, the classical processing time for calculating the tensor product increases.

[0074] The quantum computer 200 can parallelize the quantum computations of the subcircuits 51a and 51b using multiple QPUs 202a, 202b, etc. When parallelizing quantum computations, scheduling is performed to execute multiple quantum computations using the subcircuits. In the scheduling, the allocation of QPUs to each quantum computation process and the order of quantum computations on each QPU are determined.

[0075] The purpose of dividing a quantum circuit into subcircuits is to improve the accuracy of computations using small-scale QPUs with high fidelity. Therefore, when scheduling quantum computations, the fidelity of each quantum computation can be taken into account. One such scheduling technique is NoTaDS (Noise and Time Aware Distributed Scheduler).

[0076] NoTaDS is a scheduling method optimized by integer programming to assign each subcircuit to the QPU that will maximize its fidelity and minimize its execution time. NoTaDS schedules as follows:

[0077] First, based on a list of subcircuits "C" and a list of QPUs "H", we calculate the optimal layout "l" when the i-th subcircuit (i∈C) is calculated on the j-th QPU (j∈H). ij " and a score "Q" indicating low error. ij " is calculated. The score "Q ij " is, for example, the Mapomatic score. The optimal layout "l ij " and a score "Q" indicating low error. ij If the process to find "" is "F", then this process is "F:{j,i}→{l ij ,Q ij}".

[0078] Here, we define a variable "X" that indicates whether the i-th subcircuit is executed on the j-th QPU. ij " is defined by equation (3).

[0079]

number

[0080] "X ij " takes the value "1" if the i-th subcircuit is executed on the j-th QPU, and the value "0" otherwise. The maximum execution time on the j-th QPU is τ j The constraint function is defined as equation (4).

[0081]

number

[0082] According to equation (4), the time that the QPU is occupied in quantum computation (QPU occupancy time) is "τ j " or less. "η i " is defined by the following equation (5).

[0083]

number

[0084] "η i " takes the value "1" if multiple quantum computations using the i-th subcircuit are scheduled individually, and otherwise takes the value "ν(ρ i ,O i )" and "ν(ρ i ,O i ) is the number of quantum computations using the i-th subcircuit. i ,O i ) is the number of types of initial values ​​for the i-th subcircuit, ρ i ” and the number of types of basis transformations measured in the i-th subcircuit “O i " depends on "t i ” is the execution time of the i-th subcircuit.

[0085] By solving the objective function of Equation (6) using integer programming so as to satisfy the constraints of Equation (4), a schedule that can obtain high fidelity is generated.

[0086]

number

[0087] NoTaDS is described in detail in the aforementioned Non-Patent Document 1. NoTaDS does not take classical post-processing into consideration. Therefore, when the number of divisions increases, the post-processing time increases, and the overall calculation time also increases.

[0088] Therefore, in the quantum computing system 300, the classical computer 100 performs job scheduling that takes classical post-processing into consideration. The classical computer 100 first predicts the post-processing time "T1" according to the division number "K." For example, the classical computer 100 predicts the post-processing time "T1" according to the division number "K." c The classical computer 100 performs the tensor product calculation with the number of pairs of the initial value and the basis transformation, 4, for the calculation time of the tensor product. KThe doubled value is the post-processing time "T1".

[0089] The classical computer 100 also predicts the quantum computation time "T2" in the QPU. For example, the classical computer 100 predicts the time required to execute a subcircuit once based on the number of gates (depth) of each subcircuit. The classical computer 100 then predicts the time required to execute a subcircuit once based on the number of shots and the number of combinations of basis transformations "4 K The value obtained by multiplying this by 1 is the quantum computation time “T2”.

[0090] The classical computer 100 changes the scheduling method depending on whether "T1 + T2" exceeds a threshold value specified by the user. For example, if the threshold value is not exceeded, the classical computer 100 performs scheduling with priority on fidelity. If the threshold value is exceeded, the classical computer 100 performs scheduling with priority on the pair of initial values ​​and basis transformations (k=1,...,4 K ) jobs with the same k are scheduled preferentially.

[0091] The classical computer 100 instructs the quantum computer 200 to execute quantum computations according to the subcircuits of each QPU in the order of scheduling. After acquiring the measurement results from the quantum computations, the classical computer 100 performs the tensor product calculation when all results of the kth set are obtained. At this time, the timing of the tensor product calculation differs depending on whether fidelity-first scheduling or post-processing-first scheduling is adopted.

[0092] FIG. 7 is a diagram showing an example of the calculation timing of the tensor product for each scheduling method. C An example of calculation for "p = 2" is shown. In this case, for each subcircuit, quantum calculations are performed four times while changing the initialization circuit or basis conversion circuit. The result of the quantum calculation for the first subcircuit is "p 1,1 ,p 1,2 ,p 1,3 ,p 1,4 The result of the quantum computation of the second subcircuit is "p2,1 ,p 2,2 ,p 2,3 ,p 2,4 " "p 1,1 Quantum computation for calculating " and "p 2,1 The initial value of the quantum computation that calculates "p 1,2 Quantum computation for calculating " and "p 2,2 The initial value of the quantum computation that calculates "p 1,3 Quantum computation for calculating " and "p 2,3 The initial value of the quantum computation that calculates "p 1,4 Quantum computation for calculating " and "p 2,4 The initial value of the quantum computation that calculates "" forms a pair.

[0093] Two QPUs can be used. These QPUs are called "QPU1" and "QPU2." Post-processing is performed by a processor 101, such as a CPU, of the classical computer 100, or by a graphics controller 104 using a GPU.

[0094] If the sum of the post-processing time "T1" and the quantum computation time "T2" is less than or equal to a threshold, fidelity-first scheduling is performed. In fidelity-first scheduling, an upper limit is imposed on the occupancy time of one QPU. Therefore, the execution plan for quantum computation using each subcircuit is scheduled so that the fidelity is highest within the maximum execution time.

[0095] In the example of Figure 7, fidelity-first scheduling sets the following quantum computation execution plan: "QPU1" executes each quantum computation in the following order: the first quantum computation on the first subcircuit, the second quantum computation on the first subcircuit, the third quantum computation on the second subcircuit, and the fourth quantum computation on the second subcircuit. "QPU2" executes the quantum computations in the following order: the first quantum computation on the second subcircuit, the second quantum computation on the second subcircuit, the third quantum computation on the first subcircuit, and the fourth quantum computation on the first subcircuit.

[0096] In this case, the first quantum computation result of the second subcircuit on "QPU1" is "p 2,1 After " is obtained, the classical computer 100 executes "p 1,1 " and "p 2,1 After the tensor product is calculated, the classical computer 100 calculates the tensor product "p 1,2 " and "p 2,2 " and the tensor product "p 1,3 " and "p 2,3 " and the tensor product "p 1,4 " and "p 2,4 Finally, the classical computer 100 calculates the sum of the results of each tensor product.

[0097] If the sum of the post-processing time "T1" and the quantum computation time "T2" exceeds a threshold, post-processing priority scheduling is performed. In post-processing priority scheduling, the quantum computation execution plan is scheduled so that the tensor product calculation in post-processing can be executed early.

[0098] In the example in Figure 7, the post-processing-first scheduling sets the following quantum computation execution plan: "QPU1" executes each quantum computation in the following order: the first quantum computation on the first subcircuit, the second quantum computation on the first subcircuit, the third quantum computation on the first subcircuit, and the fourth quantum computation on the first subcircuit. "QPU2" executes the quantum computations in the following order: the first quantum computation on the second subcircuit, the second quantum computation on the second subcircuit, the third quantum computation on the second subcircuit, and the fourth quantum computation on the second subcircuit.

[0099] In this case, the first quantum computation results for each of the two subcircuits on "QPU1" and "QPU2" are "p 1,1 ", "p 2,1 After obtaining "p 1,1 " and "p 2,1The tensor product of p is calculated. The second quantum computation results for each of the two subcircuits on QPU1 and QPU2 are 1,2 ", "p 2,2 After obtaining "p 1,2 " and "p 2,2 The tensor product of p is calculated. The third quantum computation result for each of the two subcircuits on QPU1 and QPU2 is p 1,3 ", "p 2,3 After " is obtained, the classical computer 100 executes "p 1,3 " and "p 2,3 The tensor product of "p" and "p" is calculated. 1,4 ", "p 2,4 After " is obtained, the classical computer 100 executes "p 1,4 " and "p 2,4 Finally, the classical computer 100 calculates the sum of the results of each tensor product.

[0100] In post-processing-first scheduling, the period during which the quantum computer 200 performs quantum computation and the period during which the classical computer 100 performs post-processing overlap significantly. Compared to fidelity-first scheduling, post-processing-first scheduling accelerates the start timing of the tensor product computation by the amount of overlap in the execution periods. Therefore, by applying post-processing-first scheduling, the computation time required from the start of quantum computation to the completion of post-processing is reduced.

[0101] If the tensor product can be calculated in a short time, high-fidelity quantum computation can be performed by fidelity-first scheduling. FIG. 8 is a block diagram showing an example of the functions of each device for quantum computing. The terminal device 400 has a storage unit 410, a circuit partitioning unit 420, and a quantum computation request unit 430. The storage unit 410 stores job information 411 indicating the content of the quantum computation and computation results 412. The job information 411 includes information such as a quantum circuit 60, subcircuits 61a, 61b, and a computation time threshold 62. The quantum circuit 60 is a quantum computation model in which the procedure for obtaining a solution to a target problem through quantum computation is expressed using quantum gates. The subcircuits 61a, 61b, and are small-scale quantum circuits generated by partitioning the quantum circuit 60. The computation time threshold 62 is a computation time threshold used to determine the scheduling method. The computation time threshold 62 is set in advance by the user.

[0102] The circuit dividing unit 420 divides the quantum circuit 60 into multiple sub-circuits 61a, 61b, ... For example, the circuit dividing unit 420 acquires the quantum circuit 60 from the storage unit 410 and determines the division positions according to a predetermined rule. Then, the circuit dividing unit 420 divides the quantum circuit 60 at the division positions to generate multiple sub-circuits 61a, 61b, .... The circuit dividing unit 420 stores the generated multiple sub-circuits 61a, 61b, ... in the storage unit 410.

[0103] The quantum computation request unit 430 transmits a quantum computation request based on the job information 411 to the classical computer 100. Furthermore, upon receiving the quantum computation result from the classical computer 100, the quantum computation request unit 430 stores the computation result 412 in the storage unit 410.

[0104] The classical computer 100 has a quantum computing request acquisition unit 110, a post-processing time prediction unit 120, a quantum computing time prediction unit 130, a scheduling method determination unit 140, a post-processing priority scheduling unit 150, a fidelity priority scheduling unit 160, a quantum computing control unit 170, and a classical computing unit 180.

[0105] The quantum computing request acquisition unit 110 acquires a quantum computing request including job information 411 from the terminal device 400. Upon acquiring the quantum computing request, the quantum computing request acquisition unit 110 transmits the job information 411 to the post-processing time prediction unit 120 and the quantum computing time prediction unit 130.

[0106] The post-processing time prediction unit 120 predicts the post-processing time. For example, the post-processing time prediction unit 120 predicts the post-processing time based on the number of quantum bits “n” and the number of sub-circuits “n C ” then calculates the tensor product of the execution results when the sub-circuits are executed one by one. Then, the post-processing time prediction unit 120 calculates the tensor product of the execution results when the number of pairs of the initial value and the basis transformation is “4 K " based on the tensor product calculation time of 4 K Double that to the processing time.

[0107] The quantum computation time prediction unit 130 predicts the quantum computation time. For example, the quantum computation time prediction unit 130 predicts the execution time per execution of a sub-circuit from the number of gates and depth of each sub-circuit. The quantum computation time prediction unit 130 then adds the number of shots and the number of pairs of initial values ​​and basis transformations (4) to the predicted time per execution. K The value multiplied by " is the quantum computation time.

[0108] The scheduling method determination unit 140 determines the scheduling method based on the post-processing time and the quantum computation time. For example, if the sum of the processing time and the quantum computation time exceeds the computation time threshold 62, the scheduling method determination unit 140 determines the scheduling method to prioritize post-processing. Also, if the sum of the processing time and the quantum computation time is equal to or less than the computation time threshold 62, the scheduling method determination unit 140 determines the scheduling method to prioritize fidelity.

[0109] The post-processing priority scheduling unit 150 schedules the execution of sub-circuits with priority given to post-processing. For example, the post-processing priority scheduling unit 150 schedules a set of an initial value and a basis transformation (k=1, 2, . . . , 4 K ) for each subcircuit, the quantum computations for the same set of initial values ​​and basis transformations are scheduled to be executed as close as possible to each other in time slots.

[0110] The fidelity-first scheduling unit 160 schedules the execution of subcircuits with a fidelity priority. For example, the fidelity-first scheduling unit 160 schedules subcircuits with a fidelity priority, using NoTaDS, under the constraint that the QPU occupancy time is less than a predetermined value, so as to minimize the fidelity.

[0111] The quantum computing control unit 170 instructs the quantum computer to execute each sub-circuit according to the established schedule. When instructing the execution of a sub-circuit, the quantum computing control unit 170 adds to each sub-circuit an initialization circuit that sets an initial value and a basis conversion circuit according to the basis to be measured. Then, according to the schedule, the quantum computing control unit 170 specifies the QPU to be executed and instructs the quantum computer 200 to execute the sub-circuit. When the quantum computing control unit 170 receives the execution result from the quantum computer 200, it transmits the execution result to the classical computation unit 180.

[0112] When the classical computation unit 180 has obtained the execution results of the multiple sub-circuits corresponding to the combinations of the initial values ​​and the basis transformations, it calculates the tensor product of the execution results. Then, when the classical computation unit 180 has obtained the tensor products for all combinations of the initial values ​​and the basis transformations, it calculates the sum of these tensor products to obtain the quantum computation result. The classical computation unit 180 transmits the quantum computation result to the terminal device 400.

[0113] The functions of each element in the terminal device 400 or classical computer 100 shown in FIG. 8 can be realized, for example, by having the processor 101 execute a program module corresponding to that element.

[0114] Next, the procedure of the quantum computing assisted processing in the classical computer 100 that has received a quantum computing request will be described in detail. 9 is a flowchart showing an example of the procedure of the quantum computing assisted processing. The processing shown in FIG. 9 will be explained below in order of step number.

[0115] [Step S101] The quantum computing request acquisition unit 110 accepts a quantum computing job. For example, the quantum computing request acquisition unit 110 acquires a quantum computing request transmitted from the terminal device 400. Based on the job information included in the acquired quantum computing request, the quantum computing request acquisition unit 110 accepts a quantum computing job indicated in the job information. The quantum computing request acquisition unit 110 transmits the job information of the accepted quantum computing job to the post-processing time prediction unit 120 and the quantum computing time prediction unit 130.

[0116] [Step S102] The post-processing time prediction unit 120 predicts the execution time “T1” per tensor product. For example, the post-processing time prediction unit 120 predicts the execution time “T1” per tensor product based on the number of quantum bits “n” and the number of sub-circuits “n C " is generated in a pseudo-manner. The post-processing time prediction unit 120 calculates the tensor product of the execution results for each pseudo-generated sub-circuit, and measures the calculation time. The post-processing time prediction unit 120 sets the measured time as execution time "T1."

[0117] [Step S103] The post-processing time prediction unit 120 predicts the post-processing time "T2". For example, the post-processing time prediction unit 120 predicts "4 times" of the execution time "T2" measured in step S102. K " and the result is the post-processing time "T2".

[0118] [Step S104] The quantum computation time prediction unit 130 predicts the execution time "T3" of one shot in each subcircuit. For example, the quantum computation time prediction unit 130 predicts the execution time "T3" based on the execution time of each quantum gate included in each subcircuit and the depth of the subcircuit.

[0119] [Step S105] The quantum computation time prediction unit 130 predicts the quantum computation time "T4" by the quantum computer 200. For example, the quantum computation time prediction unit 130 adds the number of shots and the number of combinations of the initial value and the basis transformation "4" to the execution time "T3" predicted in step S104. K " is multiplied by the number of available QPUs, and the result is divided by the number of available QPUs. Then, the quantum computation time prediction unit 130 sets the result of the division (quotient) as the quantum computation time "T4".

[0120] [Step S106] The scheduling method determination unit 140 determines whether the time (T2+T4) obtained by adding the post-processing time "T2" and the quantum computation time "T4" exceeds the computation time threshold. If the computation time threshold is exceeded, the scheduling method determination unit 140 proceeds to step S107. If the computation time threshold is not exceeded, the scheduling method determination unit 140 proceeds to step S108.

[0121] [Step S107] The post-processing priority scheduling unit 150 performs post-processing priority scheduling. Details of the post-processing priority scheduling process will be described later (see FIG. 10). After that, the post-processing priority scheduling unit 150 proceeds to step S109.

[0122] [Step S108] The fidelity-first scheduling unit 160 performs fidelity-first scheduling under the constraint of the QPU occupancy time. For example, the fidelity-first scheduling unit 160 uses integer programming to find a schedule that maximizes fidelity while keeping the maximum QPU occupancy time of each subcircuit within a predetermined maximum execution time.

[0123] When the scheduling is completed, the quantum computation control unit 170 instructs the quantum computer 200 to perform quantum computation according to the established schedule. Then, when the quantum computation control unit 170 obtains the execution result of the quantum computation from the quantum computer 200, it transmits the execution result to the classical computation unit 180.

[0124] [Step S109] The classical computation unit 180 determines whether multiple execution results to be used for the tensor product calculation have been obtained. The execution results of each sub-circuit corresponding to a pair of an initial value and a basis transformation are used for the tensor product calculation. If multiple execution results to be used for the tensor product calculation have been obtained, the classical computation unit 180 proceeds to step S110. If multiple execution results to be used for the tensor product calculation have not been obtained, the classical computation unit 180 repeats the determination of step S109.

[0125] [Step S110] The classical computation unit 180 computes the tensor product of the multiple execution results to be computed. [Step S111] The classical computation unit 180 determines whether all quantum computations by the quantum computer 200 have been completed. If all quantum computations have been completed, the classical computation unit 180 proceeds to step S112. If there is an unfinished quantum computation for any sub-circuit, the classical computation unit 180 proceeds to step S109.

[0126] [Step S112] The classical computation unit 180 sums the tensor products. [Step S113] The classical computation unit 180 transmits the sum of the tensor products to the terminal device 400 as the quantum computation result.

[0127] In this way, an appropriate scheduling method is used to create an execution plan for the subcircuit. That is, if the sum of the post-processing time "T2" and the quantum computation time "T4" does not exceed the threshold, scheduling is performed to ensure high fidelity. On the other hand, if the sum of the post-processing time "T2" and the quantum computation time "T4" exceeds the threshold, scheduling is performed to start and finish post-processing as early as possible.

[0128] 10 is a flowchart showing an example of a procedure for post-processing priority scheduling. The process shown in FIG. 10 will be explained below in order of step number. [Step S201] The post-processing priority scheduling unit 150 calculates a set of an initial value and a basis transformation (k=1, . . . , 4 K For example, the post-processing priority scheduling unit 150 performs the processes of steps S202 to S209 for the "k"th set while counting up the value of "k" from "1".

[0129] [Step S202] The post-processing priority scheduling unit 150 performs a scheduling process for each sub-circuit (i=1, . . . , n C For example, the post-processing priority scheduling unit 150 performs the processes of steps S203 to S208 for the "i"-th sub-circuit while counting up the value of "i" from "1".

[0130] [Step S203] The post-processing priority scheduling unit 150 detects an available QPU in the quantum computer 200. For example, the quantum computation control unit 170 instructs the execution of quantum computation and manages QPUs that are currently performing quantum computation. The post-processing priority scheduling unit 150 obtains a list of QPUs that are not currently performing quantum computation (available QPUs) from the quantum computation control unit 170.

[0131] [Step S204] The post-processing priority scheduling unit 150 determines whether or not there is an available QPU. If there is an available QPU, the post-processing priority scheduling unit 150 proceeds to step S205. If there is no available QPU, the post-processing priority scheduling unit 150 proceeds to step S207.

[0132] [Step S205] The post-processing priority scheduling unit 150 assigns the "i"-th sub-circuit [k, i] to which the initialization circuit and basis conversion circuit according to the "k"-th pair have been added, to an available QPU.

[0133] [Step S206] The quantum computation control unit 170 instructs the quantum computer 200 to execute the subcircuit [k, i] using an available QPU. The quantum computer 200 then executes the subcircuit according to the instruction, and returns a probability amplitude based on the measurement results of the states of each quantum bit as the execution result. The quantum computation control unit 170 acquires the execution result from the quantum computer 200. Each time the quantum computation control unit 170 acquires an execution result, it transmits the acquired execution result to the classical computation unit 180.

[0134] After the quantum computation control unit 170 issues an instruction to execute the quantum computation, the post-processing priority scheduling unit 150 advances the process to step S209. [Step S207] The classical computation unit 180 determines whether multiple execution results to be used for the tensor product calculation have been obtained. The execution results of each sub-circuit corresponding to a pair of an initial value and a basis transformation are used for the tensor product calculation. If multiple execution results to be used for the tensor product calculation have been obtained, the classical computation unit 180 proceeds to step S208. If multiple execution results to be used for the tensor product calculation have not been obtained, the classical computation unit 180 proceeds to step S203.

[0135] [Step S208] The classical computation unit 180 calculates the tensor product. After the classical computation unit 180 calculates the tensor product, the post-processing priority scheduling unit 150 proceeds to step S203.

[0136] [Step S209] If the post-processing priority scheduling unit 150 has completed processing for all sub-circuits in the "k"-th set, the process proceeds to step S210.

[0137] [Step S210] The post-processing priority scheduling unit 150 calculates a set of initial values ​​and basis transformations (k=1, . . . , 4 K ) If the processing is completed for all, the post-processing priority scheduling processing is terminated.

[0138] In this way, efficient execution of the quantum computation represented in the original quantum circuit is possible. Although the embodiments have been described above, the configuration of each part shown in the embodiments can be replaced with other parts having similar functions. Also, any other components or processes may be added. Furthermore, any two or more configurations (features) of the above-described embodiments may be combined. [Explanation of symbols]

[0139] 1. Quantum computers 1a,1b qubit device 2 Quantum circuit 2a Division point 3. First Subcircuit 3a Termination section 4 Second Subcircuit 4a Starting end 5a,5b,... Group 6 The First Quantum Computation 6a Basis conversion circuit 7 The second quantum computation 7a Initialization circuit 8. Schedule 10. Information processing equipment 11 Storage section 12 Processing section

Claims

1. dividing the quantum circuit at a division point on a line indicating a gate operation for a quantum bit in the quantum circuit, thereby generating a first sub-circuit including a gate operation before the division point of a first quantum bit corresponding to the division point, and a second sub-circuit including a gate operation after the division point of the first quantum bit; generating a plurality of combinations each of which combines one of a plurality of basis transformations to be performed at the end portion of the first sub-circuit corresponding to the division location with one of a plurality of initial values ​​to be set at the start portion of the second sub-circuit corresponding to the division location; Selecting a set to be executed from the plurality of sets in order; causing a quantum computer to execute, in order from the selected set, a first quantum computation including execution of the first subcircuit and a basis conversion indicated in the selected set at the end portion of the first subcircuit, and a second quantum computation including initialization of the start portion of the second subcircuit to an initial value indicated in the selected set and execution of the second subcircuit; When an execution result of the first quantum computation and the second quantum computation for any of the plurality of pairs is obtained, a tensor product is calculated based on the obtained execution result; calculating a sum of tensor products for each of the plurality of sets; A quantum computing support program that causes a computer to perform processing.

2. In the process of causing the quantum computer to execute the first quantum computation and the second quantum computation, after instructing the quantum computer to execute one of the first quantum computation and the second quantum computation of a first set selected as an Nth (N is a natural number), when an available quantum bit device is detected among a plurality of quantum bit devices possessed by the quantum computer, instructing the quantum computer to execute the other of the first quantum computation or the second quantum computation of the first set; and instructing the quantum computer to execute the first quantum computation or the second quantum computation of the first set, when an available quantum bit device is detected from among the plurality of quantum bit devices after instructing the quantum computer to execute both the first quantum computation and the second quantum computation of the first set, which is selected as the (N+1)th set. The quantum computing support program according to claim 1.

3. calculating a first time required to perform the first quantum computation and the second quantum computation for the plurality of sets, and a second time required to perform a tensor product computation and a tensor product sum computation for each of the plurality of sets; When the first time and the second time satisfy a predetermined condition, a process of selecting a pair to be executed from the plurality of pairs in order, and a process of causing the quantum computer to execute the first quantum computation and the second quantum computation for each of the selected pairs in order. The quantum computing support program according to claim 1.

4. In the process of causing the quantum computer to execute the first quantum computation and the second quantum computation, when the sum of the first time and the second time exceeds a threshold, the sets to be executed are selected in order from the plurality of sets, and the quantum computer is caused to execute the first quantum computation and the second quantum computation corresponding to the selected sets in the order of the selected sets. The quantum computing support program according to claim 3.

5. if the first time and the second time do not satisfy the predetermined condition, determining a schedule for executing the first quantum computation and the second quantum computation for each of the plurality of sets using the plurality of quantum bit devices based on an error rate of each of the plurality of quantum bit devices included in the quantum computer; instructing the quantum computer to execute the first quantum computation and the second quantum computation for each of the plurality of sets according to the determined schedule; The quantum computing support program according to claim 3.

6. dividing the quantum circuit at a division point on a line indicating a gate operation for a quantum bit in the quantum circuit, thereby generating a first sub-circuit including a gate operation before the division point of a first quantum bit corresponding to the division point, and a second sub-circuit including a gate operation after the division point of the first quantum bit; generating a plurality of combinations each of which combines one of a plurality of basis transformations to be performed at the end portion of the first sub-circuit corresponding to the division location with one of a plurality of initial values ​​to be set at the start portion of the second sub-circuit corresponding to the division location; Selecting a set to be executed from the plurality of sets in order; causing a quantum computer to execute, in order from the selected set, a first quantum computation including execution of the first subcircuit and a basis conversion indicated in the selected set at the end portion of the first subcircuit, and a second quantum computation including initialization of the start portion of the second subcircuit to an initial value indicated in the selected set and execution of the second subcircuit; When an execution result of the first quantum computation and the second quantum computation for any of the plurality of pairs is obtained, a tensor product is calculated based on the obtained execution result; calculating a sum of tensor products for each of the plurality of sets; A quantum computing-assisted method in which processing is performed by a computer.

7. By dividing the quantum circuit at a division point on a line indicating a gate operation for a quantum bit in the quantum circuit, a first sub-circuit including a gate operation of a first quantum bit corresponding to the division point before the division point and a second sub-circuit including a gate operation of the first quantum bit after the division point are generated, and a plurality of sets are generated by combining one of a plurality of basis transformations performed at an end portion of the first sub-circuit corresponding to the division point with one of a plurality of initial values ​​set at a start portion of the second sub-circuit corresponding to the division point, and a set to be executed is sequentially selected from the plurality of sets. a processing unit that, in order from the selected set, causes a quantum computer to execute a first quantum computation including execution of the first subcircuit and a basis transformation indicated in the selected set at the end portion of the first subcircuit, and a second quantum computation including initialization of the start portion of the second subcircuit to an initial value indicated in the selected set and execution of the second subcircuit, and, when an execution result of the first quantum computation and the second quantum computation for any of the plurality of sets is obtained, calculates a tensor product based on the obtained execution result and calculates a sum of the tensor products for each of the plurality of sets; An information processing device having the above.

Citation Information

Patent Citations

  • Method and computer program for simulating quantum circuits

    JP2020534603A

  • Quantum Hybrid Computing

    JP2021530783A

  • Integration of Quantum Processing Devices with Distributed Computers

    US20170223143A1

  • Distributed Quantum Computing System

    US20180365585A1