Information processing program, information processing method, and information processing device
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- FUJITSU LTD
- Filing Date
- 2024-11-11
- Publication Date
- 2026-05-21
AI Technical Summary
Conventional techniques face difficulties in generating quantum circuits that accurately represent the action of time evolution operators with minimized operations, leading to large quantum circuit sizes and depths, which can result in errors and prolonged computation times, making it challenging to maintain accuracy in quantum many-body simulations.
The method involves generating a first quantum circuit with a reduced depth using local compilation, and combining multiple such circuits to represent the action of time evolution operators over longer periods, thereby reducing the overall quantum circuit size and depth.
This approach enables the generation of quantum circuits that efficiently simulate time evolution operators with reduced operations, maintaining accuracy in quantum many-body simulations and reducing computational resources and time.
Smart Images

Figure 2026084527000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing program, an information processing method, and an information processing apparatus.
Background Art
[0002] Conventionally, in fields such as material development or drug discovery research, when performing quantum many-body simulation, a quantum circuit representing the action of the time evolution operator is generated. Here, in order to maintain the accuracy of quantum chemical calculations in quantum many-body simulation, it is desirable to reduce the number of operations in the quantum circuit. For example, when the number of quantum gates is large and the number of operations in the quantum circuit is large, errors generated in the qubits may accumulate for each quantum gate due to environmental noise, interference from other qubits, and noise during qubit operation.
[0003] As prior art, for example, there is one that locally renders non-local quantum dynamics. Also, for example, there is a technique for realizing the effect of imaginary time evolution by real-time unitary evolution related to the Hamiltonian of the system. Also, for example, there is a technique for implementing the real-time evolution unitary of the Hamiltonian. Also, for example, there is a technique for encoding a computational problem into a problem Hamiltonian.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Patent Document 2
Patent Document 3
Patent Document 4
Summary of the Invention
[0005] However, conventional techniques make it difficult to generate quantum circuits that represent the action of time evolution operators in a way that minimizes the number of operations. For example, when generating quantum circuits that accurately represent the action of time evolution operators using the Trotter decomposition method, the size or depth of the quantum circuit tends to be large, making it impossible to generate a quantum circuit that minimizes the number of operations. Size refers to, for example, the number of quantum gates. Depth refers to, for example, the number of groups of parallelizable quantum gates.
[0006] In one aspect, the present invention aims to generate quantum circuits that represent the action of time evolution operators in a manner that reduces the number of operations. [Means for solving the problem]
[0007] According to one embodiment, an information processing program, information processing method, and information processing device are proposed, in which a quantum circuit representing the action of a time evolution operator for a first time period is taken as the first object, and a first quantum circuit representing the action of the time evolution operator for a first time period, with a smaller depth than the first object quantum circuit, is generated by a local compilation method, and a second quantum circuit representing the action of the time evolution operator for a second time period, with a smaller depth than the second object quantum circuit, is generated by combining two or more of the generated first quantum circuits, with a quantum circuit representing the action of a time evolution operator for a second time period, which is longer than the first object quantum circuit, is generated by the local compilation method. [Effects of the Invention]
[0008] According to one embodiment, it becomes possible to generate a quantum circuit that expresses the action of a time evolution operator in a way that reduces the number of operations. [Brief explanation of the drawing]
[0009] [Figure 1]Figure 1 is an explanatory diagram showing one embodiment of the information processing method according to the embodiment. [Figure 2] Figure 2 is an explanatory diagram showing an example of the information processing system 200. [Figure 3] Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. [Figure 4] Figure 4 is a block diagram showing an example of the hardware configuration of the computing device 201. [Figure 5] Figure 5 is a block diagram showing an example of the functional configuration of the information processing device 100. [Figure 6] Figure 6 is an explanatory diagram (part 1) showing an example of using the ETS method. [Figure 7] Figure 7 is an explanatory diagram (part 2) showing an example of using the ETS method. [Figure 8] Figure 8 is an explanatory diagram (part 3) showing an example of using the ETS method. [Figure 9] Figure 9 is an explanatory diagram illustrating an example of setting the compilation size L~_j. [Figure 10] Figure 10 is an explanatory diagram illustrating an example of performing a long-running quantum many-body simulation. [Figure 11] Figure 11 is an explanatory diagram (part 1) showing an example of using the BTS method. [Figure 12] Figure 12 is an explanatory diagram (part 2) showing an example of using the BTS method. [Figure 13] Figure 13 is an explanatory diagram (part 3) showing an example of using the BTS method. [Figure 14] Figure 14 is an explanatory diagram (part 1) showing an example of the effects when using the ETS method versus the BTS method. [Figure 15] Figure 15 is an explanatory diagram (part 2) showing an example of the effects when using the ETS method versus the BTS method. [Figure 16] Figure 16 is an explanatory diagram showing a first embodiment of the information processing device 100. [Figure 17]FIG. 17 is an explanatory diagram (part 1) showing an example of verifying the accuracy when the ETS method is used in the first embodiment. [Figure 18] FIG. 18 is an explanatory diagram (part 2) showing an example of verifying the accuracy when the ETS method is used in the first embodiment. [Figure 19] FIG. 19 is an explanatory diagram (part 1) showing an example of verifying the accuracy when the BTS method is used in the first embodiment. [Figure 20] FIG. 20 is an explanatory diagram (part 2) showing an example of verifying the accuracy when the BTS method is used in the first embodiment. [Figure 21] FIG. 21 is an explanatory diagram showing an example of verifying the depth of the variational quantum circuit. [Figure 22] FIG. 22 is an explanatory diagram showing the second embodiment of the information processing apparatus 100. [Figure 23] FIG. 23 is an explanatory diagram showing an example of another method for comparison with ML-LVQC. [Figure 24] FIG. 24 is an explanatory diagram (part 1) showing an example of verifying the cost in the second embodiment. [Figure 25] FIG. 25 is an explanatory diagram (part 2) showing an example of verifying the cost in the second embodiment. [Figure 26] FIG. 26 is an explanatory diagram (part 1) showing an example of verifying the accuracy when the ETS method is used in the second embodiment. [Figure 27] FIG. 27 is an explanatory diagram (part 2) showing an example of verifying the accuracy when the ETS method is used in the second embodiment. [Figure 28] FIG. 28 is a flowchart showing an example of the first generation processing procedure. [Figure 29] FIG. 29 is a flowchart showing an example of the first calculation processing procedure. [Figure 30] FIG. 30 is a flowchart showing an example of the second generation processing procedure. [Figure 31] FIG. 31 is a flowchart showing an example of the second calculation processing procedure.
MODE FOR CARRYING OUT THE INVENTION
[0010] Embodiments of the information processing program, information processing method, and information processing apparatus according to the present invention will be described in detail below with reference to the drawings.
[0011] (An embodiment of the information processing method according to the embodiment) Figure 1 is an explanatory diagram showing one embodiment of the information processing method according to the embodiment. The information processing device 100 is a computer for generating quantum circuits that represent the action of time evolution operators. The information processing device 100 is, for example, a server or a PC (Personal Computer).
[0012] In the following explanation, for convenience, when a subscript is added to a specific character, it may be written as "(specific character)_(subscript)". Also, for convenience, when a superscript is added to a specific character, it may be written as "(specific character)^(superscript)". Also, for convenience, when a "~" is added directly above a specific character, it may be written as "(specific character)~".
[0013] Traditionally, quantum many-body simulations have been desirable in fields such as materials development and drug discovery research. A quantum many-body system is a physical system containing multiple quantum mechanical particles. Examples of quantum many-body systems include molecules and solid crystals. The memory usage required when performing quantum many-body simulations increases exponentially with the size of the physical system. For this reason, it is preferable to perform quantum many-body simulations using actual quantum computers.
[0014] Here, when performing quantum many-body simulations, it is desirable to generate quantum circuits that represent the action of time evolution operators. Time evolution operators simulate the time evolution of quantum states over a given time. For example, the time evolution of a quantum state in a quantum many-body system of size L described by the Hamiltonian H^(L) is defined by the following equation (1) using the time evolution operator exp(-iτH^(L)).
[0015]
number
[0016] Here, in order to maintain the accuracy of specific computational processes such as quantum chemical calculations or material property calculations in quantum many-body simulations, it is desirable to reduce the number of operations in quantum circuits that represent the action of time evolution operators. Operations are, for example, operations on qubits. For example, the number of operations in a quantum circuit depends on the size or depth of the quantum circuit. Size is, for example, the number of quantum gates that make up the quantum circuit. Depth is, for example, the number of groups of parallelizable quantum gates.
[0017] For example, if a quantum circuit is large in scale and has many quantum gates, the number of operations in the quantum circuit increases, and errors occurring in the qubits accumulate for each quantum gate, making it impossible to maintain the accuracy of a particular computation. Errors can be caused by environmental noise, interference from other qubits, and noise during qubit operation. Also, for example, if the depth of the quantum circuit is large and the number of operations in the quantum circuit is large, the computation time in the quantum circuit becomes long, and it may not be possible to satisfy the coherence time limit, making it impossible to maintain the accuracy of a particular computation. Coherence time represents the limit of time during which quantum properties can be maintained in a qubit.
[0018] Thus, the more operations performed in a quantum circuit, the more difficult it becomes to maintain the accuracy of a particular computation. Therefore, it is desirable to reduce the number of operations in a quantum circuit to make it easier to maintain the accuracy of a particular computation. In other words, it is desirable to reduce the size or depth of the quantum circuit that represents the action of the time evolution operator.
[0019] In particular, in quantum computers with hundreds of qubits, correcting errors that occur in qubits is difficult, so it is desirable to reduce the number of operations in quantum circuits and make it easier to maintain the accuracy of specific computational processes. Quantum computers with hundreds of qubits include NISQ (Noisy Intermediate Scale Quantum Computer) and Early-FTQC (Fault-Tolerant Quantum Computer).
[0020] However, conventional techniques make it difficult to generate quantum circuits that represent the action of the time evolution operator in a way that minimizes the number of calculations. For example, there is a method called Trotter decomposition that generates quantum circuits that represent the action of the time evolution operator. For example, when trying to generate a quantum circuit that accurately represents the action of the time evolution operator using the Trotter decomposition method, the size or depth of the quantum circuit tends to increase. For this reason, for example, it may not be possible to generate a quantum circuit that accurately represents the action of the time evolution operator in a way that minimizes the number of calculations using the Trotter decomposition method.
[0021] Furthermore, there is a technique called local compilation, which generates quantum circuits that represent the action of time evolution operators. Examples of local compilation techniques include LVQC (Local Variational Quantum Compilation) and LSVQC (Local Subspace Variational Quantum Compilation). For example, LVQC can be found in Reference 1 below. For example, LSVQC can be found in Reference 2 below.
[0022] Reference 1: Mizuta, Kaoru, et al. “Local variational quantum compilation of large-scale hamiltonian dynamics.” PRX Quantum 3.4 (2022): 040302.
[0023] Reference 2: Kanasugi, Shota, et al. “Subspace-Based Local Compilation of Variational Quantum Circuits for Large-Scale Quantum Many-Body Simulation.” arXiv preprint arXiv:2407.14163 (2024).
[0024] For example, in the local compilation method, a quantum circuit representing the action of the time evolution operator is generated for a subset of a quantum many-body of size L~ that is smaller than size L, and this is applied to the quantum many-body of size L. Specifically, a quantum circuit V(θ) representing the action of the time evolution operator is generated by minimizing a cost function that represents the difference between the quantum circuit U representing the action of the time evolution operator and a relatively small quantum circuit V(θ). U can be obtained, for example, by the Trotter decomposition method. The cost function is defined, for example, by equation (2) below. U is defined, for example, by equation (3) below. When the value of the cost function is 0, equation (4) below holds.
[0025]
number
[0026]
number
[0027]
number
[0028] Specifically, θ is optimized to θ^* by minimizing a cost function that represents the difference between the Trotter circuit U^(L~)_trot of size L~ and depth d_trot and V^(L~)(θ) of size L~ and depth d. As the accuracy with which the Trotter circuit U^(L~)_trot represents the action of the time evolution operator increases, the depth d_trot tends to increase. U^(L~)_trot is defined by the following equation (5). V^(L~)(θ^*) is defined by the following equation (6). d < d_trot. The optimized θ^* is defined by the following equation (7).
[0029]
Number
[0030]
Number
[0031] [[ID=廿一]]
Number
[0032] By the way, the local compilation method is effective for τ in the short-time region corresponding to the range of L ≥ L~ according to the following equation (8), but is not effective for τ greater than τ_max corresponding to L = L~, and the quantum circuit V(θ) cannot be generated. v_(LR) is the Lieb-Robinson velocity. L~_0 is a constant. L~_0 depends on the depth of the quantum circuit and the Hamiltonian.
[0033]
Number
[0034] On the other hand, in practical applications such as quantum chemical calculations or materials property calculations, it is sometimes desirable to simulate the time evolution of quantum states over relatively long periods of time Nτ. For example, Nτ > τ_max. However, as mentioned above, the local compilation method is not effective for Nτ > τ_max and cannot generate a quantum circuit V(θ) for Nτ.
[0035] Here, as shown in equation (9) below, the action of the time evolution operator on Nτ is equivalent to repeatedly applying the time evolution operator on short-time domain τ, which can be generated by the local compilation method, N times. Therefore, in order to simulate the time evolution of the quantum state over a relatively long period of Nτ, we apply V(θ^*) defined by equation (10) below N times.
[0036]
number
[0037]
number
[0038] Therefore, when simulating the time evolution of a quantum state over a relatively long period of Nτ, the ratio of the number of quantum gates to the depth of the quantum circuit is O(N). Furthermore, the processing time required to simulate the time evolution of a quantum state over a relatively long period of Nτ is O(N^2). Thus, as Nτ increases, the ratio of the number of quantum gates to the depth of the quantum circuit increases, and the processing time required to simulate the time evolution of a quantum state over Nτ increases.
[0039] Therefore, in this embodiment, we will describe an information processing method that can generate a quantum circuit that represents the action of a time evolution operator in such a way that the number of operations is reduced. Specifically, this information processing method makes it possible to generate a quantum circuit that represents the action of a time evolution operator in such a way that the size or depth of the quantum circuit is reduced.
[0040] In Figure 1, the information processing device 100 stores a first time interval. The first time interval is, for example, τ. The first time interval is, for example, included in the short-time region described above. The information processing device 100 stores a rule for identifying a second time interval that is longer than the first time interval. The second time interval is, for example, a multiple of the first time interval. Specifically, the second time interval is twice the first time interval, which is 2τ. The information processing device 100 may also store the second time interval.
[0041] (1-1) The information processing device 100 obtains a quantum circuit 101 that represents the action of the time evolution operator for the first time period. The information processing device 100 obtains the quantum circuit 101 by generating it, for example, using the Trotter decomposition method. The information processing device 100 may also obtain the quantum circuit 101 by receiving it from another computer, for example. The information processing device 100 may also obtain the quantum circuit 101 by generating it using a method other than the Trotter decomposition method, for example. Specifically, the information processing device 100 obtains U^(L~_1)_trot, which is the quantum circuit 101 that represents the action of the time evolution operator for the first time period τ. The depth of U^(L~_1)_trot is d_trot.
[0042] (1-2) The information processing device 100 takes quantum circuit 101 as the first object and generates a first quantum circuit 110 that is less deep than the quantum circuit 101, using a local compilation method to represent the action of the time evolution operator for the first time period. The first quantum circuit 110 has parameters. For example, the information processing device 100 prepares the first quantum circuit 110 with its parameters initialized. For example, the information processing device 100 generates the first quantum circuit 110 that represents the action of the time evolution operator for the first time period by updating the parameters of the first quantum circuit 110 to minimize the value of the cost function that represents the difference between quantum circuit 101 and the first quantum circuit 110. Specifically, the information processing device 100 prepares V^(L~_1)(θ_1) which becomes the first quantum circuit 110. Specifically, the information processing device 100 generates V^(L~_1)(θ^*_1), which is the first quantum circuit 110 representing the action of the time evolution operator for the first time τ, by updating the parameter θ_1 to θ^*_1 in order to minimize the value of the cost function. The depth of V^(L~_1)(θ^*_1) is d, which is less than d_trot.
[0043] (1-3) The information processing device 100 combines two or more of the generated first quantum circuits 110 to obtain a quantum circuit 102 that represents the action of the time evolution operator for a second time period longer than the first time period. The second time period is, for example, 2τ. Specifically, the information processing device 100 generates V^(L~_1)(θ^*_1) by extending V^(L~_1)(θ^*_1) to size L~_2 based on the parameter θ^*_1. Specifically, the information processing device 100 obtains (V^(L~_1)(θ^*_1))^2, which is a quantum circuit 102 that represents the action of the time evolution operator for a second time period of 2τ, by linking two of the generated V^(L~_2)(θ^*_1).
[0044] (1-4) The information processing device 100 uses quantum circuit 102 as the second object and generates a second quantum circuit 120 that is shallower than the quantum circuit 102, using a local compilation method to represent the action of the time evolution operator for the second time period. The second quantum circuit 120 has parameters. For example, the information processing device 100 prepares a second quantum circuit 120 with initialized parameters. For example, the information processing device 100 generates a second quantum circuit 120 that represents the action of the time evolution operator for the second time period by updating the parameters of the second quantum circuit 120 to minimize the value of the cost function that represents the difference between quantum circuit 102 and the second quantum circuit 120. Specifically, the information processing device 100 prepares V^(L~_2)(θ_2) which becomes the second quantum circuit 120. Specifically, the information processing device 100 generates a second quantum circuit 120, V^(L~_2)(θ^*_2), which represents the action of the time evolution operator over a second time period of 2τ, by updating the parameter θ_2 to θ^*_2 in order to minimize the value of the cost function. The depth of V^(L~_2)(θ^*_2) is d, which is less than d_trot.
[0045] As a result, the information processing device 100 can generate quantum circuits that represent the action of time evolution operators in a way that reduces the number of operations. Compared to methods such as Trotter decomposition, the information processing device 100 can suppress the size or depth of the quantum circuits, thereby reducing the number of operations. Specifically, the information processing device 100 can generate a first quantum circuit 110, V^(L~_1)(θ^*_1), with a depth of d. Furthermore, the information processing device 100 can generate a second quantum circuit 120, V^(L~_2)(θ^*_2), with a depth of d.
[0046] Therefore, the information processing device 100 can, for example, facilitate the efficient implementation of quantum many-body simulations. The information processing device 100 can, for example, reduce the number of operations in quantum circuits that represent the action of time evolution operators, and maintain the accuracy of specific computational processes such as quantum chemical calculations or material property calculations in quantum many-body simulations.
[0047] Furthermore, if it is desired to simulate the time evolution of a quantum state over a relatively long period of time Nτ, the information processing device 100 can utilize a second quantum circuit 120 that represents the action of a time evolution operator over a second period of time 2τ, which is greater than τ. Specifically, the information processing device 100 can simulate the time evolution of a quantum state over a relatively long period of time Nτ by applying the second quantum circuit 120 N / 2 times.
[0048] Therefore, the information processing device 100 can reduce the number of quantum gates / depth of the quantum circuit compared to, for example, simulating the time evolution of a quantum state over a relatively long period of Nτ by repeatedly applying a quantum circuit representing the action of a time evolution operator over τ N times. Similarly, the information processing device 100 can reduce the processing time required when simulating the time evolution of a quantum state over a relatively long period of Nτ.
[0049] Here, we have described the case in which the information processing device 100 generates one second quantum circuit 120, but it is not limited to this case. For example, the information processing device 100 may perform a predetermined number of operations to generate a new second quantum circuit 120 that represents the action of a time evolution operator for a longer period of time than the second quantum circuit 120 generated immediately before. Specific examples of this case will be described later using Figures 5 to 9.
[0050] Here, we have described a case in which the information processing device 100 generates a second quantum circuit 120 of size L~_2 by extending a first quantum circuit 110 of size L~_1 to size L~_2 and then combining them, but it is not limited to this case. For example, the information processing device 100 may generate a second quantum circuit 120 of size L~_2 by generating and combining a first quantum circuit 110 of size L~_2. Specifically, the information processing device 100 generates a quantum circuit 101 of size L~_2 and generates a first quantum circuit 110 of size L~_2 using the Trotter decomposition method.
[0051] Here, we have described the case where the functions of the information processing device 100 are realized by a single computer, but this is not the only case. For example, the functions of the information processing device 100 may be realized through the collaboration of multiple computers. For example, the functions of the information processing device 100 may be realized on the cloud.
[0052] In the following explanation, the method used by the information processing device 100 to generate quantum circuits that represent the action of time evolution operators may be referred to as "multi-level local compilation."
[0053] (An example of information processing system 200) Next, using Figure 2, we will describe an example of an information processing system 200 to which the information processing device 100 shown in Figure 1 is applied.
[0054] Figure 2 is an explanatory diagram showing an example of an information processing system 200. In Figure 2, the information processing system 200 includes an information processing device 100, a computing device 201, and one or more client devices 202.
[0055] In the information processing system 200, the information processing device 100 and the computing device 201 are connected via a wired or wireless network 210. The network 210 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet. Also in the information processing system 200, the information processing device 100 and the client device 202 are connected via a wired or wireless network 210.
[0056] The information processing device 100 is a computer for generating quantum circuits that represent the action of time evolution operators in a way that minimizes the number of operations. The information processing device 100 receives, for example, a processing request that asks to solve a problem. The problem involves performing a specific computational process, such as quantum chemical calculations or material property calculations in a relatively long-running quantum many-body simulation. The processing request includes, for example, information about the problem. The processing request includes, for example, the definition of a plurality of qubits to represent a quantum state.
[0057] Specifically, the information processing device 100 acquires processing requests by receiving them from other computers. These other computers are, for example, client devices 202. Specifically, the information processing device 100 acquires processing requests by accepting input of processing requests based on user operation input. In response to a processing request, the information processing device 100 generates a quantum circuit that represents the action of a time evolution operator used when solving the target problem, in such a way that the number of operations and quantum gates are minimized.
[0058] The information processing device 100 generates K quantum circuits V^(L~_j)(θ^*_j) that represent the action of different time units in the range from τ to Nτ, as shown in (2-1) and (2-2) below. j = 1, 2, ..., K. Each of the K quantum circuits has a depth d. d is smaller than the depth d_trot of a quantum circuit of size L~_1 that represents the action of a time unit for τ, for example, using the Trotter decomposition method.
[0059] (2-1) For example, for j=1, the information processing device 100 generates a quantum circuit V^(L~_1)(θ^*_1) with depth d that represents the action of the time evolution operator over τ. Specifically, the information processing device 100 obtains a quantum circuit of size L~_1 and depth d_trot that represents the action of the time evolution operator over τ using the Trotter decomposition method and sets it as the target circuit. Specifically, the information processing device 100 prepares a quantum circuit V^(L~_1)(θ_1) with size L~_1 and depth d. Specifically, the information processing device 100 updates θ_1 to θ^*_1 so as to minimize the value of the cost function that represents the difference between the set target circuit and the prepared quantum circuit V^(L~_1)(θ_1). As a result, the information processing device 100 generates a quantum circuit V^(L~_1)(θ^*_1) that represents the action of the time evolution operator over τ.
[0060] (2-2) For each of j=2,3,···K, the information processing device 100 generates a quantum circuit V^(L~_j)(θ^*_j) with depth d that represents the action of the time evolution operator over jτ or (2^(j-1))τ. Specifically, the information processing device 100 prepares a quantum circuit with a depth greater than d that represents the action of the time evolution operator over jτ or (2^(j-1))τ, based on the generated quantum circuit, and sets it as the target circuit. Specifically, the information processing device 100 prepares a quantum circuit V^(L~_j)(θ_j) with size L~_j and depth d. Specifically, the information processing device 100 updates θ_j to θ^*_j to minimize the value of the cost function that represents the difference between the set target circuit and the prepared quantum circuit V^(L~_j)(θ_j). As a result, the information processing device 100 generates a quantum circuit V^(L~_j)(θ^*_j) that represents the action of the time evolution operator over jτ or (2^(j-1))τ.
[0061] The information processing device 100 works in conjunction with the computer 201 to perform specific computational processes in order to solve the target problem, utilizing K quantum circuits that represent the action of time evolution operators. The information processing device 100 controls the computer 201, for example, to share all or part of the specific computational process. Specifically, the information processing device 100 controls the computer 201 to share the quantum computation in the specific computational process. In this way, the information processing device 100 can work in conjunction with the computer 201 to perform specific computational processes and solve the target problem.
[0062] The information processing device 100 outputs the result of solving the target problem. The information processing device 100 may, for example, send the result of solving the target problem to another computer. The other computer may be, for example, a client device 202. The information processing device 100 may also output the result of solving the target problem in a way that allows a user to refer to it. This makes the result of solving the target problem available externally. The information processing device 100 may be, for example, a server or a PC.
[0063] The computing device 201 is a computer for performing quantum computations. The computing device 201 handles all or part of a specific computational process according to the control of the information processing device 100. The computing device 201 could, for example, be a classical computer that runs a quantum simulator. In this case, the computing device 201 could be, for example, a server or a PC. Alternatively, the computing device 201 could be, for example, an actual quantum computer.
[0064] The client device 202 is a computer used by a user who wishes to perform a specific computational process. Based on the user's input, the client device 202 generates a processing request that asks to solve a target problem and sends it to the information processing device 100. The client device 202 receives the result of solving the target problem from the information processing device 100. The client device 202 outputs the result of solving the target problem so that the user can refer to it. The client device 202 may be, for example, a PC, a tablet terminal, or a smartphone.
[0065] This section describes a case where the information processing device 100 and the computing device 201 are different devices, but it is not limited to this case. For example, the information processing device 100 may have the functionality of a computing device 201 and may operate as a computing device 201. Similarly, this section describes a case where the information processing device 100 and the client device 202 are different devices, but it is not limited to this case. For example, the information processing device 100 may have the functionality of a client device 202 and may operate as a client device 202.
[0066] (Example of hardware configuration of information processing device 100) Next, an example of the hardware configuration of the information processing device 100 will be described using Figure 3.
[0067] Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. In Figure 3, the information processing device 100 includes a CPU (Central Processing Unit) 301, memory 302, network interface 303, recording medium interface 304, and recording medium 305. Each component is connected by a bus 300.
[0068] Here, the CPU 301 is responsible for the overall control of the information processing device 100. The memory 302 includes, for example, ROM (Read Only Memory), RAM (Random Access Memory), and flash ROM. Specifically, for example, flash ROM and ROM store various programs, and RAM is used as the work area for the CPU 301. Programs stored in memory 302 are loaded into the CPU 301, causing the CPU 301 to execute the coded processes.
[0069] The network interface 303 is connected to network 210 via a communication line, and then connects to other computers via network 210. The network interface 303 manages the internal interface with network 210 and controls the input and output of data from other computers. The network interface 303 is, for example, a modem or a LAN adapter.
[0070] The recording medium interface (I / F) 304 controls the reading and writing of data to the recording medium 305 according to the control of the CPU 301. The recording medium interface (I / F) 304 is, for example, a disk drive, an SSD (Solid State Drive), or a USB (Universal Serial Bus) port. The recording medium 305 is a non-volatile memory that stores the data written under the control of the recording medium interface (I / F) 304. The recording medium 305 is, for example, a disk, semiconductor memory, or USB memory. The recording medium 305 may be detachable from the information processing device 100.
[0071] In addition to the components described above, the information processing device 100 may also have, for example, a keyboard, mouse, display, printer, scanner, microphone, speaker, etc. Furthermore, the information processing device 100 may have multiple recording medium interfaces 304 and recording mediums 305. Alternatively, the information processing device 100 may not have recording medium interfaces 304 and recording mediums 305.
[0072] (Example of hardware configuration for computing device 201) When the computing device 201 is a classical computer that starts up a quantum simulator, the hardware configuration example of the computing device 201 is specifically the same as the hardware configuration example of the information processing device 100 shown in Figure 3, so a detailed explanation is omitted.
[0073] On the other hand, it is possible that the computing device 201 is a physical quantum computer. Here, using Figure 4, we will explain an example of the hardware configuration of the computing device 201 when it is a physical quantum computer.
[0074] Figure 4 is a block diagram showing an example of the hardware configuration of the computing device 201. In Figure 4, the computing device 201 includes a CPU 401, memory 402, network interface 403, recording medium interface 404, and recording medium 405. The computing device 201 further includes a computing enclosure interface 406 and a computing enclosure 407. Each component is connected by a bus 400.
[0075] Here, the CPU 401 is responsible for the overall control of the computing device 201. The memory 402 includes, for example, ROM, RAM, and flash ROM. Specifically, for example, flash ROM and ROM store various programs, and RAM is used as the work area for the CPU 401. Programs stored in memory 402 are loaded into the CPU 401, causing the CPU 401 to execute the coded processes.
[0076] The network interface 403 is connected to network 210 via a communication line, and then connects to other computers via network 210. The network interface 403 manages the internal interface with network 210 and controls the input and output of data from other computers. The network interface 403 is, for example, a modem or a LAN adapter.
[0077] The recording medium interface (I / F) 404 controls the reading and writing of data to the recording medium (SSD) 405 according to the control of the CPU 401. The recording medium interface (I / F) 404 is, for example, a disk drive, SSD, or USB port. The recording medium (SSD) 405 is a non-volatile memory that stores the data written under the control of the recording medium interface (I / F) 404. The recording medium (SSD) 405 is, for example, a disk, semiconductor memory, or USB memory. The recording medium (SSD) 405 may be detachable from the computing device (GMO) 201.
[0078] The computing chassis interface 406 controls access to the computing chassis 407 according to the control of the CPU 401. The computing chassis interface 406 uses a microwave pulse generator to convert the output signal from the CPU 401 into an input signal for the computing chassis 407 and transmits it to the computing chassis 407. The computing chassis interface 406 uses a microwave pulse demodulator to convert the output signal from the computing chassis 407 into an input signal for the CPU 401 and transmits it to the CPU 401. The computing chassis 407 is a computing device equipped with one or more qubit chips cooled to an extremely low temperature of 10 mK. A qubit chip represents, for example, a logical qubit. The computing chassis 407 uses one or more qubit chips to perform a predetermined operation in response to an input signal and outputs an output signal corresponding to the result of the predetermined operation.
[0079] In addition to the components described above, the computing device 201 may also have, for example, a keyboard, mouse, display, printer, scanner, microphone, speaker, etc. Furthermore, the computing device 201 may have multiple recording medium interfaces 404 and 405. Alternatively, the computing device 201 may not have recording medium interfaces 404 and 405. Also, the qubit chip in the computing chassis 407 may be controlled by a method other than microwaves. The qubit chip in the computing chassis 407 may, for example, implement optical qubits.
[0080] (Example hardware configuration for client device 202) The hardware configuration example for client device 202 is specifically the same as the hardware configuration example for information processing device 100 shown in Figure 3, so a detailed explanation is omitted.
[0081] (Example of the functional configuration of the information processing device 100) Next, an example of the functional configuration of the information processing device 100 will be described using Figure 5.
[0082] Figure 5 is a block diagram showing an example of the functional configuration of the information processing device 100. The information processing device 100 includes a storage unit 500, an acquisition unit 501, a first generation unit 502, a second generation unit 503, an arithmetic unit 504, and an output unit 505.
[0083] The storage unit 500 is implemented by a storage area such as the memory 302 or recording medium 305 shown in Figure 3. The following description will focus on the case where the storage unit 500 is included in the information processing device 100, but is not limited to this case. For example, the storage unit 500 may be included in a device different from the information processing device 100, and the contents of the storage unit 500 may be accessible from the information processing device 100.
[0084] The acquisition unit 501 to the output unit 505 function as an example of a control unit. Specifically, the acquisition unit 501 to the output unit 505 realize their functions, for example, by having the CPU 301 execute a program stored in a storage area such as the memory 302 or recording medium 305 shown in Figure 3, or by using the network I / F 303. The processing results of each functional unit are stored in a storage area such as the memory 302 or recording medium 305 shown in Figure 3.
[0085] The memory unit 500 stores various information that is referenced or updated in the processing of each functional unit. The memory unit 500 stores, for example, an algorithm that implements the Trotter decomposition technique. The memory unit 500 stores, for example, an algorithm that implements the local compilation technique. The memory unit 500 stores, for example, a mathematical formula representing the local compilation theorem that makes it possible to identify the short-time region in which the local compilation technique is effective. The formula is defined, for example, by equation (8) above.
[0086] The memory unit 500 stores, for example, a plurality of quantum circuits that represent the action of a time evolution operator for a predetermined time period included in the short-time domain, which are the target circuits in the local compilation method. Specifically, the memory unit 500 stores the structure of the quantum circuits and the parameters of the quantum circuits. The target quantum circuits are generated, for example, by the first generation unit 502. The target quantum circuits are generated, for example, by the second generation unit 503.
[0087] The memory unit 500 stores, for example, a plurality of quantum circuits, each representing the action of a time evolution operator for a predetermined time period included in the short-time domain, generated by a local compilation method. Specifically, the memory unit 500 stores the structure of the quantum circuit and the parameters of the quantum circuit. The quantum circuit is generated, for example, by a first generator 502 using a local compilation method. The quantum circuit is generated, for example, by a second generator 503 using a local compilation method.
[0088] The acquisition unit 501 acquires various types of information used in the processing of each functional unit. The acquisition unit 501 stores the acquired information in the storage unit 500 or outputs it to each functional unit. The acquisition unit 501 may also output the information stored in the storage unit 500 to each functional unit. The acquisition unit 501 acquires various types of information, for example, based on user input. The acquisition unit 501 may also receive various types of information from a device other than the information processing device 100, for example.
[0089] The acquisition unit 501 acquires, for example, a processing request that requests the solution of a target problem. The target problem involves performing a specific computational process, such as a quantum chemical calculation or a materials property calculation in a relatively long-running quantum many-body simulation. The processing request includes, for example, information about the target problem. The processing request includes, for example, the definition of a plurality of qubits to represent a quantum state. Specifically, the acquisition unit 501 acquires a processing request by receiving the input of a processing request. Specifically, the acquisition unit 501 may acquire a processing request by receiving a processing request from another computer. The other computer is, for example, a client device 202.
[0090] The acquisition unit 501 may receive a start trigger to initiate processing in any of the functional units. A start trigger may be, for example, a predetermined operation input by a user. A start trigger may also be, for example, the reception of predetermined information from another computer. A start trigger may also be, for example, the output of predetermined information by any of the functional units. The acquisition unit 501 accepts, for example, the acquisition of a processing request as a start trigger to initiate processing in the first generation unit 502, the second generation unit 503, and the calculation unit 504.
[0091] The first generator 502 sets up a first symmetric circuit to be used for the local compilation technique. The first generator 502 sets up a quantum circuit that represents the action of the time evolution operator for a first time period, for example, as the first symmetric circuit. The first time period is, for example, τ. Specifically, the first generator 502 generates a quantum circuit that represents the action of the time evolution operator for a first time period τ using the Trotter decomposition technique and sets it up as the first symmetric circuit. The first symmetric circuit has, for example, size L~_1 and depth d_trot. The size L~_1 is less than the size L that defines the symmetric problem. This allows the first generator 502 to prepare for the implementation of the local compilation technique.
[0092] The first generation unit 502 generates a first quantum circuit that represents the action of the time evolution operator for the first time period, using a local compilation method based on the set first target circuit, and has a depth smaller than the quantum circuit set as the first target circuit. For example, the first generation unit 502 sets a first quantum circuit that has a depth smaller than the quantum circuit set as the first target circuit. For example, the first quantum circuit has size L~_1 and depth d. Depth d is less than depth d_trot. For example, the first generation unit 502 generates a first quantum circuit that represents the action of the time evolution operator for the first time period by updating the parameters of the first quantum circuit to minimize the value of the cost function that represents the difference between the set first target circuit and the set first quantum circuit. In this way, the first generation unit 502 can prepare a first quantum circuit with a depth of d, and can reduce the cost incurred when simulating the time evolution for the first time period. Time evolution means the change in the quantum state over time. Costs include, for example, processing time, processing load, and power consumption.
[0093] The second generator 503 sets up a second symmetric circuit to be used in the local compilation technique. The second generator 503, for example, combines x of the generated first quantum circuits to generate a quantum circuit that represents the action of the time evolution operator for the second time, which is x times the first time, and sets it up as the second symmetric circuit. x is 2 or greater. Specifically, the second generator 503 extends the first quantum circuit to a size L~_2 corresponding to the second time, based on the parameters of the first quantum circuit. The size L~_2 is determined, for example, according to the local compilation theorem. The size L~_2 is, for example, greater than the size L~_1. Specifically, the second generator 503 connects x of the first quantum circuits extended to size L~_2 to generate a quantum circuit that represents the action of the time evolution operator for the second time, and sets it up as the second symmetric circuit. The second symmetric circuit is, for example, size L~_2 and depth d×x.
[0094] Specifically, consider the case where x = 2. In this case, the second time is specifically 2τ. In this case, the second generator 503 specifically extends the first quantum circuit to a size L~_2 corresponding to the second time 2τ. Specifically, the second generator 503 generates a quantum circuit that represents the action of the time evolution operator over the second time 2τ by connecting two first quantum circuits extended to size L~_2, and sets it as the second target circuit. This allows the second generator 503 to prepare for the implementation of the local compilation method.
[0095] The second generator 503 generates a second quantum circuit that represents the action of the time evolution operator for the second time period, using a local compilation method based on the set second symmetric circuit, and has a depth smaller than the quantum circuit used as the second symmetric circuit. For example, the second generator 503 sets a second quantum circuit that has a depth smaller than the quantum circuit used as the second symmetric circuit. The second quantum circuit has, for example, size L~_2 and depth d. The depth d is less than the depth d_trot. For example, the second generator 503 generates a second quantum circuit that represents the action of the time evolution operator for the second time period by updating the parameters of the second quantum circuit to minimize the value of the cost function that represents the difference between the set second symmetric circuit and the set second quantum circuit. In this way, the second generator 503 can prepare a second quantum circuit with a depth of d, and can reduce the cost incurred when simulating the time evolution for the second time period. Furthermore, the second generation unit 503, by combining the first quantum circuit and the second quantum circuit, can reduce the cost incurred when simulating time evolution for a specific time period longer than the second time.
[0096] The second generator 503 further repeatedly performs the process of generating a second quantum circuit that represents the action of the time evolution operator for a time j longer than the second time, using a local compilation method, until a predetermined condition is met: j ≥ 3. The j-th time is a multiple of the first time. Here, the second generator 503 increments j each time it generates a second quantum circuit.
[0097] For example, one possible scenario is that a given condition is the generation of a new second quantum circuit that represents the action of the time evolution operator for the largest multiple of the first time (the Kth time) that falls within the time range in which the action of the time evolution operator can be represented, according to the local compilation theorem. In this case, the jth time is jτ.
[0098] In this case, the second generator 503, for example, combines the first quantum circuit with the second quantum circuit generated immediately before to generate a quantum circuit that represents the action of the time evolution operator for j time, which is one time longer than the second quantum circuit, and sets it as the third target circuit. Specifically, the second generator 503 extends the first quantum circuit and the second quantum circuit generated immediately before to a size L~_j corresponding to the j time jτ. Specifically, the second generator 503 connects the first quantum circuit, which has been extended to a size L~_j, with the second quantum circuit generated immediately before to generate a quantum circuit that represents the action of the time evolution operator for j time jτ, and sets it as the third target circuit. This allows the second generator 503 to prepare for the implementation of the local compilation method.
[0099] The second generation unit 503, for example, generates a new second quantum circuit that is shallower than the quantum circuit designated as the third symmetric circuit, based on the set third symmetric circuit, using a local compilation method to represent the action of the time evolution operator for the jth time step. Specifically, the second generation unit 503 newly sets a second quantum circuit that is shallower than the quantum circuit designated as the third symmetric circuit. Specifically, the newly set second quantum circuit has a size L~_j and a depth d. The depth d is less than the depth d_trot. Specifically, the second generation unit 503 sets a cost function that represents the difference between the set third symmetric circuit and the newly set second quantum circuit. The second generation unit 503 generates a new second quantum circuit that represents the action of the time evolution operator for the jth time step by updating the parameters of the second quantum circuit to minimize the value of the set cost function. As a result, the second generation unit 503 can prepare a new second quantum circuit with a depth of d, and can reduce the cost incurred when simulating the time evolution for the jth time step. Furthermore, the second generation unit 503 can reduce the cost incurred when simulating a specific time evolution longer than j time by combining the first quantum circuit with each of the generated second quantum circuits.
[0100] For example, one possible scenario is that a given condition is the generation of a new second quantum circuit that represents the action of the time evolution operator for the largest K time step, which is a multiple of 2 of the first time step, within the time range in which the action of the time evolution operator can be represented, according to the local compilation theorem. In this case, the j-th time step is (2^(j-1))τ.
[0101] In this case, the second generator 503 generates a quantum circuit that represents the action of a time evolution operator for j time, which is twice as long as the second quantum circuit, by combining, for example, two of the second quantum circuits generated immediately before, and sets it as the third target circuit. Specifically, the second generator 503 extends the second quantum circuit generated immediately before to a size L~_j corresponding to the j time (2^(j-1))τ. Specifically, the second generator 503 generates a quantum circuit that represents the action of a time evolution operator for j time (2^(j-1))τ by linking two of the second quantum circuits generated immediately before, which have been extended to a size L~_j, and sets it as the third target circuit. This allows the second generator 503 to prepare for the implementation of the local compilation method.
[0102] The second generation unit 503, for example, generates a new second quantum circuit that is shallower than the quantum circuit designated as the third symmetric circuit, based on the set third symmetric circuit, using a local compilation method to represent the action of the time evolution operator for the jth time step. Specifically, the second generation unit 503 newly sets a second quantum circuit that is shallower than the quantum circuit designated as the third symmetric circuit. Specifically, the newly set second quantum circuit has a size L~_j and a depth d. The depth d is less than the depth d_trot. Specifically, the second generation unit 503 sets a cost function that represents the difference between the set third symmetric circuit and the newly set second quantum circuit. The second generation unit 503 generates a new second quantum circuit that represents the action of the time evolution operator for the jth time step by updating the parameters of the second quantum circuit to minimize the value of the set cost function. As a result, the second generation unit 503 can prepare a new second quantum circuit with a depth of d, and can reduce the cost incurred when simulating the time evolution for the jth time step. Furthermore, the second generation unit 503 can reduce the cost incurred when simulating a specific time evolution longer than j time by combining the first quantum circuit with each of the generated second quantum circuits.
[0103] Here, we have described the cases in which the second generator 503 combines the first quantum circuit with the second quantum circuit generated immediately before, and the cases in which it combines two second quantum circuits generated immediately before, but it is not limited to these. For example, the second generator 503 may selectively combine multiple quantum circuits from a set of quantum circuits that includes the first quantum circuit and the generated second quantum circuits, in a manner other than those described above. Specifically, the second generator 503 sets a third target circuit by selectively combining multiple quantum circuits from the set of quantum circuits, extending them to a size L ~ _j, and then generating a new second quantum circuit that represents the action of the time evolution operator for the j-th time step.
[0104] Specifically, the second generator 503 may set up the third target circuit by extending the first quantum circuit to a size L to _j and combining three or more of them. Specifically, the second generator 503 may set up the third target circuit by extending the second quantum circuit to a size L to _j and combining two or more of them. Specifically, the second generator 503 may set up the third target circuit by extending each of two different types of second quantum circuits to a size L to _j and combining them.
[0105] The arithmetic unit 504 solves the target problem by utilizing the first quantum circuit generated by the first generation unit 502 and the second quantum circuit generated by the second generation unit 503. The arithmetic unit 504 may also solve the target problem by controlling, for example, the computing device 201. Specifically, the arithmetic unit 504 generates a combinational circuit that represents the action of a time evolution operator for a predetermined time by selectively combining multiple quantum circuits from a set of quantum circuits including the first quantum circuit and the generated second quantum circuit. Based on the generated combinational circuit, the arithmetic unit 504 simulates the time evolution of the quantum state for a predetermined time. As a result, the arithmetic unit 504 can solve the target problem and perform specific computational processing such as quantum chemical calculations or material property calculations.
[0106] The output unit 505 outputs the processing result of at least one of the functional units. The output format can be, for example, display on a screen, print to a printer, transmit to an external device via the network interface 303, or store in a storage area such as the memory 302 or recording medium 305. This allows the output unit 505 to notify the user of the processing result of at least one of the functional units, thereby improving the usability of the information processing device 100.
[0107] The output unit 505 outputs, for example, the first quantum circuit generated by the first generator unit 502. Specifically, the output unit 505 transmits the first quantum circuit to another computer. The other computer is, for example, the computing device 201 or the client device 202. The output unit 505 may also output the first quantum circuit so that it can be viewed by a user. This allows the output unit 505 to make the first quantum circuit available externally. The output unit 505 makes the problem in question solvable externally.
[0108] The output unit 505 outputs, for example, the second quantum circuit generated by the second generation unit 503. Specifically, the output unit 505 transmits the second quantum circuit to another computer. The other computer is, for example, the computing device 201 or the client device 202. The output unit 505 may also output the second quantum circuit so that it can be viewed by a user. This allows the output unit 505 to make the second quantum circuit available externally. The output unit 505 can make the problem in question solvable externally and enable the execution of specific computational processes such as quantum chemical calculations or material property calculations.
[0109] The output unit 505 outputs, for example, the result of solving the target problem using the calculation unit 504. Specifically, the output unit 505 transmits the result of solving the target problem to another computer. The other computer is, for example, the client device 202. Specifically, the output unit 505 may output the result of solving the target problem in a way that allows the user to refer to it. This makes the result of solving the target problem available externally.
[0110] Here, we have described a case in which the information processing device 100 includes a first generation unit 502, a second generation unit 503, and a calculation unit 504, but it is not limited to this. For example, the information processing device 100 may not include any of the functional units. Specifically, the information processing device 100 may not include the calculation unit 504. Specifically, the information processing device 100 may be able to communicate with another computer that includes the calculation unit 504, and may utilize the calculation unit 504 via the other computer.
[0111] (Example of operation of the information processing device 100) Next, an example of the operation of the information processing device 100 will be explained using Figures 6 to 10. In the example of operation, the information processing device 100 generates a quantum circuit V(θ^*_j) that is an approximation circuit corresponding to the time evolution operator exp(-i(τ_j)H) for multiple time steps {τ_j} (j=1,2,···,K) using a local compilation method. {τ_j} is the set of τ_j. For example, the information processing device 100 generates the quantum circuit V(θ^*_j) to be used as an approximation circuit by variational optimization with a compilation size L~_j according to the following equation (11).
[0112]
number
[0113] Here, specifically, consider the case where the information processing device 100 sets {τ_j} according to the ETS (Equidistant Time Stepping) method. In this case, τ_j = jτ. Therefore, {τ_j} = {τ, 2τ, 3τ, ..., Kτ}. In this case, the information processing device 100 specifically sets V(θ^*_(j-1))V(θ^*_1), defined by the following equation (12), as the target circuit for j > 1, and generates a quantum circuit V(θ^*_j) with a compilation size L ~ _j.
[0114]
number
[0115] Furthermore, it is conceivable that the information processing device 100 sets {τ_j} according to the BTS (Binary Time Stepping) method. In this case, τ_j = 2^(j-1)τ. Therefore, {τ_j} = {τ, 2τ, 4τ, ..., 2^(K-1)τ}. In this case, the information processing device 100 specifically sets (V(θ^*_(j-1)))^2 shown in equation (13) below as the target circuit for j > 1, and generates a quantum circuit V(θ^*_j) with a compilation size L ~ _j.
[0116]
number
[0117] As a result, the information processing device 100 can efficiently simulate long-time dynamics by combining the generated quantum circuits V(θ^*_j). Specifically, when the ETS method is used, the information processing device 100 can suppress the number of quantum gates / depth of quantum circuits to 1 / K and suppress the processing time to 1 / K^2. Furthermore, when the BTS method is used, the information processing device 100 can suppress the number of quantum gates / depth of quantum circuits to 1 / (2^(K-1)) and suppress the processing time to 1 / (4^(K-1)).
[0118] Now, we will move on to explaining Figures 6 to 8, describing an example of when the information processing device 100 utilizes the ETS method. Furthermore, an example of the processing procedure when the information processing device 100 utilizes the ETS method will be described later using Figures 28 and 29.
[0119] Figures 6 to 8 are explanatory diagrams illustrating an example of using the ETS method. In Figure 6, the information processing device 100 sets τ_1 = τ. The information processing device 100 sets the compilation size L~_1 based on τ_1 according to equation (11) above. An example of how the information processing device 100 sets the compilation size L~_1 will be described later using Figure 9.
[0120] (6-1) The information processing device 100 generates a trotter circuit U^(L~_1)_trot defined by the following equation (14), with a compilation size L~_1 and depth d_trot, and sets it in the first target circuit 600.
[0121]
number
[0122] (6-2) The information processing device 100 sets up the initialized variational quantum circuit V^(L~_1)(θ_1). The information processing device 100 optimizes θ_1 to θ^*_1 so as to minimize the value of the cost function that represents the difference between the first target circuit 600 and the variational quantum circuit V^(L~_1)(θ_1). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_1)(θ^*_1) with depth d, defined by the following equation (15), shown in symbol 610, which represents the action of the time evolution operator for τ_1.
[0123]
number
[0124] Next, we will move on to the explanation of Figure 7. In Figure 7, the information processing device 100 sets τ_2 = 2τ. The information processing device 100 sets the compilation size L~_2 based on τ_2 according to equation (11) above. An example of how the information processing device 100 sets the compilation size L~_2 will be described later using Figure 9.
[0125] (7-1) The information processing device 100 generates the variational quantum circuit V^(L~_2)(θ^*_1) shown in symbol 701 by extending the variational quantum circuit V^(L~_1)(θ^*_1) to a compilation size L~_2 based on the parameter θ^*_1. The information processing device 100 connects two of the generated variational quantum circuits V^(L~_2)(θ^*_1). As a result, the information processing device 100 generates a variational quantum circuit (V^(L~_2)(θ^*_1))^2 defined by the following equation (16), with a compilation size L~_2 and a depth of 2d, and sets it in the second target circuit 700.
[0126]
number
[0127] (7-2) The information processing device 100 sets up the initialized variational quantum circuit V^(L~_2)(θ_2). The information processing device 100 optimizes θ_2 to θ^*_2 so as to minimize the value of the cost function that represents the difference between the second symmetric circuit 700 and the variational quantum circuit V^(L~_2)(θ_2). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_2)(θ^*_2) with depth d, defined by the following equation (17), shown in symbol 710, which represents the action of the time evolution operator over τ_2.
[0128]
number
[0129] Next, we will move on to the explanation of Figure 8. For j>2, the information processing device 100 sets V^(L~_j)(θ^*_(j-1))V^(L~_j)(θ^*_1) as the target circuit and generates a quantum circuit V^(L~_j)(θ^*_j) with a compiled size L~_j, repeating this process sequentially until j=K.
[0130] In Figure 8, the information processing device 100 sets τ_3 = 3τ. The information processing device 100 sets the compilation size L~_3 based on τ_3 according to equation (11) above. An example of how the information processing device 100 sets the compilation size L~_3 will be described later using Figure 9.
[0131] (8-1) Based on the parameter θ^*_1, the information processing device 100 generates the variational quantum circuit V^(L~_3)(θ^*_1) shown in code 801 by extending the variational quantum circuit V^(L~_1)(θ^*_1) to a compilation size L~_3. Based on the parameter θ^*_2, the information processing device 100 generates the variational quantum circuit V^(L~_3)(θ^*_2) shown in code 802 by extending the variational quantum circuit V^(L~_2)(θ^*_2) to a compilation size L~_3.
[0132] The information processing device 100 connects the generated variational quantum circuit V^(L~_3)(θ^*_1) and the generated variational quantum circuit V^(L~_3)(θ^*_2). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_3)(θ^*_1)V^(L~_3)(θ^*_2) defined by the following equation (18), with a compilation size L~_3 and a depth of 2d, and sets it in the third target circuit 800.
[0133]
number
[0134] (8-2) The information processing device 100 sets up the initialized variational quantum circuit V^(L~_3)(θ_3). The information processing device 100 optimizes θ_3 to θ^*_3 so as to minimize the value of the cost function that represents the difference between the third symmetric circuit 800 and the variational quantum circuit V^(L~_3)(θ_3). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_3)(θ^*_3) with depth d, defined by the following equation (19), shown in symbol 810, which represents the action of the time evolution operator over τ_3.
[0135]
number
[0136] In the examples shown in Figures 6 to 8, K=3. This allows the information processing device 100 to generate variational quantum circuits V^(L~_1)(θ^*_1), V^(L~_2)(θ^*_2), and V^(L~_3)(θ^*_3), each with a depth of d. As a result, the information processing device 100 can limit the depth of the variational quantum circuits V^(L~_j)(θ^*_j) that represent the time evolution operators of {τ_j} for each time τ_j to d. Furthermore, the information processing device 100 can reduce the processing time required to simulate the time evolution of the quantum state of {τ_j} for each time τ_j.
[0137] Furthermore, the information processing device 100 can represent time evolution operators for a relatively longer time than τ_K by combining variational quantum circuits V^(L~_j)(θ^*_j). The information processing device 100 can, for example, reduce the sum of the depths of each variational quantum circuit in a combination of variational quantum circuits that represent time evolution operators for a relatively longer time than τ_K.
[0138] Therefore, the information processing device 100 can efficiently simulate long-term dynamics. Furthermore, the information processing device 100 can reduce the processing time required when simulating the time evolution of quantum states for a period of time relatively longer than τ_K. Specifically, the information processing device 100 can suppress the number of quantum gates / depth of quantum circuits to 1 / K, and suppress the processing time to 1 / K^2.
[0139] Here, we have described the case in which the information processing device 100 sets V^(L~_j)(θ^*_(j-1))V^(L~_j)(θ^*_1) as the target circuit for j>2, but it is not limited to this. For example, the information processing device 100 may set the target circuit by a different combination of pre-generated variational quantum circuits.
[0140] Specifically, the information processing device 100 may set V^(L~_j)(θ^*_1)V^(L~_j)(θ^*_(j-1)) as the target circuit for j>2. Specifically, the information processing device 100 may set (V^(L~_j)(θ^*_2))^(j / 2) as the target circuit for j=even. Specifically, the information processing device 100 may set (V^(L~_j)(θ^*_2))^((j-1) / 2)V^(L~_j)(θ^*_1) as the target circuit for j=odd.
[0141] Specifically, it is preferable for the information processing device 100 to set the target circuit so that the depth of the target circuit is small. For j>2, the smaller the depth of the target circuit, the shorter the processing time required to generate V^(L~_j)(θ^*_j) tends to be. Next, we will move on to the explanation of Figure 9 and describe an example of how the information processing device 100 sets the compilation size L~_j.
[0142] Figure 9 is an explanatory diagram illustrating an example of setting the compilation size L~_j. In Figure 9, graph 900 represents the relationship between the compilation size L~_j and time τ_j, based on the local compilation theorem. Line segment 901 represents equation (20) below. As shown in line segment 901, the longer the time τ_j, the larger the compilation size L~_j becomes. v_(LR) is the Lieb-Robinson velocity. The Lieb-Robinson velocity is the limit of the information transfer rate in a quantum many-body system. L~_0 is a constant.
[0143]
number
[0144] Here, the local compilation method is effective for short-time τ between 0 and τ_max, corresponding to the range L≧L~, according to equation (20) above, but is not effective for τ greater than or equal to τ_max, corresponding to L=L~. Therefore, it is preferable that τ_K is less than or equal to τ_max. Next, we will move on to the explanation of Figure 10 and describe an example in which the information processing device 100 performs long-time quantum many-body simulation by combining variational quantum circuits V^(L~_j)(θ^*_j).
[0145] Figure 10 is an explanatory diagram illustrating an example of performing a long-running quantum many-body simulation. In Figure 10, the information processing device 100 generates a variational quantum circuit V^(L)(θ^*_j) by extending the variational quantum circuit V^(L~_j)(θ^*_j) to a compilation size L. In the following explanation, the variational quantum circuit V^(L)(θ^*_j) may sometimes be referred to as "variational quantum circuit V(θ^*_j)". In the variational quantum circuit V(θ^*_j), the number of quantum gates / depth of the quantum circuit is constant.
[0146] In the example shown in Figure 10, the information processing device 100 is assumed to perform a quantum many-body simulation for 6τ, which is longer than τ_max. Specifically, the information processing device 100 simulates the time evolution of quantum states in multiples of τ, within a range of 6τ or less. Graph 1000 represents the quantum state against the time axis. Curve 1001 represents the time evolution of the quantum state. Here, the quantum state at time 0 is denoted as |ψ>.
[0147] When the information processing device 100 simulates the time evolution of a quantum state over a period of τ, it applies a variational quantum circuit V(θ^*_1) to |ψ> and measures the expected value of a physical quantity. This allows the information processing device 100 to simulate the time evolution of a quantum state over a period of τ using a quantum circuit V(θ^*_1) with a suppressed depth of d. Therefore, the information processing device 100 can reduce the processing time required when simulating the time evolution of a quantum state over a period of τ.
[0148] When the information processing device 100 simulates a time evolution of a quantum state over 2τ, it applies a variational quantum circuit V(θ^*_2) to |ψ> and measures the expected value of a physical quantity. This allows the information processing device 100 to simulate a time evolution of a quantum state over 2τ using a quantum circuit V(θ^*_2) with a suppressed depth d. Therefore, the information processing device 100 can reduce the processing time required when simulating a time evolution of a quantum state over 2τ.
[0149] When the information processing device 100 simulates a time evolution of a quantum state over 3τ, it applies a variational quantum circuit V(θ^*_3) to |ψ> and measures the expected value of a physical quantity. This allows the information processing device 100 to simulate a time evolution of a quantum state over 3τ using a quantum circuit V(θ^*_3) with a suppressed depth d. Therefore, the information processing device 100 can reduce the processing time required when simulating a time evolution of a quantum state over 3τ.
[0150] When the information processing device 100 simulates a time evolution of a quantum state over 4τ, it applies a combination of variational quantum circuits V(θ^*_1) and V(θ^*_3) to |ψ> and measures the expected value of a physical quantity. This allows the information processing device 100 to simulate a time evolution of a quantum state over 4τ by utilizing a combination of variational quantum circuits V(θ^*_1) and V(θ^*_3) with a total depth suppressed to 2d. Therefore, the information processing device 100 can reduce the processing time required when simulating a time evolution of a quantum state over 4τ. Alternatively, when simulating a time evolution of a quantum state over 4τ, the information processing device 100 may apply a combination of two variational quantum circuits V(θ^*_2) to |ψ> and measure the expected value of a physical quantity.
[0151] When the information processing device 100 simulates a time evolution of a quantum state over 5τ, it applies a combination of variational quantum circuits V(θ*_2) and V(θ*_3) to |ψ> and measures the expected value of a physical quantity. This allows the information processing device 100 to simulate a time evolution of a quantum state over 5τ by utilizing a combination of variational quantum circuits V(θ*_2) and V(θ*_3) with a total depth suppressed to 2d. Therefore, the information processing device 100 can reduce the processing time required when simulating a time evolution of a quantum state over 5τ. Alternatively, when simulating a time evolution of a quantum state over 5τ, the information processing device 100 may apply a combination of variational quantum circuits V(θ*_1) and two variations of variational quantum circuits V(θ*_2) to |ψ> and measure the expected value of a physical quantity.
[0152] When the information processing device 100 simulates a time evolution of a quantum state over 6τ, it applies a combination of two variational quantum circuits V(θ^*_3) to |ψ> and measures the expected value of the physical quantity. This allows the information processing device 100 to simulate a time evolution of a quantum state over 6τ using a combination of two variational quantum circuits V(θ^*_3) with a total depth of 2d. Therefore, the information processing device 100 can reduce the processing time required when simulating a time evolution of a quantum state over 6τ. Alternatively, when simulating a time evolution of a quantum state over 6τ, the information processing device 100 may apply a combination of three variational quantum circuits V(θ^*_2) to |ψ> and measure the expected value of the physical quantity.
[0153] The information processing device 100 preferably uses a variational quantum circuit V(θ*_K) when simulating the time evolution of a quantum state over a period of jτ. Here, K=3. By using the variational quantum circuit V(θ*_K), the information processing device 100 can efficiently reduce the number of quantum gates used when simulating the time evolution of a quantum state over a period of jτ.
[0154] Here, when simulating the time evolution of a quantum state over a period of jτ, one possible approach is to apply a combination of j variational quantum circuits V(θ*_1) to |ψ>. However, this approach involves using j variational quantum circuits V(θ*_1) with a total depth of jd when simulating the time evolution of a quantum state over a period of jτ, which leads to an increase in the processing time required to simulate the time evolution of a quantum state over a period of jτ.
[0155] In contrast, the information processing device 100 can simulate the time evolution of a quantum state over a period of jτ without using combinations of j variational quantum circuits V(θ^*_1). Therefore, the information processing device 100 can reduce the processing time required when simulating the time evolution of a quantum state over a period of jτ. For example, when simulating the time evolution of a quantum state over a period of jτ, the information processing device 100 can suppress the number of quantum gates / depth of the quantum circuit to O(N / K), and suppress the processing time to O((N^2) / (K^2)).
[0156] Now, we will move on to explaining Figures 11 to 13, and describe an example of when the information processing device 100 uses the BTS method. Furthermore, an example of the processing procedure when the information processing device 100 uses the BTS method will be described later using Figures 30 and 31.
[0157] Figures 11 to 13 are explanatory diagrams showing an example of using the BTS method. In Figure 11, the information processing device 100 sets τ_1 = τ. The information processing device 100 sets the compilation size L~_1 based on τ_1 according to equation (20) above. An example of how the information processing device 100 sets the compilation size L~_1 is the same as in Figure 9.
[0158] (11-1) The information processing device 100 generates a trotter circuit U^(L~_1)_trot defined by the following equation (21), with a compilation size L~_1 and depth d_trot, and sets it in the first target circuit 1100.
[0159]
number
[0160] (11-2) The information processing device 100 sets up the initialized variational quantum circuit V^(L~_1)(θ_1). The information processing device 100 optimizes θ_1 to θ^*_1 so as to minimize the value of the cost function that represents the difference between the first target circuit 1100 and the variational quantum circuit V^(L~_1)(θ_1). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_1)(θ^*_1) with depth d, defined by the following equation (22), shown in symbol 1110, which represents the action of the time evolution operator for τ_1.
[0161]
number
[0162] Next, we will move on to the explanation of Figure 12. For j>1, the information processing device 100 sets (V^(L~_j)(θ^*_(j-1)))^2 with depth 2d as the target circuit and generates a quantum circuit V^(L~_j)(θ^*_j) with compilation size L~_j, repeating this process sequentially until j=K. (V^(L~_j)(θ^*_(j-1)))^2 is defined by the following equation (23).
[0163]
number
[0164] In Figure 12, the information processing device 100 sets τ_2 = 2τ. The information processing device 100 sets the compilation size L~_2 based on τ_2 according to equation (20) above. An example of how the information processing device 100 sets the compilation size L~_2 is the same as in Figure 9.
[0165] (12-1) The information processing device 100 generates the variational quantum circuit V^(L~_2)(θ^*_1) shown in symbol 1201 by extending the variational quantum circuit V^(L~_1)(θ^*_1) to a compilation size L~_2 based on the parameter θ^*_1. The information processing device 100 connects two of the generated variational quantum circuits V^(L~_2)(θ^*_1). As a result, the information processing device 100 generates a variational quantum circuit (V^(L~_2)(θ^*_1))^2 defined by the following equation (24), with a compilation size L~_2 and a depth of 2d, and sets it in the second target circuit 1200.
[0166]
number
[0167] (12-2) The information processing device 100 sets up the initialized variational quantum circuit V^(L~_2)(θ_2). The information processing device 100 optimizes θ_2 to θ^*_2 so as to minimize the value of the cost function that represents the difference between the second symmetric circuit 1200 and the variational quantum circuit V^(L~_2)(θ_2). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_2)(θ^*_2) with depth d, defined by the following equation (25), shown in numeral 1210, which represents the action of the time evolution operator over τ_2.
[0168]
number
[0169] Next, we will move on to the explanation of Figure 13. In Figure 13, the information processing device 100 sets τ_3 = 4τ. The information processing device 100 sets the compilation size L~_3 based on τ_3 according to equation (20) above. An example of how the information processing device 100 sets the compilation size L~_3 is the same as in Figure 9.
[0170] (13-1) The information processing device 100 generates the variational quantum circuit V^(L~_3)(θ^*_2) shown in symbol 1301 by extending the variational quantum circuit V^(L~_2)(θ^*_2) to a compilation size L~_3 based on the parameter θ^*_2. The information processing device 100 connects two of the generated variational quantum circuits V^(L~_3)(θ^*_2). As a result, the information processing device 100 generates a variational quantum circuit (V^(L~_3)(θ^*_2))^2 defined by the following equation (26), with a compilation size L~_3 and a depth of 2d, and sets it in the third target circuit 1300.
[0171]
number
[0172] (13-2) The information processing device 100 sets up the initialized variational quantum circuit V^(L~_3)(θ_3). The information processing device 100 optimizes θ_3 to θ^*_3 so as to minimize the value of the cost function that represents the difference between the third symmetric circuit 1300 and the variational quantum circuit V^(L~_3)(θ_3). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_3)(θ^*_3) with depth d, defined by the following equation (27), shown in symbol 1310, which represents the action of the time evolution operator for τ_3.
[0173]
number
[0174] In the examples in Figures 11 to 13, K=3. This allows the information processing device 100 to generate variational quantum circuits V^(L~_1)(θ^*_1), V^(L~_2)(θ^*_2), and V^(L~_3)(θ^*_3), each with a depth of d. As a result, the information processing device 100 can limit the depth of the variational quantum circuits V^(L~_j)(θ^*_j) that represent the time evolution operators of {τ_j} for each time τ_j to d. Furthermore, the information processing device 100 can reduce the processing time required when simulating the time evolution of the quantum state of {τ_j} for each time τ_j.
[0175] Furthermore, the information processing device 100 can represent time evolution operators for a relatively longer time than τ_K by combining variational quantum circuits V^(L~_j)(θ^*_j). The information processing device 100 can, for example, reduce the sum of the depths of each variational quantum circuit in a combination of variational quantum circuits that represent time evolution operators for a relatively longer time than τ_K. Therefore, the information processing device 100 can efficiently simulate long-time dynamics. In addition, the information processing device 100 can reduce the processing time required when simulating the time evolution of quantum states for a relatively longer time than τ_K.
[0176] Specifically, the information processing device 100 can reduce the number of quantum gates / depth of quantum circuits to 1 / (2^(K-1)) and reduce the processing time to 1 / (4^(K-1)). In this way, the information processing device 100 can reduce the number of quantum gates / depth of quantum circuits in both cases, whether using the ETS method or the BTS method, and can reduce the processing time required to simulate the time evolution of quantum states.
[0177] Furthermore, the information processing device 100 can suppress the depth of the j-th target circuit in both cases, whether using the ETS method or the BTS method, thereby reducing the cost incurred in generating the variational quantum circuit V^(L~_j)(θ^*_j). Costs include, for example, processing time, processing load, and power consumption.
[0178] Here, we have described the case in which the information processing device 100 sets the target circuit to (V^(L~_j)(θ^*_(j-1)))^2 for j>1, but it is not limited to this. For example, the information processing device 100 may set the target circuit by a different combination of the generated variational quantum circuits. Specifically, the information processing device 100 may set the target circuit to (V^(L~_j)(θ^*_(j-2)))^4 for j>1. Next, we will move on to the explanation of Figures 14 and 15 and describe and compare an example of the effects when the information processing device 100 uses the ETS method and when it uses the BTS method.
[0179] Figures 14 and 15 are explanatory diagrams illustrating examples of the effects when using the ETS method and when using the BTS method. Specifically, Figure 14 shows an example of the effect when the information processing device 100 uses the ETS method. Graph 1400 represents the quantum state against the time axis. Curve 1401 represents the time evolution of the quantum state. In the example of Figure 14, we assume that τ_max = 4τ. Therefore, we assume that K = 4. The information processing device 100 simulates the time evolution of the quantum state for each multiple of τ up to 10τ. For example, as shown in Figure 14, the information processing device 100 simulates the time evolution of the quantum state for each multiple of τ by applying a combination of variational quantum circuits V(θ^*_j) to |ψ>. Next, we will move on to the explanation of Figure 15.
[0180] Figure 15 shows an example of the effect when the information processing device 100 utilizes the BTS method. Graph 1500 represents the quantum state over time. Curve 1501 represents the time evolution of the quantum state. In the example in Figure 15, τ_max = 4τ. Therefore, K = 3. The information processing device 100 simulates the time evolution of the quantum state for each multiple of τ up to 10τ. The information processing device 100 simulates the time evolution of the quantum state for each multiple of τ by applying a combination of variational quantum circuits V(θ^*_j) to |ψ>, for example, as shown in Figure 15.
[0181] Here, the ETS method tends to result in a smaller ratio of quantum gates to quantum circuit depth compared to the BTS method. Furthermore, the BTS method tends to generate fewer variational quantum circuits V(θ*_j) compared to the ETS method. The cost of generating a variational quantum circuit V(θ*_j) is roughly the same for both the ETS and BTS methods.
[0182] Therefore, in situations where the accuracy of simulating the time evolution of quantum states for each multiple of τ tends to deteriorate, it is preferable for the information processing device 100 to use the BTS method in order to suppress the increase in errors originating from optimization. In situations other than those where the accuracy of simulating the time evolution of quantum states for each multiple of τ tends to deteriorate, it is preferable for the information processing device 100 to use the ETS method, which results in a relatively small number of quantum gates / depth of quantum circuits.
[0183] (First embodiment of the information processing device 100) Next, a first embodiment of the information processing device 100 will be described using Figures 16 to 21. The first embodiment corresponds to a case where the information processing device 100 performs a quantum many-body simulation of the one-dimensional Heisenberg model 1600 shown in Figure 16.
[0184] Figure 16 is an explanatory diagram showing a first embodiment of the information processing device 100. In Figure 16, the one-dimensional Heisenberg model 1600 describes the magnetism of a solid. The Hamiltonian H corresponding to the one-dimensional Heisenberg model 1600 is defined by the following equation (28). X_i, Y_i, and Z_i are Pauli operators for spin i.
[0185]
number
[0186] The Lieb-Robinson velocity of the one-dimensional Heisenberg model 1600 satisfies v_(LR) ≤ 12. Therefore, the information processing device 100 sets the compilation size {L~_j} with v_(LR) = 12. The information processing device 100 implements a multilayer local compilation method using LVQC. In the following explanation, the multilayer local compilation method using LVQC may be referred to as "ML-LVQC".
[0187] The information processing device 100 employs a Trotter circuit U^(L)_trot obtained by the Trotter decomposition method as the target circuit U with respect to time τ_1=τ. Here, the information processing device 100 sets the depth d_trot of the Trotter circuit U^(L)_trot such that the approximation error defined by the following equation (29) is 1%. The Trotter circuit U^(L)_trot is defined by the following equation (30), for example. The Hamiltonian H^(L)_(odd / even) is defined by the following equation (31), for example.
[0188]
number
[0189]
number
[0190]
number
[0191] The information processing device 100 employs the VHA (Variational Hamiltonian Ansatz) for the variational quantum circuit V^(L)(θ). The initial value θ_0 is defined, for example, by equation (32) below. The variational quantum circuit V^(L)(θ) is defined, for example, by equation (33) below. d is the depth of the variational quantum circuit V^(L)(θ). θ_(l,m) are the variational parameters. The Hamiltonian H is defined by equation (34) below and is decomposed into a sum of mutually non-commutative terms.
[0192]
number
[0193]
number
[0194]
number
[0195] The information processing device 100 then uses the ETS method or the BTS method to simulate the time evolution of the quantum state |ψ> as shown in equation (35) below, and measures it using the Pauli operator. Next, we will move on to explaining Figures 17 and 18, and describe an example in which the accuracy of the information processing device 100 when using the ETS method was verified in the first embodiment.
[0196]
number
[0197] Figures 17 and 18 are explanatory diagrams showing an example of verifying the accuracy when using the ETS method in the first embodiment. In the example of Figures 17 and 18, L=20, L~≦12, τ=0.10, K=4, d=3, {τ_j}={0.1,0.2,0.3,0.4}, and {L~_j}={9,10,11,12}. Now, let's move on to the explanation of Figure 17.
[0198] Graph 1700 in Figure 17 shows the time evolution of Z_(L / 2)(t). The triangles in Graph 1700 represent the time evolution of Z_(L / 2)(t) corresponding to ML-LVQC by the information processing device 100. The thick line in Graph 1700 represents the time evolution of Z_(L / 2)(t) corresponding to Nearly exact. Nearly exact represents Z_(L / 2)(t) that is treated as the correct answer.
[0199] The circles in Graph 1700 represent the time evolution of Z_(L / 2)(t) corresponding to Trotter(same-depth). Trotter(same-depth) means that a Trotter circuit of the same depth as ML-LVQC is applied to the quantum state the same number of times as ML-LVQC. The squares in Graph 1700 represent the time evolution of Z_(L / 2)(t) corresponding to Trotter(repeated). Trotter(repeated) means that the Trotter circuit is applied to the quantum state repeatedly. Next, we will move on to the explanation of Figure 18.
[0200] Graph 1800 in Figure 18 shows the time evolution of the error corresponding to Z_(L / 2)(t). The triangles in Graph 1800 represent the time evolution of the error corresponding to ML-LVQC by the information processing device 100. The circles in Graph 1800 represent the time evolution of the error corresponding to Trotter (same-depth). The rectangles in Graph 1800 represent the time evolution of the error corresponding to Trotter (repeated).
[0201] As shown in Figures 17 and 18, the information processing device 100 can determine the time evolution of Z_(L / 2)(t) with greater accuracy using ML-LVQC compared to Trotter (same-depth). Furthermore, the information processing device 100 can reduce the depth of the variational quantum circuit, reduce the number of operations, and reduce the probability of errors occurring in the qubits using ML-LVQC compared to Trotter (repeated). For this reason, the information processing device 100 can more easily determine the time evolution of Z_(L / 2)(t) with greater accuracy using ML-LVQC compared to Trotter (repeated). Next, we will move on to explaining Figures 19 and 20, and describe an example in which the accuracy of the information processing device 100 when using the BTS method was verified in the first embodiment.
[0202] Figures 19 and 20 are explanatory diagrams showing an example of verifying the accuracy when using the BTS method in the first embodiment. In the example of Figures 19 and 20, L=20. L~≦12. τ=0.10. K=3. d=3. {τ_j}={0.1,0.2,0.4}. {L~_j}={9,10,12}. Now, let's move on to the explanation of Figure 19.
[0203] Graph 1900 in Figure 19 shows the time evolution of Z_(L / 2)(t). The triangles in Graph 1900 represent the time evolution of Z_(L / 2)(t) corresponding to ML-LVQC by the information processing device 100. The thick line in Graph 1900 represents the time evolution of Z_(L / 2)(t) corresponding to Nearly Exact. Nearly Exact represents Z_(L / 2)(t) that is treated as the correct answer.
[0204] The circles in Graph 1900 represent the time evolution of Z_(L / 2)(t) corresponding to Trotter(same-depth). Trotter(same-depth) means that a Trotter circuit of the same depth as ML-LVQC is applied to the quantum state the same number of times as ML-LVQC. The squares in Graph 1900 represent the time evolution of Z_(L / 2)(t) corresponding to Trotter(repeated). Trotter(repeated) means that the Trotter circuit is applied to the quantum state repeatedly. Next, we will move on to the explanation of Figure 20.
[0205] Graph 2000 in Figure 20 shows the time evolution of the error corresponding to Z_(L / 2)(t). The triangles in Graph 2000 represent the time evolution of the error corresponding to ML-LVQC by the information processing device 100. The circles in Graph 2000 represent the time evolution of the error corresponding to Trotter (same-depth). The rectangles in Graph 2000 represent the time evolution of the error corresponding to Trotter (repeated).
[0206] As shown in Figures 19 and 20, the information processing device 100 can determine the time evolution of Z_(L / 2)(t) with greater accuracy using ML-LVQC compared to the Trotter (same-depth) method. Furthermore, the information processing device 100 can reduce the depth of the variational quantum circuit, reduce the number of operations, and reduce the probability of errors occurring in the qubits using ML-LVQC compared to the Trotter (repeated) method. Therefore, the information processing device 100 can determine the time evolution of Z_(L / 2)(t) with greater accuracy using ML-LVQC compared to the Trotter (repeated) method. When using the BTS method, the information processing device 100 can determine the time evolution of Z_(L / 2)(t) with the same level of accuracy as when using the ETS method.
[0207] Thus, the information processing device 100 can determine the time evolution of Z_(L / 2)(t) with greater accuracy than when using the Trotter decomposition method, regardless of whether the ETS method or the BTS method is used. Next, an example of verifying the depth of the variational quantum circuit in the first embodiment will be described using Figure 21.
[0208] Figure 21 is an explanatory diagram illustrating an example of verifying the depth of a variational quantum circuit. Graph 2100 in Figure 21 shows the relationship between the time duration simulating the time evolution of the quantum state and the total depth of the variational quantum circuit. Time represents the time duration. The circles in Graph 2100 correspond to "repeated." "Repeated" means that the Trotter circuit is repeatedly applied to the quantum state. In the circles of Graph 2100, Depth specifically represents the total depth of the Trotter circuit applied to the quantum state.
[0209] The rectangles in Graph 2100 correspond to Binary. Binary represents the case where the information processing device 100 performs ML-LVQC using the BTS method. In the rectangles of Graph 2100, Depth specifically represents the total depth of the variational quantum circuits acting on the quantum state. The triangles in Graph 2100 correspond to Equidistant. Equidistant represents the case where the information processing device 100 performs ML-LVQC using the ETS method. In the triangles of Graph 2100, Depth specifically represents the total depth of the variational quantum circuits acting on the quantum state.
[0210] As shown in Figure 21, when a Trotter circuit is repeatedly applied to a quantum state, there is a problem that the total depth of the Trotter circuit applied to the quantum state increases proportionally as the time length simulating the time evolution of the quantum state increases. In contrast, when the information processing device 100 performs ML-LVQC using the ETS method or the BTS method, the total depth of the variational quantum circuit can be reduced to 1 / 4 compared to the repeated method. Therefore, the information processing device 100 can reduce the number of operations and reduce the probability of errors occurring in the qubits.
[0211] (Second embodiment of the information processing device 100) Next, a second embodiment of the information processing device 100 will be described using Figures 22 to 27. The second embodiment corresponds to a case where the information processing device 100 performs a quantum many-body simulation of the one-dimensional Heisenberg model 1600 shown in Figure 16, similar to the first embodiment.
[0212] Figure 22 is an explanatory diagram showing a second embodiment of the information processing device 100. In Figure 22, the information processing device 100 employs the Trotter circuit U^(L)_trot, obtained by the Trotter decomposition method, as the target circuit U with respect to time τ_1=τ. The information processing device 100 employs VHA as the variational quantum circuit V^(L)(θ). Furthermore, the information processing device 100 performs ML-LVQC on the one-dimensional Heisenberg model 1600 using the ETS method. Also, K=3.
[0213] (22-1) The information processing device 100 sets τ_1 = τ. Based on τ_1, the information processing device 100 sets the compilation size L~_1. The information processing device 100 generates a trotter circuit U^(L~_1)_trot with a compilation size L~_1 and depth d_trot, and sets it in the first target circuit 2200.
[0214] (22-2) The information processing device 100 sets up the initialized variational quantum circuit V^(L~_1)(θ_1). The information processing device 100 optimizes θ_1 to θ^*_1 so as to minimize the value of the cost function that represents the difference between the first symmetric circuit 2200 and the variational quantum circuit V^(L~_1)(θ_1). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_1)(θ^*_1) with depth d, as shown by the symbol 2210, which represents the action of the time evolution operator for τ_1.
[0215] (22-3) The information processing device 100 sets τ_2 = 2τ. Based on τ_2, the information processing device 100 sets the compilation size L~_2. Based on the parameter θ^*_1, the information processing device 100 extends the variational quantum circuit V^(L~_1)(θ^*_1) to a compilation size L~_2, thereby generating the variational quantum circuit V^(L~_2)(θ^*_1) shown in code 2221. The information processing device 100 connects two of the generated variational quantum circuits V^(L~_2)(θ^*_1). As a result, the information processing device 100 generates a variational quantum circuit (V^(L~_2)(θ^*_1))^2 with a compilation size L~_2 and a depth of 2d, and sets it in the second target circuit 2220.
[0216] (22-4) The information processing device 100 sets up the initialized variational quantum circuit V^(L~_2)(θ_2). The information processing device 100 optimizes θ_2 to θ^*_2 so as to minimize the value of the cost function that represents the difference between the second symmetric circuit 2220 and the variational quantum circuit V^(L~_2)(θ_2). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_2)(θ^*_2) with depth d, as shown by the symbol 2230, which represents the action of the time evolution operator divided by τ_2.
[0217] (22-5) The information processing device 100 sets τ_3 = 3τ. Based on τ_3, the information processing device 100 sets the compilation size L~_3. Based on the parameter θ^*_1, the information processing device 100 extends the variational quantum circuit V^(L~_1)(θ^*_1) to a compilation size L~_3, thereby generating the variational quantum circuit V^(L~_3)(θ^*_1) shown in code 2241. Based on the parameter θ^*_2, the information processing device 100 extends the variational quantum circuit V^(L~_2)(θ^*_2) to a compilation size L~_3, thereby generating the variational quantum circuit V^(L~_3)(θ^*_2) shown in code 2242.
[0218] The information processing device 100 connects the generated variational quantum circuit V^(L~_3)(θ^*_1) and the generated variational quantum circuit V^(L~_3)(θ^*_2). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_3)(θ^*_1)V^(L~_3)(θ^*_2) with a compilation size of L~_3 and a depth of 2d, and sets it in the third target circuit 2240.
[0219] (22-6) The information processing device 100 sets up the initialized variational quantum circuit V^(L~_3)(θ_3). The information processing device 100 optimizes θ_3 to θ^*_3 so as to minimize the value of the cost function that represents the difference between the third symmetric circuit 2240 and the variational quantum circuit V^(L~_3)(θ_3). As a result, the information processing device 100 generates a variational quantum circuit V^(L~_3)(θ^*_3) with depth d, as shown by the symbol 2250, which represents the action of the time evolution operator divided by τ_3.
[0220] Thus, the information processing device 100 can prepare multiple variational quantum circuits V^(L~_j)(θ^*_j) using ML-LVQC, each representing the action of time evolution operators of different lengths, with depth d, for the jth time step. In contrast, we will consider other methods that prepare multiple variational quantum circuits V^(L~_j)(θ^*_j) by superposition of Trotter circuits and compare them with ML-LVQC. First, we will explain an example of the other method using Figure 23.
[0221] FIG. 23 is an explanatory diagram showing an example of another method for comparison with ML-LVQC. In the following description, another method for comparison with ML-LVQC may be referred to as "Method A".
[0222] In FIG. 23, Method A sets a combined circuit obtained by connecting j Trotter circuits U^(L~_j)_trot, each having a compilation size L~_j, to the target circuit U, and generates a variational quantum circuit V^(L~_j)(θ^*_j). The depth of the Trotter circuit U^(L~_j)_trot is d_trot. The depth of the combined circuit is j × d_trot.
[0223] (23-1) Method A sets τ_1 = τ. Method A sets the compilation size L~_1 based on τ_1. Method A generates a Trotter circuit U^(L~_1)_trot having a compilation size L~_1 and a depth d_trot, and sets it to the first target circuit 2300. Method A sets an initialized variational quantum circuit V^(L~_1)(θ_1). Method A optimizes θ_1 to θ^*_1 so as to minimize the value of a cost function representing the difference between the first target circuit 600 and the variational quantum circuit V^(L~_1)(θ_1). Thereby, Method A generates a variational quantum circuit V^(L~_1)(θ^*_1) having a depth d, shown by reference numeral 2310, which represents the action of the time evolution operator for a time of τ_1.
[0224] (23-2) Method A sets τ_2 = 2τ. Method A sets the compilation size L~_2 based on τ_2. Method A generates a trotter circuit U^(L~_2)_trot shown in code 2321, with a compilation size L~_2 and depth d_trot. Method A connects two trotter circuits U^(L~_2)_trot. This generates a combinational circuit (U^(L~_2)_trot)^2 with a compilation size L~_2 and depth 2d_trot, and sets it as the second symmetric circuit 2320. Method A sets the initialized variational quantum circuit V^(L~_2)(θ_2). Method A optimizes θ_2 to θ^*_2 so as to minimize the value of the cost function representing the difference between the second symmetric circuit 2320 and the variational quantum circuit V^(L~_2)(θ_2). As a result, Method A generates a variational quantum circuit V^(L~_2)(θ^*_2), with depth d, shown in symbol 2330, which represents the action of the time evolution operator in τ_2.
[0225] (23-3) Method A sets τ_3 = 3τ. Method A sets the compilation size L~_3 based on τ_3. Method A generates a trotter circuit U^(L~_3)_trot shown in code 2341, with a compilation size L~_3 and depth d_trot. Method A connects three trotter circuits U^(L~_3)_trot. This generates a combinational circuit (U^(L~_3)_trot)^3 with a compilation size L~_3 and depth 3d_trot, and sets it in the third symmetric circuit 2340. Method A sets the initialized variational quantum circuit V^(L~_3)(θ_3). Method A optimizes θ_3 to θ^*_3 so as to minimize the value of the cost function representing the difference between the third symmetric circuit 2340 and the variational quantum circuit V^(L~_3)(θ_3). As a result, Method A generates a variational quantum circuit V^(L^*_3)(θ^*_3), with depth d, shown in symbol 2350, which represents the action of the time evolution operator in τ_3.
[0226] Here, using Figures 24 and 25, we compare ML-LVQC with method A and verify the cost involved in generating the variational quantum circuit V^(L~_j)(θ^*_j). The cost is, for example, the CPU computation time required to generate the variational quantum circuit V^(L~_j)(θ^*_j). Another cost is the depth of the j-th symmetric circuit required to generate the variational quantum circuit V^(L~_j)(θ^*_j).
[0227] Figures 24 and 25 are explanatory diagrams showing an example of cost verification in the second embodiment. In the example in Figures 24 and 25, L=20, L~≦12, τ=0.10, K=4, d=3, {τ_j}={0.1,0.2,0.3,0.4}, and {L~_j}={9,10,11,12}.
[0228] In Figure 24, graph 2400 shows the relationship between the compilation size L~ and CPU computation time. Parallel optimization corresponds to the case where method A is performed using a classical computer. Sequential optimization corresponds to the case where ML-LVQC is performed using a classical computer. ML-LVQC is performed, for example, by the information processing device 100.
[0229] As shown in Figure 24, by implementing ML-LVQC, the information processing device 100 can reduce the CPU computation time corresponding to each compilation size L to _j to 1 / 9 to 1 / 20 compared to method α. Next, we will move on to the explanation of Figure 25.
[0230] In Figure 25, graph 2500 shows the relationship between the compilation size L~ and the depth of the j-th target circuit. Parallel optimization corresponds to the case where method A is implemented using a hybrid of a classical computer and a quantum computer. Sequential optimization corresponds to the case where ML-LVQC is implemented using a hybrid of a classical computer and a quantum computer. ML-LVQC is implemented, for example, by an information processing device 100 and a computing device 201.
[0231] As shown in Figure 25, the information processing device 100, in cooperation with the computing device 201, performs ML-LVQC, thereby reducing the depth of the j-th target circuit corresponding to each compilation size L~_j to 1 / 30~1 / 60 compared to method A. Next, we will move on to the explanation of Figures 26 and 27, and describe an example in the second embodiment in which the accuracy of the information processing device 100 when using the ETS method was verified.
[0232] Figures 26 and 27 are explanatory diagrams showing an example of verifying the accuracy when using the ETS method in the second embodiment. In the example of Figures 26 and 27, L=20, L~≦12, τ=0.10, K=4, d=3, {τ_j}={0.1,0.2,0.3,0.4}, and {L~_j}={9,10,11,12}. Now, let's move on to the explanation of Figure 26.
[0233] Graph 2600 in Figure 26 shows the time evolution of Z_(L / 2)(t). The triangles in Graph 2600 represent the time evolution of Z_(L / 2)(t) corresponding to ML-LVQC by the information processing device 100. The × marks in Graph 2600 represent the time evolution of Z_(L / 2)(t) corresponding to the parallel optimization described above. The thick line in Graph 2600 represents the time evolution of Z_(L / 2)(t) corresponding to Nearly exact. Nearly exact represents Z_(L / 2)(t) that is treated as the correct answer.
[0234] The circles in Graph 2600 represent the time evolution of Z_(L / 2)(t) corresponding to Trotter(same-depth). Trotter(same-depth) means that a Trotter circuit of the same depth as ML-LVQC is applied to the quantum state the same number of times as ML-LVQC. The squares in Graph 2600 represent the time evolution of Z_(L / 2)(t) corresponding to Trotter(repeated). Trotter(repeated) means that the Trotter circuit is applied to the quantum state repeatedly. Next, we will move on to the explanation of Figure 27.
[0235] Graph 2700 in Figure 27 shows the time evolution of the error corresponding to Z_(L / 2)(t). The triangles in Graph 2700 represent the time evolution of the error corresponding to ML-LVQC by the information processing device 100. The × marks in Graph 2700 represent the time evolution of the error corresponding to the parallel optimization described above. The circles in Graph 2700 represent the time evolution of the error corresponding to Trotter (same-depth). The rectangles in Graph 2700 represent the time evolution of the error corresponding to Trotter (repeated).
[0236] As shown in Figures 26 and 27, the information processing device 100 can determine the time evolution of Z_(L / 2)(t) with greater accuracy using ML-LVQC compared to Trotter (same-depth). Furthermore, the information processing device 100 can reduce the depth of the variational quantum circuit, reduce the number of operations, and reduce the probability of errors occurring in the qubits using ML-LVQC compared to Trotter (repeated). For this reason, the information processing device 100 can more easily determine the time evolution of Z_(L / 2)(t) with greater accuracy using ML-LVQC compared to Trotter (repeated).
[0237] Furthermore, the information processing device 100 can determine the time evolution of Z_(L / 2)(t) with the same accuracy as the parallel optimization described above using ML-LVQC. In this case, the information processing device 100 can reduce the CPU computation time required to generate the variational quantum circuit using ML-LVQC compared to the parallel optimization described above.
[0238] As explained above, the information processing device 100 can prepare variational quantum circuits for efficiently performing quantum many-body simulations that simulate the time evolution of quantum states over relatively long periods of time using actual quantum computers. The information processing device 100 can reduce the number of quantum gates and the depth of quantum circuits when performing quantum many-body simulations that simulate the time evolution of quantum states over relatively long periods of time using the prepared variational quantum circuits.
[0239] The information processing device 100 can, for example, efficiently perform quantum many-body simulations related to the one-dimensional Heisenberg model 1600. In this case, the information processing device 100 can reduce the number of quantum gates / depth of the quantum circuit to 1 / 4 compared to, for example, when preparing variational quantum circuits using the Trotter decomposition method. Furthermore, the information processing device 100 can reduce the processing time required when performing quantum many-body simulations to 1 / 16.
[0240] Furthermore, compared to the parallel optimization described above, the information processing device 100 can reduce the cost of preparing variational quantum circuits while maintaining the accuracy of quantum many-body simulations. For example, the information processing device 100 can reduce the CPU computation time required to prepare variational quantum circuits to 1 / 4. For example, the information processing device 100 can reduce the depth of the target circuit to be set when preparing variational quantum circuits to 1 / 60.
[0241] Here, although the case where the information processing apparatus 100 sequentially generates the variational quantum circuit \(V^{(L_j)}(\theta_j)\) with the compilation size \(L_j\) adjusted according to \(\tau_j\) has been described, it is not limited to this. For example, there may be a case where the information processing apparatus 100 sequentially generates the variational quantum circuit \(V^{(L_K)}(\theta_j)\) with a common compilation size \(L_K\). In this case, when generating the variational quantum circuit \(V^{(L_K)}(\theta_j)\), the information processing apparatus 100 can manage without adjusting the compilation size \(L_j\) such as the already generated variational quantum circuit \(V^{(L_K)}(\theta_{j - 1})\).
[0242] (First Generation Processing Procedure) Next, an example of the first generation processing procedure executed by the information processing apparatus 100 will be described using FIG. 28. The first generation processing corresponds to the case where the information processing apparatus 100 uses the ETS. The first generation processing is realized, for example, by the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.
[0243] FIG. 28 is a flowchart showing an example of the first generation processing procedure. In FIG. 28, the information processing apparatus 100 acquires \(H^{(L)}\), \(\tau\), and \(V^{(L)}(\theta)\) (step S2801). The information processing apparatus 100 determines \(K\) and \(\{L_j\}\) based on \(H^{(L)}\) and \(\tau\) (step S2802).
[0244] The information processing apparatus 100 sets the Trotter circuit of size \(L_1\) as the target circuit and optimizes \(V^{(L_1)}(\theta_1)\) based on \(V^{(L)}(\theta)\) (step S2803). The information processing apparatus 100 sets \(j\) to 2 (step S2804).
[0245] The information processing apparatus 100 sets \(V^{(L_j)}(\theta_{j - 1}^*)V^{(L_j)}(\theta_1^*)\) expanded to size \(L_j\) as the target circuit and optimizes \(V^{(L_j)}(\theta_j)\) based on \(V^{(L)}(\theta)\) (step S2805).
[0246] The information processing apparatus 100 determines whether j≥K (step S2806). Here, if j≥K (step S2806: Yes), the information processing apparatus 100 proceeds to the process of step S2808. On the other hand, if j<K instead of j≥K (step S2806: No), the information processing apparatus 100 proceeds to the process of step S2807.
[0247] In step S2807, the information processing apparatus 100 increments j (step S2807) and returns to the process of step S2805. In step S2808, the information processing apparatus 100 outputs {θ^*_j} (step S2808) and ends the first generation process.
[0248] (First calculation processing procedure) Next, an example of the first calculation processing procedure executed by the information processing apparatus 100 will be described using FIG. 29. The first calculation processing corresponds to the case where the information processing apparatus 100 uses the ETS. The first calculation processing is realized, for example, by the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.
[0249] FIG. 29 is a flowchart showing an example of the first calculation processing procedure. In FIG. 29, the information processing apparatus 100 acquires {θ^*_j}, N, and |ψ> (step S2901). The information processing apparatus 100 sets 1 to k (step S2902).
[0250] [[ID=Is 18]]The information processing apparatus 100 makes V^(L)(θ^*_n)(V^(L)(θ^*_K))^m act on |ψ> with n=(k)mod(K) and m=[k / K] (step S2903). The information processing apparatus 100 measures the expected value of the physical quantity (step S2904).
[0251] The information processing apparatus 100 determines whether k≥K (step S2905). Here, if k<K instead of k≥K (step S2905: No), the information processing apparatus 100 increments k (step S2906) and returns to the process of step S2903. On the other hand, if k≥K (step S2905: Yes), the information processing apparatus 100 ends the first calculation process.
[0252] (Second generation processing procedure) Next, an example of the second generation processing procedure executed by the information processing apparatus 100 will be described using FIG. 30. The second generation processing corresponds to the case where the information processing apparatus 100 uses the BTS. The second generation processing is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.
[0253] FIG. 30 is a flowchart showing an example of the second generation processing procedure. In FIG. 30, the information processing apparatus 100 acquires H^(L), τ, and V^(L)(θ) (step S3001). The information processing apparatus 100 determines K and {L~_j} based on H^(L) and τ (step S3002).
[0254] The information processing apparatus 100 sets the Trotter circuit of size L~_1 as the target circuit and optimizes V^(L~_1)(θ_1) based on V^(L)(θ) (step S3003). The information processing apparatus 100 sets 2 to j (step S3004).
[0255] The information processing apparatus 100 sets (V^(L~_j)(θ^*_(j - 1)))^2 expanded to size L~_j as the target circuit and optimizes V^(L~_j)(θ_j) based on V^(L)(θ) (step S3005).
[0256] The information processing apparatus 100 determines whether j≥K (step S3006). Here, if j≥K (step S3006: Yes), the information processing apparatus 100 proceeds to the process of step S3008. On the other hand, if j<K instead of j≥K (step S3006: No), the information processing apparatus 100 proceeds to the process of step S3007.
[0257] In step S3007, the information processing apparatus 100 increments j (step S3007) and returns to the process of step S3005. In step S3008, the information processing apparatus 100 outputs {θ^*_j} (step S3008) and ends the second generation process.
[0258] (Second calculation procedure) Next, an example of the second calculation procedure executed by the information processing apparatus 100 will be described with reference to FIG. 31. The second calculation process corresponds to the case where the information processing apparatus 100 uses the BTS. The second calculation process is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I / F 303.
[0259] FIG. 31 is a flowchart showing an example of the second calculation procedure. In FIG. 31, the information processing apparatus 100 acquires {θ^*_j}, N, and |ψ> (step S3101). The information processing apparatus 100 sets 1 to k (step S3102).
[0260] The information processing apparatus 100 decomposes k = Σ^K_(j = 1)((n_j)(2^(j - 1))) as n_j = [(N - Σ^K_(l>j)((n_l)(2^(l - 1)))) / (2^(j - 1))] (step S3103).
[0261] The information processing apparatus 100 applies П^K_(j = 1)(V^(L)(θ^*_j))^(n_j) to |ψ> (step S3104). The information processing apparatus 100 measures the expected value of the physical quantity (step S3105).
[0262] The information processing apparatus 100 determines whether k≥K (step S3106). Here, when k<K instead of k≥K (step S3106: No), the information processing apparatus 100 increments k (step S3107) and returns to the process of step S3104. On the other hand, when k≥K (step S3106: Yes), the information processing apparatus 100 ends the second calculation process.
[0263] (Application example of the information processing apparatus 100) The information processing apparatus 100 can be applied when performing quantum many-body system simulations in fields such as material development or drug discovery research. Specifically, the information processing apparatus 100 can be applied when generating a quantum circuit that represents the action of the time evolution operator. Thereby, the information processing apparatus 100 can maintain the accuracy of specific calculation processes such as quantum chemical calculations or material property calculations in quantum many-body system simulations.
[0264] As described above, according to the information processing apparatus 100, a quantum circuit representing the action of the time evolution operator for the first time period can be set as the first target. According to the information processing apparatus 100, by means of the local compilation method, a first quantum circuit with a depth smaller than that of the quantum circuit set as the first target and representing the action of the time evolution operator for the first time period can be generated. According to the information processing apparatus 100, a quantum circuit representing the action of the time evolution operator for a second time period longer than the first time period, obtained by combining two or more of the generated first quantum circuits, can be set as the second target. According to the information processing apparatus 100, by means of the local compilation method, a second quantum circuit with a depth smaller than that of the quantum circuit set as the second target and representing the action of the time evolution operator for the second time period can be generated. Thereby, the information processing apparatus 100 can efficiently generate a second quantum circuit with suppressed depth. The information processing apparatus 100 can make it easier to reduce the processing time required when simulating the time evolution of the quantum state for a time period of two or more times using the first quantum circuit and the second quantum circuit.
[0265] According to the information processing device 100, a quantum circuit representing the action of a time evolution operator for a second time period (twice the first time period), obtained by combining two first quantum circuits, can be set as the second object. According to the information processing device 100, a second quantum circuit representing the action of a time evolution operator for a second time period, which has less depth than the quantum circuit set as the second object, can be generated using a local compilation technique. As a result, the information processing device 100 can generate a quantum circuit representing the action of a time evolution operator for a second time period (twice the first time period) with reduced depth. The information processing device 100 can represent the action of a time evolution operator for a second time period with a relatively small number of quantum gates.
[0266] According to the information processing device 100, a quantum circuit representing the action of a time evolution operator for a period of time one time longer than that of the second quantum circuit, obtained by combining the first quantum circuit and the second quantum circuit generated immediately beforehand, can be set as the third object. According to the information processing device 100, a new second quantum circuit with less depth than the quantum circuit set as the third object can be generated by local compilation. According to the information processing device 100, the process of setting the third object and generating a new second quantum circuit can be repeatedly executed until predetermined conditions are met. As a result, the information processing device 100 can generate quantum circuits that represent the action of a time evolution operator for multiple time periods that are multiples of the first time, each with a suppressed depth. The information processing device 100 can combine the generated quantum circuits to make it possible to represent the action of a time evolution operator for a relatively long period of time with a relatively small number of quantum gates.
[0267] According to the information processing device 100, a quantum circuit representing the action of a time evolution operator for a period twice as long as that of the second quantum circuit can be set as the third object by combining two of the second quantum circuits generated immediately beforehand. According to the information processing device 100, a new second quantum circuit with less depth than the quantum circuit set as the third object can be generated by local compilation. According to the information processing device 100, the process of setting the third object and generating a new second quantum circuit can be repeatedly executed until predetermined conditions are met. As a result, the information processing device 100 can generate quantum circuits that represent the action of a time evolution operator for each of multiple time periods that are multiples of the first time, each with a suppressed depth. The information processing device 100 can combine the generated quantum circuits to make it possible to represent the action of a time evolution operator for a relatively long period of time with a relatively small number of quantum gates.
[0268] According to the information processing device 100, by selectively combining multiple quantum circuits from a set of quantum circuits including a first quantum circuit and a pre-generated second quantum circuit, a quantum circuit can be generated that represents the action of a time evolution operator for a longer period of time than the second quantum circuit generated immediately before. According to the information processing device 100, the generated quantum circuit can be set as a third object. According to the information processing device 100, a new second quantum circuit can be generated using a local compilation technique, which represents the action of the time evolution operator for that period of time and has a smaller depth than the quantum circuit set as the third object. According to the information processing device 100, the process of setting a third object and generating a new second quantum circuit can be repeatedly executed until predetermined conditions are met. As a result, the information processing device 100 can generate quantum circuits that represent the action of a time evolution operator for multiple periods of time that are multiples of the first time, each with a suppressed depth. The information processing device 100 can combine the generated quantum circuits to make it possible to represent the action of a time evolution operator for a relatively long period of time with a relatively small number of quantum gates.
[0269] According to the information processing device 100, a quantum circuit representing the action of the time evolution operator for the first time period, obtained by the Trotter decomposition method, can be set as the first object. According to the information processing device 100, a first quantum circuit with less depth than the first object quantum circuit, representing the action of the time evolution operator for the first time period, can be generated by the local compilation method. As a result, the information processing device 100 can appropriately set the first object.
[0270] According to the information processing device 100, it is possible to set a predetermined condition that a new second quantum circuit has been generated that represents the action of the time evolution operator for the largest multiple of the first time period, which is included in the time range in which the action of the time evolution operator can be represented. As a result, the information processing device 100 can generate multiple second quantum circuits that can be generated. The information processing device 100 can use the generated second quantum circuits to easily represent the action of the time evolution operator for relatively long time periods.
[0271] According to the information processing device 100, it is possible to set a predetermined condition that a new second quantum circuit has been generated that represents the action of the time evolution operator for the largest multiple of 2 of the first time, which is included in the time range in which the action of the time evolution operator can be represented. As a result, the information processing device 100 can generate multiple second quantum circuits that can be generated. The information processing device 100 can use the generated second quantum circuits to easily represent the action of the time evolution operator for relatively long time periods.
[0272] According to the information processing device 100, the first quantum circuit can be extended to a size corresponding to the second time, which is twice the size of the first time, and two of these circuits can be combined to create a quantum circuit that represents the action of the time evolution operator for the second time, which can then be set as the second object. According to the information processing device 100, a second quantum circuit that represents the action of the time evolution operator for the second time and has a smaller depth than the quantum circuit set as the second object can be generated using a local compilation technique. As a result, the information processing device 100 can set a second object of an appropriate size and appropriately generate the second quantum circuit.
[0273] According to the information processing device 100, a quantum circuit representing the action of a time evolution operator for a given time period can be generated by combining a first quantum circuit and a second quantum circuit generated immediately beforehand, after extending the size to a size corresponding to a time period one time longer than that of the second quantum circuit. According to the information processing device 100, the generated quantum circuit can be set as a third object. According to the information processing device 100, a new second quantum circuit representing the action of a time evolution operator for a given time period can be generated, which has a smaller depth than the quantum circuit set as the third object, using a local compilation method. As a result, the information processing device 100 can set a third object of an appropriate size and generate the second quantum circuit appropriately.
[0274] According to the information processing device 100, a quantum circuit representing the action of a time evolution operator for a given time period can be set as the third object by combining two second quantum circuits that were previously generated and expanded to a size corresponding to twice the time period of the first second quantum circuit. According to the information processing device 100, a new second quantum circuit representing the action of a time evolution operator for a given time period can be generated using a local compilation method, and which has a smaller depth than the quantum circuit set as the third object. As a result, the information processing device 100 can set a third object of an appropriate size and generate a second quantum circuit appropriately.
[0275] According to the information processing device 100, a quantum circuit representing the action of a time evolution operator for a predetermined time period can be generated by selectively combining multiple quantum circuits from a set of quantum circuits including a first quantum circuit and a pre-generated second quantum circuit. According to the information processing device 100, the time evolution of the quantum state for that time period can be simulated based on the generated quantum circuit. As a result, the information processing device 100 can accurately and efficiently simulate the time evolution of the quantum state for a predetermined time period.
[0276] The information processing method described in this embodiment can be implemented by executing a pre-prepared program on a computer such as a PC or workstation. The information processing program described in this embodiment is recorded on a computer-readable recording medium and executed by being read from the recording medium by the computer. The recording medium can be a hard disk, flexible disk, CD (Compact Disc)-ROM, MO (Magneto Optical Disc), DVD (Digital Versatile Disc), etc. Furthermore, the information processing program described in this embodiment may be distributed via a network such as the Internet.
[0277] With regard to the embodiments described above, the following additional information is disclosed.
[0278] (Note 1) Using a quantum circuit representing the action of the time evolution operator for the first time period as the first object, a first quantum circuit with less depth than the quantum circuit used as the first object is generated by local compilation, which represents the action of the time evolution operator for the first time period. A second quantum circuit is created by combining two or more of the generated first quantum circuits, which represents the action of a time evolution operator for a second time period longer than the first time period. This second quantum circuit, which represents the action of a time evolution operator for a second time period and has a smaller depth than the quantum circuit used as the second object, is then generated using the local compilation method. An information processing program characterized by having a computer perform the processing.
[0279] (Note 2) The process for generating the second quantum circuit is as follows: The information processing program according to Appendix 1, characterized in that a quantum circuit representing the action of a time evolution operator for a second time period, which is twice the first time period, obtained by combining two of the first quantum circuits, is used as the second object, and the local compilation method is used to generate a second quantum circuit that represents the action of a time evolution operator for a second time period and has a smaller depth than the quantum circuit used as the second object.
[0280] (Note 3) Furthermore, a quantum circuit is obtained by combining the first quantum circuit and the second quantum circuit generated immediately beforehand, which represents the action of a time evolution operator for a third time period that is one time longer than that of the second quantum circuit. This quantum circuit is then used as the third object and, by the local compilation method, a new second quantum circuit is generated that represents the action of the time evolution operator for that third time period and has a smaller depth than the quantum circuit designated as the third object. The information processing program described in Appendix 2, characterized in that it causes the computer to repeatedly execute the process until predetermined conditions are met.
[0281] (Note 4) Furthermore, a quantum circuit representing the action of a time evolution operator for a third time period twice as long as that of the second quantum circuit, obtained by combining two of the second quantum circuits generated immediately before, is designated as the third object, and a new second quantum circuit is generated by the local compilation method, which represents the action of the time evolution operator for the third time period and has a smaller depth than the quantum circuit designated as the third object. The information processing program described in Appendix 2, characterized in that it causes the computer to repeatedly execute the process until predetermined conditions are met.
[0282] (Note 5) Furthermore, a quantum circuit representing the action of a third time evolution operator longer than that of the previously generated second quantum circuit is obtained by selectively combining multiple quantum circuits from the set of quantum circuits including the first quantum circuit and the generated second quantum circuit, and the second quantum circuit representing the action of the third time evolution operator is newly generated by the local compilation method, and the second quantum circuit having a smaller depth than the quantum circuit designated as the third object is newly generated, which represents the action of the said third time evolution operator. The information processing program described in Appendix 2, characterized in that it causes the computer to repeatedly execute the process until predetermined conditions are met.
[0283] (Note 6) The process for generating the first quantum circuit is as follows: An information processing program according to any one of the appendices 1 to 5, characterized in that a quantum circuit representing the action of the time evolution operator for the first time period, obtained by the Trotter decomposition method, is used as the first object, and the local compilation method is used to generate a first quantum circuit that represents the action of the time evolution operator for the first time period and has a smaller depth than the quantum circuit used as the first object.
[0284] (Note 7) The information processing program according to Note 3, characterized in that the predetermined condition is that a new second quantum circuit is generated that represents the action of the time evolution operator for the largest time period among the multiples of the first time that are included in the time range in which the action of the time evolution operator can be represented, in accordance with the local compilation theorem.
[0285] (Note 8) The information processing program according to Note 4, characterized in that the predetermined condition is that a new second quantum circuit is generated that represents the action of the time evolution operator for the largest time period among the multiples of 2 of the first time that are included in the time range in which the action of the time evolution operator can be represented, in accordance with the local compilation theorem.
[0286] (Note 9) The process for generating the second quantum circuit is as follows: The information processing program according to Appendix 2, characterized in that the first quantum circuit is extended to a size corresponding to a second time, which is twice the size of the first time, and two of these are combined to obtain a quantum circuit that represents the action of the time evolution operator for the second time, and the second quantum circuit that represents the action of the time evolution operator for the second time is generated by the local compilation method, and the second quantum circuit has a smaller depth than the quantum circuit used as the second object.
[0287] (Note 10) The process for generating the second quantum circuit is as follows: The information processing program according to Appendix 3, characterized in that the first quantum circuit and the second quantum circuit generated immediately beforehand are combined after being extended to a size corresponding to a time period one time longer than the second quantum circuit, and a quantum circuit representing the action of the time evolution operator for that time period is taken as the third object, and a new second quantum circuit representing the action of the time evolution operator for that time period is generated by the local compilation method, and the second quantum circuit having a smaller depth than the quantum circuit designated as the third object is taken as the third object.
[0288] (Note 11) The process for generating the second quantum circuit is as follows: The information processing program described in Appendix 4, characterized in that, by the local compilation method, a new second quantum circuit is generated that represents the action of the time evolution operator for a given time, and is less deep than the quantum circuit designated as the third object, obtained by combining two of the second quantum circuits that were generated immediately beforehand, after extending them to a size corresponding to a time twice as long as that of the second quantum circuit, and using a quantum circuit obtained by combining two of these, the second quantum circuit represents the action of the time evolution operator for that given time.
[0289] (Note 12) Based on a quantum circuit that represents the action of a time evolution operator for a predetermined time period, obtained by selectively combining multiple quantum circuits from a set of quantum circuits including the first quantum circuit and the generated second quantum circuit, the time evolution of the quantum state for that time period is simulated. An information processing program according to any one of the appendices 1 to 11, characterized in that it causes the computer to perform the processing.
[0290] (Note 13) Using a quantum circuit representing the action of the time evolution operator for the first time period as the first object, a first quantum circuit representing the action of the time evolution operator for the first time period, with a smaller depth than the quantum circuit used as the first object, is generated by local compilation. A second quantum circuit is created by combining two or more of the generated first quantum circuits, which represents the action of a time evolution operator for a second time period longer than the first time period. This second quantum circuit, which represents the action of a time evolution operator for a second time period and has a smaller depth than the quantum circuit used as the second object, is then generated using the local compilation method. An information processing method characterized in that the processing is performed by a computer.
[0291] (Note 14) Using a quantum circuit representing the action of the time evolution operator for the first time period as the first object, a first quantum circuit is generated by local compilation, which represents the action of the time evolution operator for the first time period and has a smaller depth than the quantum circuit used as the first object. A second quantum circuit is created by combining two or more of the generated first quantum circuits, which represents the action of a time evolution operator for a second time period longer than the first time period. This second quantum circuit, which represents the action of a time evolution operator for a second time period and has a smaller depth than the quantum circuit used as the second object, is then generated using the local compilation method. An information processing device characterized by having a control unit. [Explanation of Symbols]
[0292] 100 Information Processing Devices 101,102 quantum circuit 110 First quantum circuit 120 Second quantum circuit 200 Information Processing Systems 201 Computing equipment 202 Client Devices 210 Network 300,400 buses 301,401 CPU 302,402 memory 303,403 Network I / F 304,404 Recording medium interface 305,405 recording media 406 Computational Enclosure I / F 407 Computation Unit 500 storage section 501 Acquisition Department 502 1st generation part 503 Second generation part 504 Arithmetic unit 505 Output section 600, 1100, 2200, 2300 First target circuit 610,701,710,801,802,810,1110,1201,1210,1301,1310,2210,2221,2230,2241,2242,2250,2310,2321,2330,2341,2350 Sign 700, 1200, 2220, 2320 Second target circuit 800, 1300, 2240, 2340 Third Target Circuit 900, 1000, 1400, 1500, 1700, 1800, 1900, 2000, 2100, 2400, 2500, 2600, 2700 graph 901 line segment 1001,1401,1501 curve 1600 1D Heisenberg model
Claims
1. A quantum circuit representing the action of the time evolution operator for the first time period is taken as the first object, and a first quantum circuit representing the action of the time evolution operator for the first time period, with a smaller depth than the quantum circuit used as the first object, is generated by local compilation. A second quantum circuit is created by combining two or more of the generated first quantum circuits, which represents the action of a time evolution operator for a second time period longer than the first time period. This second quantum circuit, which represents the action of a time evolution operator for a second time period and has a smaller depth than the quantum circuit used as the second object, is then generated using the local compilation method. An information processing program characterized by having a computer perform the processing.
2. The process for generating the second quantum circuit is as follows: The information processing program according to claim 1, characterized in that a quantum circuit representing the action of a time evolution operator for a second time, which is twice the first time, obtained by combining two of the first quantum circuits, is used as the second object, and the local compilation method is used to generate a second quantum circuit that represents the action of a time evolution operator for a second time, and has a smaller depth than the quantum circuit used as the second object.
3. Furthermore, a quantum circuit representing the action of a time evolution operator for a third time period, which is one time period longer than that of the second quantum circuit, is obtained by combining the first quantum circuit and the second quantum circuit generated immediately beforehand, and this quantum circuit is designated as the third object. Using the local compilation method, a new second quantum circuit is generated that represents the action of the time evolution operator for the third time period and has a smaller depth than the quantum circuit designated as the third object. The information processing program according to claim 2, characterized in that it causes the computer to repeatedly execute the process until predetermined conditions are met.
4. Furthermore, a quantum circuit representing the action of a time evolution operator for a third time period twice as long as that of the second quantum circuit, obtained by combining two of the second quantum circuits generated immediately before, is designated as the third object. Using the local compilation method, a new second quantum circuit is generated that represents the action of the time evolution operator for the third time period, and has a smaller depth than the quantum circuit designated as the third object. The information processing program according to claim 2, characterized in that it causes the computer to repeatedly execute the process until predetermined conditions are met.
5. The process for generating the first quantum circuit is as follows: An information processing program according to any one of claims 1 to 4, characterized in that a quantum circuit representing the action of the time evolution operator for the first time period, obtained by the Trotter decomposition method, is used as the first object, and the local compilation method is used to generate a first quantum circuit that represents the action of the time evolution operator for the first time period and has a smaller depth than the quantum circuit used as the first object.
6. A quantum circuit representing the action of the time evolution operator for the first time period is taken as the first object, and a first quantum circuit representing the action of the time evolution operator for the first time period, with a smaller depth than the quantum circuit used as the first object, is generated by local compilation. A second quantum circuit is created by combining two or more of the generated first quantum circuits, which represents the action of a time evolution operator for a second time period longer than the first time period. This second quantum circuit, which represents the action of a time evolution operator for a second time period and has a smaller depth than the quantum circuit used as the second object, is then generated using the local compilation method. An information processing method characterized in that the processing is performed by a computer.
7. A quantum circuit representing the action of the time evolution operator for the first time period is taken as the first object, and a first quantum circuit representing the action of the time evolution operator for the first time period, with a smaller depth than the quantum circuit used as the first object, is generated by local compilation. A second quantum circuit is created by combining two or more of the generated first quantum circuits, which represents the action of a time evolution operator for a second time period longer than the first time period. This second quantum circuit, which represents the action of a time evolution operator for a second time period and has a smaller depth than the quantum circuit used as the second object, is then generated using the local compilation method. An information processing device characterized by having a control unit.