Non-transitory computer-readable storage medium, information processing method
By classifying observables and using swap gates to replace local qubits with global qubits, the program optimizes quantum simulation calculations, addressing communication overheads and speeding up expectation value measurements.
Patent Information
- Application Number
- JP2024129715
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-06
- Publication Date
- 2026-02-19
AI Technical Summary
Expectation calculations in variational quantum algorithms are bottlenecked by large communication overheads, especially when Pauli matrices of X or Y are included across computation nodes, leading to long calculation times, and existing methods fail to account for delays due to communication between nodes.
An information processing program that classifies observables into groups based on whether they can be calculated within the same memory unit by replacing local qubits with global qubits, using swap gates to optimize calculations and reduce communication overhead.
This approach speeds up quantum simulations by minimizing communication delays and optimizing calculations, thereby enhancing the efficiency of expectation value measurements.
Smart Images

Figure 2026027649000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing program, an information processing method, and an information processing system. [Background technology]
[0002] In recent years, research into quantum computers has become active, with some of the technology being made available on the cloud, creating an environment where anyone can use it. While development of quantum computers is progressing using superconducting qubits, there is a problem in that calculations using actual machines are affected by noise from the hardware, making it difficult to obtain accurate calculation results.
[0003] Under these circumstances, quantum simulation, which emulates quantum computing using a quantum simulator on a classical computer, is being carried out to advance research on quantum algorithms and investigate the effects of noise. Quantum simulation is a technology that simulates quantum computing by reproducing quantum states on a conventional computer and calculating the interactions between qubits.
[0004] One of the quantum simulation techniques is the State Vector method. State Vector quantum simulation has the advantage of being able to obtain intermediate results and execute quantum circuits with large circuit depth. In State Vector quantum simulation, information indicating all quantum states is stored in memory, and quantum computation is simulated by updating each quantum state according to quantum gate operations. In State Vector quantum simulation, quantum states may be stored across multiple computation nodes, in which case the quantum state information is distributed and stored on each computation node.
[0005] The main algorithm verified by the state vector method is the variational quantum algorithm, which involves repeated execution and therefore takes a very long time to emulate, especially the part related to the expectation calculation.
[0006] As a technology for speeding up quantum simulation, a technology has been proposed in which the quantum circuit is updated to improve the continuity of measurement and operation commands, and simulation is performed while switching the memory layout of each element of the stabilizer table based on the updated quantum circuit. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Japanese Patent Application Publication No. 2023-13672 Summary of the Invention [Problem to be solved by the invention]
[0008] However, expectation calculations can be a bottleneck in the execution of variational quantum algorithms in quantum simulators. In particular, when performing expectation measurements where the Pauli matrices of X or Y are included in qubits managed across nodes, there is a problem that large communication overhead occurs, resulting in long calculation times.
[0009] Furthermore, the technology for updating quantum circuits to improve the continuity of measurement and operation commands does not take into account delays due to communication between computation nodes, making it difficult to reduce delays in expected value measurements and speeding up State Vector-based quantum simulations.
[0010] The disclosed technology has been made in view of the above, and aims to provide an information processing program, an information processing method, and an information processing system that speed up quantum simulation. [Means for solving the problem]
[0011] In one aspect of the information processing program, information processing method, and information processing system disclosed herein, there is provided an information processing program for quantum simulation using multiple memories that store information indicating the quantum state of a composite qubit including a first qubit to which storage location information is given, wherein for each of multiple observables included in a predetermined Hamiltonian for which an expectation value calculation is performed using the composite qubit, the first qubit is replaced with any second qubit other than the first qubit, thereby classifying the observables into a first group in which the expectation value calculation is possible based on a calculation within the same memory unit that performs a predetermined operation in the expectation value calculation using a composite qubit held in the same memory, and other second groups; for observables classified into the first group, instructions are given to replace the first qubit with a predetermined second qubit during expectation value calculation and to operate a swap gate between the first qubit and the predetermined second qubit, and the expectation value of the Hamiltonian is calculated in accordance with the instructions for replacement and the instructions for operation of the swap gate. [Effects of the Invention]
[0012] In one aspect, the present invention can speed up quantum simulations. [Brief explanation of the drawings]
[0013] [Figure 1] FIG. 1 is a diagram illustrating an outline of the operation of a quantum simulation system according to an embodiment. [Figure 2] FIG. 2 is a block diagram of a quantum simulation system. [Figure 3] FIG. 3 is a diagram illustrating the calculation of the Pauli matrix. [Figure 4] FIG. 4 is a diagram illustrating the storage state of a qubit. [Figure 5]FIG. 5 is a diagram showing an example of a combination of qubits used to calculate the Pauli matrix of X. [Figure 6] FIG. 6 is a diagram illustrating a qubit group according to the first embodiment. [Figure 7] FIG. 7 is a diagram showing an example of grouping of Hamiltonian groups. [Figure 8] FIG. 8 is a diagram showing an example of the process of calculating the expected value involving qubit reinterpretation. [Figure 9] FIG. 9 is a flowchart showing the entire process of calculating the expected value of the Hamiltonian. [Figure 10] FIG. 10 is a flowchart of the grouping process of the Hamiltonian group. [Figure 11] FIG. 11 is a flowchart of the process of calculating the expected value of observables belonging to the H0 group. [Figure 12] FIG. 12 is a flowchart of the process of calculating the expected value of an observable belonging to the H(j+1) group. [Figure 13] FIG. 13 is a flowchart of the process of calculating the expected value of an observable belonging to the H(n-1) group. [Figure 14] FIG. 14 is a diagram showing a comparison of the time consumed in measuring the expected value. [Figure 15] FIG. 15 is a diagram illustrating a qubit group according to the second embodiment. [Figure 16] FIG. 16 is a diagram illustrating the hardware configuration of the management node and the calculation node. DETAILED DESCRIPTION OF THE INVENTION
[0014] Hereinafter, an information processing program, an information processing method, and an information processing system disclosed in the present application will be described in detail with reference to the accompanying drawings. Note that the information processing program, the information processing method, and the information processing system disclosed in the present application are not limited to the following embodiments. [Example]
[0015] 1 is a diagram illustrating an outline of the operation of a quantum simulation system according to an embodiment. The quantum simulation system 1 may be an HPC (High Performance Computing) cluster, or may be a system including multiple client PCs (Personal Computers). The quantum simulation system 1 has a specified algorithm 2. The algorithm 2 is written as, for example, a program and installed in the quantum simulation system 1.
[0016] A user uses a user terminal device 3 to input input information including wave functions, qubits, etc. to the quantum simulation system 1. The quantum simulation system 1 executes a quantum simulation according to an algorithm 2 specified using the input information.
[0017] 2 is a block diagram of a quantum simulation system. The quantum simulation system 1 includes, for example, a management node 101 and a computation node 102. There are multiple computation nodes 102. The management node 101 and each computation node 102 are connected to each other via a network.
[0018] The management node 101 performs overall management of the execution of the quantum simulation. For example, the management node 101 performs resource management of the calculation nodes 102 used in the quantum simulation and their respective memories.
[0019] The computation node 102 executes the actual computation in the quantum simulation. The computation node 102 stores qubits representing the wave function specified by the management node 101 in a memory.
[0020] Here, a qubit, also called a quantum bit, is a unit of information used in quantum computers and represents a quantum state. The huge matrix solved as a problem by a quantum computer is called a Hamiltonian. The Hamiltonian is expressed in the form of a sum of observables. An observable indicates a quantum state represented by multiple quantum bits and is expressed as a tensor product of Pauli matrices. The Hamiltonian and observables are expressed by the following mathematical formula 1.
[0021]
number
[0022] Here, H denotes the Hamiltonian. Pi denotes an observable. σi denotes a Pauli matrix. i denotes the qubit number. Qubit numbers are assigned consecutively from the left end of the bit string to multiple qubits representing a wave function stored in memory, starting from 0, 1, ..., and indicate the position of each qubit. Here, a bit string of multiple qubits representing a wave function is called a "composite qubit."
[0023] The computation node 102 uses the composite qubits stored in the memory to compute the observables and ultimately compute the Hamiltonian.
[0024] When performing calculations related to observables, the calculation node 10 performs calculations of Pauli matrices. There are Pauli matrices for each of the three axes, X, Y, and Z. Figure 3 is a diagram showing the calculation of Pauli matrices.
[0025] Calculation 201 represents the calculation of the expectation value of the Pauli matrix of X. Calculation 202 represents the calculation of the expectation value of the Pauli matrix of Y. Calculation 203 represents the calculation of the expectation value of the Pauli matrix of Z. Here, X0 represents the Pauli matrix of X for the 0th qubit. Y0 represents the Pauli matrix of Y for the 0th qubit. Z0 represents the Pauli matrix of Z for the 0th qubit. Calculations 201 to 203 in FIG. 3 show the calculation of the Pauli matrix for the 0th qubit, but the Pauli matrices of X, Y, and Z for the kth qubit (k=1, 2, . . .) are expressed in the same way. Hereinafter, the market sell matrix of the kth qubit may be referred to as Xk, Yk, or Zk.
[0026] Here, we will briefly explain the storage states of qubits and conventional calculations according to the storage states of the qubits. Figure 4 shows the storage states of qubits. Figure 5 shows an example of a combination of qubits used to calculate the Pauli matrix of X.
[0027] In FIG. 4, storage state 204 indicates the storage state of qubits when all qubits are stored in one computation node 102. Here, an example is shown in which each composite qubit 241 includes four qubits. Each composite qubit 241 represents one quantum state derived by a wave function. When all composite qubits 241 are stored in one computation node 102, calculations can be performed using the composite qubits 241 without specifying where each composite qubit 241 exists. Therefore, in the case of storage state 204, each qubit included in the composite qubit stored in memory can take on an appropriate value.
[0028] In contrast, storage state 205 indicates a state in which composite qubit 251 is stored across four computation nodes 102, i.e., multiple computation nodes 102A to 102D. Here, an example is shown in which each composite qubit 251 includes six qubits. In this case, because calculations are also performed using the composite qubits 251 possessed by each of computation nodes 102A to 102D, it is preferable to identify the location of each composite qubit 251. Therefore, composite qubit 251 has a global qubit and a local qubit. The global qubit also plays a role in indicating the location of composite qubit 251. The local qubit is a qubit that does not indicate the location of composite qubit 251, but rather indicates the state of composite qubit 251 at the location indicated by the global qubit.
[0029] Here, the qubit numbers of the array of composite qubits 251 are 0 to 5, starting from the right. The qubits with qubit numbers 4 and 5 are global qubits, and the qubits with qubit numbers 0 to 3 are local qubits. Here, when the global qubit is 00, it is indicated that the computation node 102A holds the composite qubit 251. When the global qubit is 01, it is indicated that the computation node 102B holds the composite qubit 251. When the global qubit is 10, it is indicated that the computation node 102C holds the composite qubit 251. When the global qubit is 11, it is indicated that the computation node 102D holds the composite qubit 251.
[0030] When calculating the expectation value of a Pauli matrix in calculating an observable in storage state 205, the storage location of composite qubit 251 used in the calculation affects the calculation time. For example, a case will be described where the observable is the Pauli matrix of X for qubit number 0. When calculating the expectation value of the Pauli matrix of X for qubit number 0, information on composite qubit 251 in which the qubit number 0 is different and the values of the other qubits are the same is used as the calculation basis. In other words, composite qubits 251 with the same global qubit are used in the calculation.
[0031] 5 indicates composite qubit 251 held by computation node 102A, and set 262 indicates composite qubit 251 held by computation node 102A. In this case, as shown in computation state 206 in FIG. 5, the multiplication portion of the calculation of the expectation value of the Pauli matrix of X for qubit 0 is performed using set 261 of composite qubit 251 held by computation node 102A. Also, the multiplication portion of the calculation of the expectation value of the Pauli matrix of X for qubit 0 is performed using set 262 of composite qubit 251 held by computation node 102D. Here, the multiplication portion of the calculation of the expectation value of the Pauli matrix of X is the calculation of multiplication 211 in calculation 201 in FIG. 3. In this case, communication does not occur between computation nodes 102A to 102D for the multiplication portion of the calculation of the expectation value of the Pauli matrix of X.
[0032] Returning to FIG. 4 , a case will be described where the observable is the Pauli matrix of X for qubits 4 and 5. When calculating the expectation value of the Pauli matrix of X for qubits 4 and 5, information on composite qubit 251, in which qubits 4 and 5 are different and the values of the other qubits are the same, is used as the calculation basis. In this case, as in composite qubit set 271 shown in calculation state 207 of FIG. 5 , the multiplication portion of the calculation of the expectation value of the Pauli matrix of X for qubit 0 is performed using composite qubit 251 of set 261 and composite qubit 251 of set 262. In this case, communication occurs between each of computation nodes 102A to 102D for the multiplication portion of the calculation of the expectation value of the Pauli matrix of X.
[0033] That is, when the observable is the Pauli matrix of X of a local qubit, the multiplication part of the expectation calculation can be calculated on the same computation node 102. In contrast, when the observable is the Pauli matrix of X of a global qubit, the multiplication part of the expectation calculation requires communication between different computation nodes 102. This is true not only for X0 but also for Xk. The same is true for the product of Pauli matrices such as XkXhXm.
[0034] The same applies to the Pauli matrix of Y. The multiplication part of the calculation of the expectation value of the Pauli matrix of Y is the calculation of the part of multiplication 221 in calculation 202 in Fig. 3. Also, calculation 202 is for Y0, but the same applies to Yk.
[0035] 3, multiplications account for a large portion of calculations of the expected values of the Pauli matrices of X and Y, and additions are few. Therefore, if communication occurs between the computation nodes 102 in the multiplication part of the calculations of the expected values of the Pauli matrices of X and Y, the calculation of the expected values slows down.
[0036] In contrast, as shown in calculation 203 in Fig. 3, the calculation of the expectation value of the Pauli matrix of Z is the sum of the addition parts, and is a combination of additions as a whole. Therefore, even in the case of storage state 205 in Fig. 4, for example, it is possible to perform additions using the qubits stored in each of the calculation nodes 102A to 102D first. Therefore, when the observable is the Pauli matrix of Z, the expectation calculation does not cause processing delays.
[0037] Therefore, the quantum simulation system 1 according to this embodiment executes the following process to improve the efficiency of calculating the expectation values of the Pauli matrices of X and Y. Here, the global qubit is an example of a "first qubit." The local qubit is an example of a "second qubit." That is, the quantum simulation system 1 executes quantum simulation using a plurality of memories 124 that store composite qubits including a first qubit for which storage location information is given. The operation of the quantum simulation system 1 according to this embodiment will be described in detail below.
[0038] 2, the explanation will be continued. The management node 101 includes an input information receiving unit 111, a group generating unit 112, an output unit 113, a calculation supervision unit 114, a qubit reinterpretation unit 115, and a SWAP gate operation unit .
[0039] The input information receiving unit 111 receives input information entered by a user from the user terminal device 3. Here, the input information includes, for example, an algorithm 2, a Hamiltonian, quantum circuit information, a qubit, and a wave function via an ansatz. The ansatz is a quantum circuit for generating a quantum state used in quantum computation. The input information receiving unit 111 then outputs the input information to the computation supervision unit 114. The input information receiving unit 111 also outputs Hamiltonian information included in the input information to the group generation unit 112.
[0040] The computation supervision unit 114 has in advance hardware information such as the number of computation nodes 102 and the capacity of the memory 124 of each computation node 102. The computation supervision unit 114 then acquires input information from the input information receiving unit 111.
[0041] The computation supervision unit 114 uses algorithm 2, quantum circuit information, and hardware information to determine the computation to be executed by each of the computation nodes 102, and generates a computation code for each of the computation nodes 102. Furthermore, the computation supervision unit 114 determines the composite qubit to be held in each of the computation nodes 102, depending on the computation to be executed by each of the computation nodes 102. Thereafter, the computation supervision unit 114 transmits the computation code, the composite qubit to be held, and information on the wave function to each of the computation nodes 102.
[0042] The group generation unit 112 receives an input of Hamiltonian information from the input information receiving unit 111. Then, the group generation unit 112 acquires all observables included in the Hamiltonian.
[0043] Furthermore, group generation unit 112 has in advance the number of global qubits and the number of local qubits in one composite qubit. Furthermore, group generation unit 112 has in advance a predetermined number of qubits, which is the number of qubits to be included in each group when grouping the local qubits.
[0044] Group generation unit 112 groups local qubits by a predetermined number of qubits to generate qubit groups. At this time, group generation unit 112 excludes any remainders from the grouping by the predetermined number of qubits from the qubit groups. In other words, the number of qubit groups is the largest integer equal to or less than the value obtained by dividing the number of local qubits by the predetermined number of qubits. Hereinafter, the number of qubit groups will be referred to as the "number of groups."
[0045] In this embodiment, group generation unit 112 is previously specified to set the number of group qubits to a predetermined number of qubits using algorithm 2. That is, group generation unit 112 generates qubit groups by grouping the qubits included in the composite qubit by the number of global qubits. In this case, the number of groups is the largest integer equal to or less than the value obtained by dividing the number of local qubits by the number of global qubits.
[0046] For example, if the number of global qubits is N and the number of local qubits is M, group generation unit 112 generates ceil(M / N) qubit groups, where ceil is a ceiling function that outputs the largest integer for a given real number.
[0047] 6 is a diagram for explaining qubit groups according to Example 1. The following describes a case where there is a composite qubit 301 and the number of global qubits is four. In this case, the group generation unit 112 groups the local qubits of the composite qubit 301 in groups of four. For example, the group generation unit 112 generates qubit groups by grouping four qubits of each of the composite qubits from the right.
[0048] For example, group generation unit 112 generates qubit groups by grouping local qubit set 313 into one qubit group, grouping local qubit set 312 into the next qubit group, etc. Here, group generation unit 112 divides the local qubits into groups of four, and excludes any remaining local qubits that are less than four from the qubit group.
[0049] In this case, the number of groups is the largest integer equal to or less than the number of local qubits divided by 4. For example, if the number of local qubits is 10, the number of groups is 2, which is the quotient of 10 divided by 4.
[0050] Next, group generation unit 112 assigns numbers to the qubit groups in order, starting from 1. For example, in the case of composite qubit 301 in Fig. 6, group generation unit 112 assigns group number 1 to the qubit group corresponding to set 313, group number 2 to the qubit group corresponding to set 312, and so on. In this case, the number of the qubit group closest to the global qubit becomes the group number.
[0051] Next, the group generation unit 112 selects the observables one by one in turn and performs the following group determination process for each observable. The group generation unit 112 determines whether the observable includes the Pauli matrix of X or the Pauli matrix of Y of the global qubit. If the Pauli matrix of X or the Pauli matrix of Y of the global qubit is not included, the group generation unit 112 places the observable in the Hamiltonian group H0. For observables belonging to this Hamiltonian group H0, no communication occurs between computation nodes 102 in the calculation of the multiplication part of the Pauli matrix of X or Y in the expectation value calculation.
[0052] On the other hand, if the Pauli matrix of X or the Pauli matrix of Y of the global qubit is included, the group generation unit 112 performs the following process. When the local qubits of each qubit group are replaced with global qubits, the group generation unit 112 determines whether or not the multiplication part of the calculation of the expectation value of the observable can be calculated on the same computation node 102. Here, calculating the multiplication part of the calculation of the expectation value of the observable on the same computation node 102 is referred to as "computation within the same storage unit."
[0053] In this embodiment, the group generation unit 112 searches for a qubit group in which none of the X Pauli matrices or Y Pauli matrices of the included local qubits are observably included. If such a qubit group exists, the group generation unit 112 determines that calculation within the same storage unit is possible by replacing the local qubits of that qubit group with global qubits. If such a qubit group does not exist, the group generation unit 112 determines that calculation is difficult in the same calculation node 102 regardless of the replacement of the local qubits and global qubits of any qubit group.
[0054] If calculation within the same storage unit is possible, group generation unit 112 adds the observable to the Hamiltonian group to which the group number of the qubit group to be replaced is assigned. For example, if the number of the qubit group to be replaced is 1, group generation unit 112 adds the observable to the Hamiltonian group H1.
[0055] If it is difficult to perform calculations within the same storage unit even when the local qubit and global qubit of any qubit group are replaced, group generation unit 112 places the observable in a Hamiltonian group assigned a number obtained by adding 1 to the number of groups. That is, the number of Hamiltonian groups is obtained by adding 2 to the number of groups.
[0056] FIG. 7 is a diagram showing an example of grouping Hamiltonian groups. FIG. 7 shows a schematic example 403 of a composite qubit used in the description herein. In this case, the composite qubit includes five qubits. A qubit number is assigned to each qubit as shown in schematic example 403. Of these, qubits 4 and 5 are global qubits, and qubits 0 to 3 are local qubits. The predetermined number of qubits is 2, the same as the number of global qubits. That is, local qubits 0 and 1 and local qubits 2 and 3 each form a qubit group. For example, the group generation unit 112 acquires observables included in the Hamiltonian 401.
[0057] 7, X0 to X5 represent the Pauli matrices of X for the qubits 0 to 5, respectively. Y0 to Y5 represent the Pauli matrices of Y for the qubits 0 to 5, respectively. Z0 to Z5 represent the Pauli matrices of Z for the qubits 0 to 5, respectively. For example, an observable represented as X0X1 indicates that it includes the Pauli matrices of X for the qubits 0 and 1.
[0058] In this case, the group generation unit 112 adds the observable that does not include the Pauli matrix of X or Y of the global qubit to the Hamiltonian group H0. For example, in the case of an observable expressed as X0X1, since it does not include the Pauli matrix of X or Y of the qubits 4 and 5, which are global qubits, the group generation unit 112 adds the observable to the Hamiltonian group H0.
[0059] Furthermore, group generation unit 112 adds observables that include the X or Y Pauli matrix of the global qubit but do not include the X or Y Pauli matrix of the 0th and 1st local qubits to Hamiltonian group H1. Hamiltonian group H1 is a group of observables that can be calculated within the same storage unit by replacing the global qubit with the 0th and 1st local qubits. For example, an observable expressed as X3X4 includes the X Pauli matrix of the 4th global qubit but does not include the X or Y Pauli matrix of the 0th and 1st local qubits. Therefore, group generation unit 112 adds the observable expressed as X3X4 to Hamiltonian group H1.
[0060] Furthermore, the group generation unit 112 adds observables that include the X or Y Pauli matrix of the global qubit but do not include the X or Y Pauli matrix of the second and third local qubits to the Hamiltonian group H2. The Hamiltonian group H2 is a group of observables that can be calculated within the same storage unit by replacing the global qubit with the second and third local qubits. For example, an observable expressed as Y0Z3X5 includes the X Pauli matrix of the fifth global qubit but does not include the X or Y Pauli matrix of the second and third local qubits. Therefore, the group generation unit 112 adds the observable expressed as Y0Z3X5 to the Hamiltonian group H2. In this way, the Z Pauli matrix may be included anywhere.
[0061] Furthermore, the group generation unit 112 adds the remaining observables that do not belong to any of the Hamiltonian groups H0 to H2 to the Hamiltonian group H3. The Hamiltonian group H3 is a group of observables that are difficult to calculate within the same storage unit even when the qubits are reinterpreted. For example, in the case of an observable expressed as X1X3Y5, whether the local qubits 0 and 1, or the local qubits 2 and 3, are reinterpreted as global qubits, the Pauli matrix of X or Y will be included in the global qubit. Therefore, the group generation unit 112 adds the observable to the Hamiltonian group H3.
[0062] As described above, the group generation unit 112 completes the grouping of the Hamiltonian groups of the observables. Here, a Hamiltonian group, such as the Hamiltonian groups H1 and H2, in which calculations within the same storage unit are possible by replacing the global qubit with a local qubit of one of the qubit groups, is an example of a "first group." Also, a Hamiltonian group, such as the Hamiltonian groups H0 and H3, in which calculations within the same storage unit are difficult even when the global qubit is replaced with a local qubit of one of the qubit groups, is an example of a "second group." That is, for each of a plurality of observables included in a predetermined Hamiltonian for which expectation value calculations are performed using a composite qubit, the group generation unit 112 classifies the observables into a first group in which expectation value calculations are possible based on calculations within the same storage unit that perform a predetermined operation in the expectation value calculation using a composite qubit stored in the same storage unit by replacing the first qubit with a second qubit other than the first qubit, and the remaining second group.
[0063] The classification process further includes a process of dividing the second qubits into a plurality of qubit groups, extracting observables for which a predetermined operation in the expectation value calculation is performed using the first qubit, and classifying the extracted observables into a first group if the operation within the same storage unit is possible by replacing the second qubit included in the qubit group with the first qubit for each qubit group, and designating the second qubit included in the qubit group for which the expectation value calculation based on the operation within the same storage unit is possible by replacing the second qubit with the first qubit for the observables classified into the first group as the predetermined second qubit. The classification process also includes a process of classifying, for each extracted observable, a qubit group that is not used in the predetermined operation in the expectation value calculation into the first group. The classification process also includes a process of grouping together observables at the same position in the composite qubit of the qubit group for which the expectation value calculation based on the operation within the same storage unit is possible by replacing the second qubit with the first qubit, generating a plurality of groups.
[0064] Continuing the explanation, returning to Fig. 2, the group generation unit 112 outputs to the qubit reinterpretation unit 115 information on the Hamiltonian group to which each observable belongs, that is, the Hamiltonian group number.
[0065] The qubit reinterpretation unit 115 receives an input of information about the Hamiltonian group to which each observable belongs from the group generation unit 112. Next, the qubit reinterpretation unit 115 receives a qubit reinterpretation inquiry for the calculation of the expectation value of the observable from each computation node 102.
[0066] The qubit reinterpretation unit 115 determines which Hamiltonian group the queried observable belongs to. If the observable belongs to Hamiltonian group H0 or (number of groups + 1), the qubit reinterpretation unit 115 notifies the computation node 102 that qubit reinterpretation will not be performed on the observable.
[0067] On the other hand, if the qubit belongs to a Hamiltonian group other than H0 or (number of groups+1), qubit rereading unit 115 acquires information about the qubit group to be reread as a global qubit, which was determined when the qubit was classified into that Hamiltonian group. A qubit included in a qubit group to be reread as a global qubit, which was determined when the qubit was classified into a Hamiltonian group, is called an "intra-group qubit."
[0068] Then, qubit re-interpretation unit 115 instructs computation node 12 to re-interpret the global qubit and the in-group qubit for the queried observable. Furthermore, qubit re-interpretation unit 115 instructs computation node 12 to re-interpret the global qubit and the in-group qubit after calculating the expected value of the queried observable. By re-executing the qubit re-interpretation, qubit re-interpretation unit 115 restores the qubit information to its original configuration. Furthermore, qubit re-interpretation unit 15 outputs the in-group qubit information for the queried observable to SWAP gate operation unit 116.
[0069] Here, the in-group qubit that is replaced with the global qubit is an example of a "predetermined second qubit." That is, qubit reinterpretation unit 115 instructs that the first qubit be replaced with the predetermined second qubit when calculating the expected value for the observable classified in the first group. The reinterpretation instruction also includes, for each Hamiltonian group, processing to instruct that the first qubit be replaced with the predetermined second qubit for the observable belonging to the Hamiltonian group. The reinterpretation instruction also includes processing to instruct that the first qubit be replaced with the predetermined second qubit again for the observable classified in the first group after the expected value calculation.
[0070] SWAP gate operation unit 116 receives input of information about the in-group qubit for the queried observable from qubit reinterpretation unit 115. Then, SWAP gate operation unit 116 instructs computation node 12 to operate a SWAP gate from the in-group qubit to the global qubit when calculating the expectation value of the queried observable. SWAP gate operation unit 116 also instructs computation node 12 to operate a SWAP gate again from the in-group qubit to the global qubit after calculating the expectation value of the queried observable. By operating the SWAP gate again, SWAP gate operation unit 116 returns the quantum circuit to its original configuration.
[0071] In this way, SWAP gate operation unit 116 instructs, for observables classified into the first group, to operate a SWAP gate between the first qubit and the predetermined second qubit when calculating the expectation value. The instruction to operate the SWAP gate includes, for each Hamiltonian group, a process of instructing the operation of a SWAP gate between the first qubit and the predetermined second qubit for observables belonging to the Hamiltonian group. The instruction to operate the SWAP gate also includes a process of instructing the operation of a SWAP gate between the first qubit and the predetermined second qubit again for observables classified into the first group after the expectation value calculation.
[0072] The output unit 113 acquires the calculation result of the Hamiltonian from the calculation node 102. Then, the output unit 113 outputs the acquired calculation result to the user terminal device 3.
[0073] Next, a description will be given of the calculation node 102. The calculation node 102 includes an expected value calculation extraction unit 121, a calculation execution unit 122, an information management unit 123, and a memory 124, as shown in FIG.
[0074] Information management unit 123 receives the calculation code, and information on the composite qubit and wave function to be held from calculation supervision unit 114 of management node 101. Next, information management unit 123 stores the composite qubit in memory 124. Next, information management unit 123 outputs the calculation code to expected value calculation extraction unit 121 and calculation execution unit 122.
[0075] The expected value calculation extraction unit 121 receives an input of a calculation code from the information management unit 123. Then, the expected value calculation extraction unit 121 extracts the expected value calculation of the observable from the calculation code. After that, the expected value calculation extraction unit 121 outputs a qubit reinterpretation inquiry for each expected value calculation of the observable that is the subject of the extracted expected value calculation to the qubit reinterpretation unit 115 of the management node 101.
[0076] Calculation execution unit 122 receives an input of a calculation code from information management unit 123. Calculation execution unit 122 also receives a notification from qubit reinterpretation unit 115 of management node 101 as to whether or not to reinterpret a global qubit and an in-group qubit in the calculation of the expected value of an observable. Calculation execution unit 122 also receives an instruction from SWAP gate operation unit 116 to reinterpret a global qubit and an in-group qubit again after calculating the expected value of the observable in which the qubit has been reinterpreted.
[0077] Furthermore, calculation execution unit 122 receives instructions from SWAP gate operation unit 116 to operate a SWAP gate from the in-group qubit to the global qubit when calculating the expectation value of the observable that reinterprets the global qubit and the in-group qubit. Furthermore, calculation execution unit 122 receives instructions from SWAP gate operation unit 116 to operate a SWAP gate again from the in-group qubit to the global qubit after calculating the expectation value of the observable that reinterprets the qubit.
[0078] Thereafter, the calculation execution unit 122 starts executing the calculation according to the calculation code. The calculation execution unit 122 executes the calculation using the composite qubit stored in the memory 124 while communicating with other calculation nodes 102.
[0079] Here, when performing an expectation calculation of an observable for which qubit reinterpretation is specified, the calculation execution unit 122 reinterprets the global qubit and the in-group qubit. Furthermore, the calculation execution unit 122 operates a SWAP gate between the in-group qubit and the global qubit. Then, the calculation execution unit 122 performs an expectation calculation of the observable. After completing the expectation calculation of the observable, the calculation execution unit 122 operates a SWAP gate between the in-group qubit and the global qubit. In other words, the calculation execution unit 122 returns the quantum circuit to its original state. This expectation calculation by the calculation execution unit 122 corresponds to an expectation measurement in quantum computing.
[0080] FIG. 8 is a diagram showing an example of the process of expectation value calculation involving qubit reinterpretation. Here, a case will be described in which a quantum circuit U is used to perform calculations in which qubits Q0 to Q5 act on a wave function Ψ0. Qubits Q0 to Q3 are qubits numbered 0 to 3, respectively, and are local qubits. Qubits Q4 to Q5 are qubits numbered 4 and 5, and are global qubits. Here, a case will be described in which observables are divided into Hamiltonian groups numbered H0 to H3. The Hamiltonian group numbered H1 treats qubits numbered 0 and 1 as intra-group qubits. The Hamiltonian group numbered H2 treats qubits numbered 2 and 3 as intra-group qubits.
[0081] The computation execution unit 122 of each computation node 102 performs computations on qubits Q0 to Q5 using the quantum circuit U. Here, it is assumed that the expected value calculations are performed on the observables belonging to the respective Hamiltonian groups H0 to H3 in order. For the observable belonging to the Hamiltonian group H0, the computation execution unit 122 performs the expected value calculation using the quantum circuit U with the qubit as is without performing qubit reinterpretation (step S11).
[0082] Next, for the calculation of the expected value of the observable belonging to the Hamiltonian group H1, the calculation execution unit 122 replaces the qubit Q0 with the qubit Q4 and replaces the qubit Q1 with the qubit Q5. Furthermore, the calculation execution unit 122 operates a SWAP gate between the qubit Q0 and the qubit Q4. The calculation execution unit 122 also operates a SWAP gate between the qubit Q1 and the qubit Q5. In FIG. 6, the quantum circuit U in which the SWAP gate between the qubit Q0 and the qubit Q4 and the SWAP gate between the qubit Q1 and the qubit Q5 are operated is represented as "SWAP(1,5)SWAP(0,4)U." Then, the calculation execution unit 122 performs the calculation of the expected value of the observable belonging to the Hamiltonian group H1 (step S12).
[0083] Next, the calculation execution unit 122 operates a SWAP gate between the qubit Q0 and the qubit Q4, and also operates a SWAP gate between the qubit Q1 and the qubit Q5, thereby restoring the quantum circuit U to its original state. Next, for the expectation value calculation of the observable belonging to the Hamiltonian group H2, the calculation execution unit 122 replaces the qubit Q2 with the qubit Q4, and replaces the qubit Q3 with the qubit Q5. Furthermore, the calculation execution unit 122 operates a SWAP gate between the qubit Q2 and the qubit Q4. Furthermore, the calculation execution unit 122 operates a SWAP gate between the qubit Q3 and the qubit Q5. In FIG. 6, the quantum circuit U in which the SWAP gate between the qubit Q2 and the qubit Q4 and the SWAP gate between the qubit Q3 and the qubit Q5 are operated is represented as "SWAP(3,5)SWAP(2,4)U." Then, the calculation execution unit 122 executes the calculation of the expected value of the observable belonging to the Hamiltonian group H2 (step S13).
[0084] Next, the calculation execution unit 122 operates a SWAP gate between the qubit Q2 and the qubit Q4, and also operates a SWAP gate between the qubit Q3 and the qubit Q5, thereby restoring the quantum circuit U. Then, for the observables belonging to the Hamiltonian group H3, the calculation execution unit 122 performs an expectation value calculation using the quantum circuit U as is with the qubits as they are without performing qubit reinterpretation (step S14).
[0085] 2, the explanation will be continued. When the calculation execution unit 122 completes the calculation according to the calculation code, it transmits the calculation result to the output unit 113 of the management node 101. When the calculation results are to be summarized, any one of the calculation nodes 102 may act as a representative and transmit information summarizing the calculation results of each calculation node 102 to the output unit 113 of the management node 101.
[0086] In this way, the calculation execution unit 122 calculates the expectation value of the Hamiltonian according to instructions from the qubit rereading unit 115 and the SWAP gate operation unit 116.
[0087] 9 is a flowchart showing the entire process of calculating the expected value of the Hamiltonian. Next, the overall flow of the process of calculating the expected value will be described with reference to FIG.
[0088] The input information receiving unit 111 receives the wave function |Ψ>=U|Ψ> via ansats (step S1). Here, U is a quantum circuit, Ψ is a wave function, and Ψ is a wave function in the initial state. That is, the wave function Ψ is obtained by applying the quantum circuit U to the wave function Ψ in the initial state.
[0089] Furthermore, the input information receiving unit 111 acquires a Hamiltonian (step S2). Here, the Hamiltonian is H=ΣWiPi. Pi is an observable. Here, the explanation will be given assuming that there are Ob observables.
[0090] Next, the group generation unit 112 generates Hamiltonian groups H0, H1, ..., H(n-1) (step S3). Here, the Hamiltonian groups H0, H1, ..., H(n-1) are called the H0 group, the H1 group, ..., H(n-1) group, respectively. In this case, the number of groups is n-2. Then, the qubit reinterpretation unit 115 instructs the calculation execution unit 122 to perform qubit reinterpretation according to the Hamiltonian group. Furthermore, the SWAP gate operation unit 116 instructs the calculation execution unit 122 to perform the SWAP gate operation according to the qubit reinterpretation.
[0091] The calculation execution unit 122 calculates the expected value of the observables belonging to the H0 group (step S4).
[0092] Next, the calculation execution unit 122 calculates the expected value of the observables belonging to the H(j+1) (j=0, 1, . . . n-2) group (step S5).
[0093] Next, the calculation execution unit 122 calculates the expected value of the observables belonging to the H(n-1) group (step S6).
[0094] Then, the calculation execution unit 122 adds up the expected values calculated by each calculation node 102 to calculate the expected value of the Hamiltonian (step S7).
[0095] Fig. 10 is a flowchart of the grouping process of Hamiltonian groups. Fig. 10 corresponds to an example of the process executed in step S3 of Fig. 9. Next, the flow of the grouping process of Hamiltonian groups will be described with reference to Fig. 10. Before starting this flow, i is initialized to 1, and j is initialized to 0.
[0096] The group generation unit 112 determines whether the observable Pi includes a Pauli matrix of the global bit X or Y (step S101). If the observable Pi does not include a Pauli matrix of the global bit X or Y (step S101: No), the group generation unit 112 adds the observable Pi to the H0 group (step S102).
[0097] On the other hand, if the observable Pi includes the Pauli matrix of X or Y of the global bit (step S101: Yes), the group generation unit 112 executes the following process. The group generation unit 112 determines whether the observable Pi includes the Pauli matrix of X or Y of the aj-th to bj-th qubits (step S103). Here, aj = j × predetermined number of qubits, and bj = ((j + 1) × predetermined number of qubits) - 1.
[0098] If the observable Pi does not include the Pauli matrix of X or Y of the aj-th to bj-th qubits (step S103: No), the group generation unit 112 adds the observable Pi to the H(j+1) group (step S104).
[0099] On the other hand, if the observable Pi includes the Pauli matrix of X or Y of the aj-th to bj-th qubits (step S103: Yes), the group generation unit 112 determines whether j is equal to or greater than n-2, which is the number of groups (step S105).
[0100] If j is less than n-2, which is the number of groups (step S105: No), the group generating unit 112 increments j by 1 (step S106).
[0101] On the other hand, if j is equal to or greater than n-2, which is the number of groups (step S105: Yes), the group generating unit 112 adds the observable Pi to the H(n-1) group (step S107).
[0102] Next, the group generation unit 112 determines whether i is equal to or greater than Ob, which is the number of observables Pi included in the Hamiltonian (step S108).
[0103] If i is less than Ob (step S108: No), the group generation unit 112 increments i by 1 (step S109). Then, the group generation unit 112 returns to step S101. On the other hand, if i is equal to or greater than Ob (step S108: Yes), the group generation unit 112 ends the grouping process of the Hamiltonian group.
[0104] Fig. 11 is a flowchart of the expected value calculation process for observables belonging to the H0 group. Fig. 11 is an example of the process executed in step S4 of Fig. 9. Next, the flow of the expected value calculation process for observables belonging to the H0 group will be described with reference to Fig. 11.
[0105] The calculation execution unit 122 calculates the observable P 0i One of them is acquired (step S201).
[0106] Next, the calculation execution unit 122 calculates the observable P 0i Expected value of 〈Ψ|W 0i P0i |Ψ> is calculated (step S202).
[0107] Next, the calculation execution unit 122 determines whether or not the expected value calculation has been performed for all observables belonging to the H0 group (step S203). If there are any observables for which the expected value calculation has not been performed (step S203: No), the calculation execution unit 122 returns to step S201.
[0108] On the other hand, if the expected value calculation has been performed for all observables belonging to the H0 group (step S203: Yes), the calculation execution unit 122 executes the following process. 0i P 0i |Ψ> to calculate the expected value of the H0 group <Ψ|H0|Ψ> (step S204).
[0109] Fig. 12 is a flowchart of the expected value calculation process for observables belonging to the H(j+1) group. Fig. 12 is an example of the process executed in step S5 of Fig. 9. Next, the flow of the expected value calculation process for observables belonging to the H(j+1) group will be described with reference to Fig. 12. Here, before the start of this flow, j is initialized and set to 0.
[0110] The calculation execution unit 122 calculates the observable P (j+1)i One of them is acquired (step S301).
[0111] Next, the calculation execution unit 122 replaces the in-group qubits with the global qubits (step S302). The in-group qubits in the H(j+1) group are the aj-th to bj-th qubits. Here, P (j+1)i The observable after qubit reinterpretation is P' (j+1)i It is expressed as:
[0112] Next, the calculation execution unit 122 applies a SWAP gate between the in-group qubit and the global qubit to the quantum circuit U (step S303). Here, the wave function after applying the SWAP gate is represented as |Ψ'>.
[0113] Next, the calculation execution unit 122 calculates the observable P' (j+1)i The expected value of 〈Ψ'|w (j+1)i P' (j+1)i |Ψ'> is calculated (step S304).
[0114] Next, the calculation execution unit 122 operates a SWAP gate between the in-group qubit and the global qubit in the quantum circuit U to restore the wave function to its original state (step S305).
[0115] Next, calculation execution unit 122 replaces the intra-group qubit with the global qubit to restore the qubit to its original state (step S306).
[0116] Next, the calculation execution unit 122 determines whether or not the expected value calculation has been performed for all observables belonging to the H(j+1) group (step S307). If there are any observables for which the expected value calculation has not been performed (step S307: No), the calculation execution unit 122 returns to step S301.
[0117] On the other hand, when the expected value calculation is performed for all observables belonging to the H(j+1) group (step S307: Yes), the calculation execution unit 122 calculates the expected value of the calculated observable P' (j+1)i The expected value of 〈Ψ'|w (j+1)i P' (j+1)i |Ψ'>. In this way, the calculation execution unit 122 calculates H<Ψ'|H'(j+1)|Ψ'>, which is the expected value of the H'(j+1) group (step S308).
[0118] Thereafter, the calculation execution unit 122 determines whether j is equal to or greater than n-2 (step S309).
[0119] If j is less than n-2 (step S309: No), the calculation execution unit 122 increments j by 1 (step S310). Then, the calculation execution unit 122 returns to step S301. On the other hand, if j is equal to or greater than n-2 (step S309: Yes), the calculation execution unit 122 ends the expected value calculation process for the observables belonging to the H(j+1) group.
[0120] Fig. 13 is a flowchart of the expected value calculation process for observables belonging to the H(n-1) group. Fig. 13 is an example of the process executed in step S6 in Fig. 9. Next, the flow of the expected value calculation process for observables belonging to the H(n-1) group will be described with reference to Fig. 13.
[0121] The calculation execution unit 122 calculates the observable P Li One of them is acquired (step S401).
[0122] Next, the calculation execution unit 122 calculates the observable P Li 〈Ψ|w Li P Li |Ψ> is calculated (step S402).
[0123] Next, the calculation execution unit 122 determines whether or not the expected value calculation has been performed for all observables belonging to the H(n-1) group (step S403). If there are any observables for which the expected value calculation has not been performed (step S403: No), the calculation execution unit 122 returns to step S401.
[0124] On the other hand, if the expected value calculation has been performed for all observables belonging to the H(n-1) group (step S403: Yes), the calculation execution unit 122 executes the following process. Li P Li |Ψ> to calculate the expected value of the H(n-1) group <Ψ|HL|Ψ> (step S404).
[0125] Fig. 14 is a diagram showing a comparison of the time consumed for expectation value measurement. Here, referring to Fig. 14, the time consumed for expectation value measurement when no qubit reinterpretation is performed is compared with when the quantum simulation system 1 according to Example 1 is used. Fig. 14 shows a comparison when a 30-qubit problem is solved.
[0126] 14, the vertical axis represents execution time, and the horizontal axis represents the ratio of local qubits to global qubits. Graphs 501 and 502 show results when the ratio of local qubits to global qubits is 28:2. Graphs 511 and 512 show results when the ratio of local qubits to global qubits is 26:4. Graphs 521 and 522 show results when the ratio of local qubits to global qubits is 24:6.
[0127] Graphs 501, 511, and 521 show the time consumed for expectation value measurement when qubit reinterpretation is not performed. Graphs 502, 512, and 522 show the time consumed for expectation value measurement when the quantum simulation system 1 according to Example 1 is used. In all cases, the time consumed for expectation value measurement is significantly reduced when the quantum simulation system 1 according to Example 1 is used compared to when qubit reinterpretation is not performed. Furthermore, the larger the local qubit, the greater the effect of reducing the time consumed for expectation value measurement.
[0128] As described above, the quantum simulation system 1 groups each observable included in the Hamiltonian based on whether it can be calculated on the same computation node 102 by replacing the global qubit with the local qubit. Furthermore, the quantum simulation system 1 groups observables that can be calculated on the same computation node 102 by replacing the local qubit at the same position into the same group. Then, when calculating the expected value of the grouped observers, the quantum simulation system 1 replaces the qubit within the group with a global qubit and operates a SWAP gate between the qubit within the group and the global qubit. Then, the quantum simulation system 1 calculates the expected value of the observable.
[0129] This reduces the amount of communication between the computation nodes 102 in the calculation of the expected value, thereby shortening the time required for the calculation of the expected value. Therefore, it is possible to speed up the quantum simulation of the State Vector method. [Example]
[0130] Next, a quantum simulation system 1 according to a second embodiment will be described. The quantum simulation system 1 according to this embodiment is also represented by the block diagram of FIG. 2. The quantum simulation system 1 according to this embodiment differs from the first embodiment in that the local qubits are divided into a predetermined number of qubits, which is a number other than the number of global groups specified by the user. The following mainly describes the division of the local qubits. In the following explanation, explanations of the operation of each unit similar to that of the first embodiment may be omitted.
[0131] Input information receiving unit 111 receives the predetermined number of qubits specified by the user from user terminal device 3. Then, input information receiving unit 111 outputs the predetermined number of qubits specified by the user to group generating unit 112.
[0132] Group generation unit 112 receives an input of a predetermined number of qubits designated by a user from input information receiving unit 111. Next, group generation unit 112 groups the local qubits by the predetermined number of qubits.
[0133] Fig. 15 is a diagram illustrating a qubit group according to Example 2. Fig. 15 illustrates an example in which the number of global qubits is 4 and 3 is specified as the predetermined number of qubits.
[0134] The group generation unit 112 arranges the qubits included in the composite qubit, with the local qubit to the left of the global qubit. Then, the group generation unit 112 generates qubit groups by grouping four local qubits together starting from the right. Thereafter, the group generation unit 112 uses the generated qubit groups to group the observables included in the Hamiltonian into Hamiltonian groups.
[0135] In this way, even if a qubit group is created with a predetermined number of qubits other than the number of global qubits, it is possible to perform expectation value calculations by performing qubit reinterpretation. In particular, by reducing the predetermined number of qubits, it is possible to improve the probability that expectation value calculations can be performed on the same computation node 102 by performing qubit reinterpretation, even for observables with many X and Y Pauli matrices. Therefore, it is more likely that the time required for expectation value calculations can be shortened, and it is possible to further speed up State Vector quantum simulations.
[0136] (Hardware configuration) 16 is a diagram showing the hardware configuration of the management node and the calculation node 102. Next, an example of the hardware configuration for realizing the functions of the management node 101 and the calculation node 102 will be described with reference to FIG.
[0137] 16, the management node 101 and the calculation node 102 each include, for example, a CPU (Central Processing Unit) 91, a memory 92, a hard disk 93, and a network interface 94. The CPU 91 is connected to the memory 92, the hard disk 93, and the network interface 94 via a bus.
[0138] The network interface 94 is an interface for communication with external devices. For example, the network interface 94 relays communication between the CPU 91 of the management node 101 and the CPU 91 of the calculation node 102. The network interface 94 also relays communication between the CPU 91 of the management node 101 and the user terminal device 3. For example, the network interface 94 realizes communication with the user terminal device 3 via the input information receiving unit 111 and the output unit 113.
[0139] The hard disk 93 is an auxiliary storage device. The hard disk 93 stores various programs including the programs described below. In the case of the management node 101, the hard disk 93 stores programs for realizing the functions of the input information receiving unit 111, the group generating unit 112, the output unit 113, the calculation supervision unit 114, the qubit reinterpretation unit 115, and the SWAP gate operation unit 116, which are exemplified in FIG. 2. In the case of the calculation node 102, the hard disk 93 stores programs for realizing the functions of the expected value calculation extraction unit 121, the calculation execution unit 122, and the information management unit 123, which are exemplified in FIG. 2.
[0140] The memory 92 is a main storage device. For example, a dynamic random access memory (DRAM) can be used as the memory 92. In the case of the computing node 102, the memory 92 corresponds to the memory 124.
[0141] The CPU 91 reads out various programs from the hard disk 93, expands them into the memory 92, and executes them. As a result, in the case of the management node 101, the CPU 91 realizes the functions of the input information receiving unit 111, the group generating unit 112, the output unit 113, the calculation supervision unit 114, the qubit reinterpretation unit 115, and the SWAP gate operating unit 116, which are exemplified in Fig. 2. In addition, in the case of the calculation node 102, the CPU 91 realizes the functions of the expected value calculation extraction unit 121, the calculation execution unit 122, and the information management unit 123, which are exemplified in Fig. 2. [Explanation of symbols]
[0142] 1. Quantum Simulation System 2 Algorithm 3. User terminal device 101 Management Node 102 compute nodes 111 Input information receiving unit 112 Group Generation Unit 113 Output section 114 Computational Management Department 115 Qubit Translator 116 SWAP gate operation unit 121 Expected Value Calculation Extraction Unit 122 Calculation Execution Unit 123 Information Management Department 124 memory
Claims
1. An information processing program for quantum simulation using a plurality of memories that store information indicating a quantum state of a composite qubit including a first qubit to which storage position information is given, For each of a plurality of observables included in a predetermined Hamiltonian for which an expectation value calculation is performed using the composite qubit, by replacing the first qubit with any one of second qubits other than the first qubit, classifying the observables into a first group for which the expectation value calculation is possible based on a calculation within the same storage unit that executes a predetermined operation in the expectation value calculation using a composite qubit held in the same memory, and a second group for other observables; For the observables classified into the first group, instruct to replace the first qubit with a predetermined second qubit when calculating an expectation value, and to operate a SWAP gate between the first qubit and the predetermined second qubit. causing a first computer to execute the process; and causing each of a plurality of second computers to execute a process of calculating the expectation value of the Hamiltonian in accordance with the instruction for the replacement and the instruction for the action of the SWAP gate. An information processing program characterized by:
2. The classification process includes: Dividing the second qubits into a plurality of qubit groups; Extracting an observable on which a predetermined operation in the expectation value calculation is performed using the first qubit; For each of the qubit groups, the extracted observables are classified into a first group when calculation within the same storage unit is possible by replacing the second qubit included in the qubit group with the first qubit; Regarding the observables classified into the first group, the second qubit included in the qubit group that enables an expected value calculation based on the calculation within the same storage unit by replacing it with the first qubit is defined as the predetermined second qubit.
2. The information processing program according to claim 1, further comprising:
3. 3. The information processing program according to claim 2, wherein the classification process includes a process of classifying, for each extracted observable, a qubit group that is not used in a predetermined operation in the expectation value calculation into the first group.
4. The classification process includes a process of grouping together observables having the same position in the composite qubit of the qubit group that can be replaced with the first qubit to perform an expectation value calculation based on the calculation within the same storage unit, and generating a plurality of groups; The instruction to replace includes, for each group, a process of instructing to replace the first qubit with the predetermined second qubit for the observable belonging to the group; The instruction of the operation of the SWAP gate includes a process of instructing, for each of the groups, an operation of a SWAP gate between the first qubit and the predetermined second qubit for the observables belonging to the group.
3. The information processing program according to claim 2, wherein:
5. the instruction to reinterpret includes a process of instructing that the first qubit and the predetermined second qubit be reinterpreted after an expectation value calculation for the observable classified into the first group; The instruction to operate the SWAP gate includes a process of instructing to operate the SWAP gate between the first qubit and the predetermined second qubit again after calculating an expectation value for the observable classified into the first group.
2. The information processing program according to claim 1, wherein:
6. 2. The information processing program according to claim 1, wherein the predetermined operation for calculating the expected value is a multiplication part of the Pauli matrix of X or Y in the observable.
7. 1. An information processing method for quantum simulation using a plurality of memories that store information indicating a quantum state of a composite qubit including a first qubit to which storage position information is given, comprising: The first computer For each of a plurality of observables included in a predetermined Hamiltonian for which an expectation value calculation is performed using the composite qubit, by replacing the first qubit with any one of second qubits other than the first qubit, classifying the observables into a first group for which the expectation value calculation is possible based on a calculation within the same storage unit that executes a predetermined operation in the expectation value calculation using a composite qubit held in the same memory, and a second group for other observables; For the observables classified into the first group, instruct to replace the first qubit with a predetermined second qubit when calculating an expectation value, and to operate a SWAP gate between the first qubit and the predetermined second qubit. Execute the process, Each of the plurality of second computers Execute a process to calculate the expectation value of the Hamiltonian according to the instructions for the reinterpretation and the instructions for the operation of the SWAP gate. An information processing method comprising:
8. An information processing system having a first information processing device and a plurality of second information processing devices each storing information indicating a quantum state of a composite qubit including a first qubit to which storage location information is given in a respective storage unit, The first information processing device a group generation unit that classifies each of a plurality of observables included in a predetermined Hamiltonian for which an expectation value calculation is performed using the composite qubit into a first group in which the expectation value calculation is possible based on a calculation within the same storage unit that executes a predetermined operation in the expectation value calculation using a composite qubit held in the same storage unit, by replacing the first qubit with any of second qubits other than the first qubit, and other second groups; a qubit rereading unit that instructs that the first qubit be reread as a predetermined second qubit when calculating an expectation value for the observable classified into the first group; a SWAP gate operation unit that instructs operating a SWAP gate between the first qubit and the predetermined second qubit when calculating an expectation value for the observable classified into the first group, The second information processing device a calculation execution unit that calculates the expectation value of the Hamiltonian according to instructions from the qubit rereading unit and the SWAP gate operation unit; An information processing system comprising:
Citation Information
Patent Citations
Information processor, simulation method, and program
JP2023013672A