Information processing program, information processing method, and information processing apparatus

By optimizing the distribution of quantum calculation processes across multiple servers using MPI and gRPC parallelism, the program addresses the inefficiencies in VQE processing time and server utilization, enhancing the efficiency of quantum chemical calculations.

JP2025113053APending Publication Date: 2025-08-01FUJITSU LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024007688
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-22
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

The processing time required for quantum chemical calculations using VQE becomes excessively long as the number of qubits increases, and determining how to distribute quantum calculation processing across multiple servers efficiently is challenging, leading to potential server inefficiencies and unfair utilization.

Method used

An information processing program and apparatus that determines optimal parallel numbers for distributing quantum calculation processes across available arithmetic units using a combination of data and distributed processing methods, such as MPI parallelism and gRPC, to minimize processing time and ensure fair server utilization.

Benefits of technology

This approach significantly reduces the processing time for quantum chemical calculations by VQE while improving server operation efficiency and ensuring fair utilization of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025113053000001_ABST
    Figure 2025113053000001_ABST
Patent Text Reader

Abstract

To reduce the processing time required for quantum chemical calculation by VQE.SOLUTION: An information processing apparatus 100 acquires a value list that can be designated as a first parallel number based on information about a target molecule, in which the first parallel number is composed of a combination of the first parallel number and a sample of processing time for executing one time of quantum calculation processing with the first parallel number. The information 100 determines the first parallel number and a second parallel number based on the acquired value list that can be designated as the first parallel number to reduce the processing time for executing the quantum calculation processing multiple times. The information processing apparatus 100 controls the quantum chemical calculation by the VQE based on the determined first parallel number and the second parallel number.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

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 the fields of material development or drug discovery research, etc., there exists VQE (Variational Quantum Eigensolver) as a method for performing quantum chemical calculations to investigate the properties of target molecules or target atoms. VQE is a method that, for example, repeatedly executes an iteration of executing a quantum circuit, obtaining the expectation value of a Hamiltonian based on the quantum state obtained by executing the quantum circuit, and updating the parameters of the quantum circuit so as to minimize the expectation value of the Hamiltonian. Among the quantum chemical calculations by VQE, the part of executing the quantum circuit and the part of obtaining the expectation value of the Hamiltonian are realized by, for example, a quantum simulator.

[0003] As a prior art, for example, there is a technique of implementing quantum calculation processing by a quantum simulator as parallel processing by a plurality of servers using MPI (Message Passing Interface) parallel.

Prior Art Documents

Non-Patent Documents

[0004]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, in the prior art, the processing time required for quantum chemical calculations by VQE may become extremely long. For example, as the number of qubits in the quantum circuit increases, the processing time required for quantum calculation processing by a quantum simulator that executes the quantum circuit increases exponentially, and the processing time required for quantum chemical calculations by VQE becomes large. Further, for example, it is conceivable to implement quantum calculation processing by a quantum simulator as parallel processing by a plurality of servers, but it is difficult to determine how many servers and how to distribute the quantum calculation processing by the quantum simulator.

[0006] In one aspect, an object of the present invention is to reduce the processing time required for quantum chemical calculations by VQE.

Means for Solving the Problems

[0007] According to one embodiment, based on information about a target molecule in quantum chemical calculations by VQE, among a plurality of quantum calculation processes in the quantum chemical calculations, a first parallel number representing how many times the one quantum calculation process is distributed and executed, and a sample of the processing time for executing the one quantum calculation process with the first parallel number, a list of values that can be specified as the first parallel number is obtained, and based on the obtained list of values that can be specified as the first parallel number, within a range where the product of the first parallel number and a second parallel number representing how many times the plurality of quantum calculation processes are distributed and executed does not exceed the number of arithmetic units available for the quantum calculation process, the first parallel number and the second parallel number are determined so that the processing time for executing the plurality of quantum calculation processes becomes small, and based on the determined first parallel number and the second parallel number, an information processing program, an information processing method, and an information processing apparatus for controlling the plurality of quantum calculation processes are proposed.

[0008] According to one embodiment, based on the coefficients of each term among a plurality of terms defining a predetermined Hamiltonian in quantum chemical calculations by VQE, from the predetermined Hamiltonian, terms whose absolute value of the coefficient is less than or equal to a reference value are deleted from the plurality of terms, and using the predetermined Hamiltonian from which the terms whose absolute value of the coefficient is less than or equal to the reference value have been deleted, an information processing program, an information processing method, and an information processing apparatus for controlling the plurality of quantum calculation processes are proposed.

Advantages of the Invention

[0009] According to one aspect, it becomes possible to reduce the processing time for quantum chemical calculations by VQE.

Brief Description of the Drawings

[0010]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

Figure 26

Figure 27

Figure 28

Figure 29

Figure 30

Figure 31

Figure 32

Figure 33

Figure 34

Figure 35

Figure 36

Figure 37

Figure 38

Figure 39

Figure 40

Figure 41

Figure 42

Figure 43

Figure 44

Figure 45

Figure 46

Figure 47

Figure 48

Figure 49

Figure 50

Figure 51

Figure 52

Figure 53

Figure 54

Figure 55

Figure 56

Figure 57

Figure 58

Embodiments for Carrying Out the Invention

[0011] Hereinafter, with reference to the drawings, embodiments of the information processing program, information processing method, and information processing apparatus according to the present invention will be described in detail.

[0012] (An Example of the Information Processing Method According to the Embodiment) FIG. 1 is an explanatory diagram showing an example of the information processing method according to the embodiment. The information processing apparatus 100 is a computer for assisting quantum chemical calculations by VQE. The information processing apparatus 100 is, for example, a server or a PC (Personal Computer). Quantum chemical calculations investigate, for example, the properties of a target molecule or target atoms based on the Schrödinger equation.

[0013] VQE is a method that corresponds to the variational method and solves optimization problems. VQE, for example, sets initial values for the parameters of a quantum circuit. The parameters relate to, for example, the quantum gates of the quantum circuit. The parameters correspond to the variables of the optimization problem. Then, VQE repeatedly performs an iteration of, for example, executing the quantum circuit, obtaining the expectation value of the Hamiltonian based on the quantum state obtained by executing the quantum circuit, and updating the parameters of the quantum circuit so as to minimize the expectation value of the Hamiltonian. The finally obtained expectation value of the Hamiltonian corresponds to the solution of the optimization problem.

[0014] Among the quantum chemical calculations by VQE, the part that executes the quantum circuit and the part that obtains the expectation value of the Hamiltonian are realized, for example, by a quantum simulator. Also, the part that executes the quantum circuit and the part that obtains the expectation value of the Hamiltonian may be realized, for example, by the actual machine of a quantum computer. For the details of VQE, reference can be made to, for example, the following Reference 1.

[0015] Reference 1: Peruzzo, Alberto, et al. “A variational eigenvalue solver on a photonic quantum processor.” Nature communications 5.1 (2014): 4213.

[0016] However, there is a problem that the processing time required for quantum chemistry calculations by VQE becomes extremely long. For example, as the number of qubits in the quantum circuit increases, the processing time required for quantum calculation processing by a quantum simulator that executes the quantum circuit increases exponentially, and the processing time required for quantum chemistry calculations by VQE becomes large. Specifically, the larger the scale of the target molecule, the more qubits in the quantum circuit, and the processing time required for quantum chemistry calculations by VQE can be hundreds of days. Also, for example, as the number of qubits in the quantum circuit increases, the memory usage required for quantum calculation processing by a quantum simulator increases exponentially, making it difficult to implement quantum calculation processing by a quantum simulator on a single server.

[0017] Therefore, it is conceivable to implement quantum calculation processing by a quantum simulator as parallel processing by a plurality of servers. By implementing quantum calculation processing by a quantum simulator as parallel processing by a plurality of servers, it is expected to reduce the processing time required for quantum calculation processing by a quantum simulator and to cope with an increase in the memory usage required for quantum calculation processing by a quantum simulator.

[0018] At this time, it is difficult to determine which servers and how to distribute the quantum calculation processing by the quantum simulator. For example, from the perspective of the effect of capital investment, it is desirable to improve the operation efficiency of the servers. Specifically, it is desirable not to generate surplus servers that do not take on any jobs. In particular, in an on-premises environment, it is desirable to improve the operation efficiency of the servers. For example, when preparing a system including a large number of servers to handle a relatively large number of qubits, when performing quantum chemistry calculations by VQE to solve an optimization problem with a relatively small number of qubits, surplus servers are likely to be generated.

[0019] Also, for example, it is desirable to ensure the fairness of server utilization. Specifically, it is desirable to share a system including a large number of servers among various calculation applications including quantum chemistry calculations by VQE without being occupied only by quantum chemistry calculations by VQE. For example, if a relatively large number of servers are allocated to quantum chemistry calculations by VQE within the system, there will be a shortage of servers to be allocated to other jobs other than quantum chemistry calculations by VQE, and other jobs will be in a waiting state without being executed. Also, for example, it is desirable to appropriately determine which servers and how to distribute the quantum calculation processing by the quantum simulator according to the number of qubits in the quantum circuit.

[0020] Thus, it is desirable to appropriately determine which servers and how to distribute the quantum calculation processing by the quantum simulator while ensuring the fairness of server utilization so as not to generate surplus servers. Here, as described above, it is difficult to determine which servers and how to distribute the quantum calculation processing by the quantum simulator. Therefore, it is difficult not to generate surplus servers. Also, it is difficult to ensure the fairness of server utilization. Also, it is difficult to appropriately improve the efficiency of the quantum calculation processing by the quantum simulator.

[0021] Further, for example, when performing one quantum calculation process shown in FIGS. 6 and 39 described later using a quantum simulator, a method of implementing it as parallel processing by a plurality of servers by MPI (Message Passing Interface) parallelism can be considered. For this method, for example, Non-Patent Document 1 can be referred to. In quantum chemical calculation by VQE, the quantum calculation process by the quantum simulator is repeatedly executed, and since the total processing time required for a plurality of quantum calculation processes becomes extremely long, it is desired to further improve the efficiency of the quantum calculation process by the quantum simulator.

[0022] Therefore, in the present embodiment, an information processing method capable of reducing the processing time required for quantum chemical calculation by VQE will be described. Specifically, according to the information processing method, by appropriately determining which servers and how to distribute the quantum calculation process by the quantum simulator, it is possible to reduce the processing time required for quantum chemical calculation by VQE.

[0023] In FIG. 1, the information processing apparatus 100 has a storage unit 110. The storage unit 110 stores a value list that can be specified as a first parallel number, which is a combination of the first parallel number and a sample of the processing time for executing one quantum calculation process with the first parallel number. For example, a specific example of the value list corresponds to the table 1900 shown in FIG. 19, and will be described later with reference to FIG. 19.

[0024] The first parallel number represents how many times one quantum calculation process is distributed and executed among a plurality of quantum calculation processes in quantum chemical calculation by VQE. The first parallel number is, for example, the number of parallelisms corresponding to a parallel processing method called data parallelism. Data parallelism corresponds to, for example, MPI parallelism. Data parallelism may correspond to a method other than MPI parallelism, for example. The plurality of quantum calculation processes in quantum chemical calculation by VQE are, as a typical example, in an optimization algorithm using a gradient, for the number of times equal to the number of parameters set in the quantum circuit in order to perform a gradient calculation for obtaining a gradient, the quantum calculation process is executed.

[0025] The memory unit 110 stores, for example, a list of values that can be specified as the first parallel number, which consists of a combination of the first parallel number associated with information regarding each of a plurality of molecules and a sample of the processing time for executing one quantum calculation process with the first parallel number. Information regarding the molecule includes, for example, the type of the molecule. Information regarding the molecule includes, for example, the number of qubits that define the quantum circuit corresponding to the molecule. Information regarding the molecule may include, for example, the arrangement of atoms in the molecule.

[0026] (1-1) The information processing apparatus 100 acquires information regarding the target molecule in the quantum chemistry calculation by VQE. Information regarding the target molecule includes, for example, the type of the target molecule. Information regarding the target molecule includes, for example, the number of qubits that define the quantum circuit corresponding to the target molecule. Information regarding the target molecule may include, for example, the arrangement of atoms in the target molecule. The information processing apparatus 100 acquires a list of values that can be specified as the first parallel number, which consists of a combination of the first parallel number and a sample of the processing time for executing one quantum calculation process with the first parallel number, based on the information regarding the target molecule. Specifically, the information processing apparatus 100 refers to the memory unit 110 and acquires a list of values that can be specified as the first parallel number, which consists of a combination of the first parallel number associated with the information regarding the target molecule and a sample of the processing time for executing one quantum calculation process with the first parallel number.

[0027] (1-2) The information processing apparatus 100 determines the first parallel number and the second parallel number based on the acquired list of values that can be specified as the first parallel number. The second parallel number represents how many times the multiple quantum calculation processes in the quantum chemistry calculation by VQE are distributed and executed. The second parallel number is, for example, the parallel number corresponding to a parallel processing method called distributed processing. The distributed processing corresponds to, for example, gRPC (Remote Procedure Call) distributed processing. The distributed processing may correspond to, for example, a method other than gRPC distributed processing. The information processing apparatus 100 acquires, for example, the number of arithmetic units 101 available for the quantum calculation process.

[0028] The computing device 101 is, for example, a computer that activates a quantum simulator. The computing device 101 is, for example, a server. The computing device 101 executes all or part of the quantum chemistry calculation by VQE using a quantum simulator. The information processing device 100 determines the first parallel number and the second parallel number so that the processing time for executing multiple quantum calculation processes is reduced within a range where the product of the first parallel number and the second parallel number does not exceed the number of available computing devices 101 for the acquired quantum calculation process.

[0029] Specifically, the information processing device 100 identifies a plurality of possible combinations of the first parallel number and the second parallel number within a range where the product of the first parallel number and the second parallel number does not exceed the number of available computing devices 101 for the quantum calculation process. Specifically, for each of the identified combinations, the information processing device 100 calculates an estimated value of the processing time for executing the quantum chemistry calculation by VQE, and searches for the combination with the smallest estimated value. Specifically, the information processing device 100 determines the first parallel number and the second parallel number based on the discovered combination.

[0030] Thereby, the information processing device 100 can search for the optimal combination among the plurality of possible combinations and can appropriately determine the first parallel number and the second parallel number. When determining the first parallel number and the second parallel number, the information processing device 100 can consider the operational efficiency of the computing device 101 and the fairness of using the computing device 101 based on the number of available computing devices 101.

[0031] (1-3) The information processing device 100 controls multiple quantum calculation processes based on the determined first parallel number and second parallel number. The information processing device 100 controls multiple quantum calculation processes in at least one of the multiple iterations that are repeatedly executed during the quantum chemistry calculation by VQE, for example. The information processing device 100 controls multiple quantum calculation processes in all of the multiple iterations based on the determined first parallel number and second parallel number, for example.

[0032] Specifically, the information processing apparatus 100 controls the system to execute multiple quantum calculation processes in all iterations of multiple iterations by using different parallel processing methods in combination based on the determined first parallel number and the second parallel number. The system includes a plurality of arithmetic units 101. The parallel processing methods are, for example, the above-described data parallelism and the above-described distributed processing, two of them.

[0033] Thereby, the information processing apparatus 100 can reduce the processing time required for quantum chemistry calculations by VQE. Specifically, when the information processing apparatus 100 implements multiple quantum calculation processes by a quantum simulator that forms a quantum chemistry calculation by VQE as parallel processing by a plurality of arithmetic units 101, it can reduce the processing time required for the multiple quantum calculation processes by the quantum simulator.

[0034] Specifically, the information processing apparatus 100 can appropriately distribute the quantum calculation process by the quantum simulator to the number of arithmetic units 101 corresponding to the product of the first parallel number and the second parallel number while considering the number of available arithmetic units 101 by using different parallel processing methods in combination.

[0035] For this reason, specifically, the information processing apparatus 100 can improve the operation efficiency of the arithmetic unit 101 and ensure the fairness of use of the arithmetic unit 101, and can distribute the quantum calculation process by the quantum simulator to an appropriate number of arithmetic units 101. Specifically, the information processing apparatus 100 can appropriately improve the efficiency of the quantum calculation process by the quantum simulator and can reduce the processing time required for the quantum calculation process by the quantum simulator.

[0036] Here, the case where the information processing apparatus 100 determines the first parallel number and the second parallel number once for the entirety of a plurality of iterations has been described, but it is not limited to this. For example, the information processing apparatus 100 may determine the first parallel number and the second parallel number for each iteration of the plurality of iterations. Specifically, the information processing apparatus 100 re - determines the first parallel number and the second parallel number each time immediately before executing each iteration of the plurality of iterations.

[0037] Here, the case where the function of the information processing apparatus 100 is realized by a single computer has been described, but it is not limited to this. For example, the function of the information processing apparatus 100 may be realized by the cooperation of a plurality of computers. For example, the function of the information processing apparatus 100 may be realized on the cloud.

[0038] Here, the case where the information processing apparatus 100 reduces the processing time required for quantum chemical calculation by VQE by parallel - processing quantum - calculation processing by a quantum simulator based on the first parallel number and the second parallel number has been described, but it is not limited to this.

[0039] For example, in quantum chemical calculation by VQE, as the number of terms defining the Hamiltonian for the target molecule increases, the processing time for obtaining the expectation value of the Hamiltonian increases, and the processing time required for quantum chemical calculation by VQE becomes extremely large. In contrast, the information processing apparatus 100 may reduce the processing time for obtaining the expectation value of the Hamiltonian by reducing the number of terms defining the Hamiltonian, and may reduce the processing time required for quantum chemical calculation by VQE.

[0040] Specifically, after the information processing apparatus 100 determines the first parallel number and the second parallel number, it may reduce the terms defining the Hamiltonian to reduce the processing time for quantum chemistry calculations by VQE. Also, specifically, even when the information processing apparatus 100 reduces the terms defining the Hamiltonian without determining the first parallel number and the second parallel number, it may reduce the processing time for quantum chemistry calculations by VQE. Examples of cases where the information processing apparatus 100 reduces the number of terms defining the Hamiltonian will be described later with reference to FIGS. 40 to 58.

[0041] (An example of the information processing system 200) Next, with reference to FIG. 2, an example of an information processing system 200 to which the information processing apparatus 100 shown in FIG. 1 is applied will be described.

[0042] FIG. 2 is an explanatory diagram showing an example of the information processing system 200. In FIG. 2, the information processing system 200 includes an information processing apparatus 100, a control apparatus 211, an arithmetic system 210, and a client apparatus 201. The arithmetic system 210 includes, for example, a plurality of arithmetic devices 212.

[0043] In the information processing system 200, the information processing apparatus 100 and the control apparatus 211 are connected via a wired or wireless network 220. The network 220 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like. Also, in the information processing system 200, the control apparatus 211 and the arithmetic devices 212 are connected via a wired or wireless network 220. Also, in the information processing system 200, the information processing apparatus 100 and the client apparatus 201 are connected via a wired or wireless network 220. Also, in the information processing system 200, the control apparatus 211 and the client apparatus 201 are connected via a wired or wireless network 220.

[0044] The information processing apparatus 100 is a computer that controls an arithmetic system 210 that executes quantum computing processing. The information processing apparatus 100 determines how to distribute a plurality of quantum computing processes among a plurality of arithmetic units 212 of the arithmetic system 210 in quantum chemistry calculations by VQE, and controls the plurality of arithmetic units 212 of the arithmetic system 210 via a control device 211. The plurality of quantum computing processes may include, for example, a quantum computing process that realizes gradient calculation. The plurality of quantum computing processes may include, for example, a quantum computing process that realizes other than gradient calculation. The quantum computing process that realizes other than gradient calculation is, for example, a quantum computing process that realizes parameter search, etc.

[0045] The information processing apparatus 100 has, for example, a storage unit. The storage unit stores a value list that can be specified as a first parallel number, which is composed of a combination of the first parallel number and a sample of the processing time for executing one quantum computing process with the first parallel number. The storage unit stores, for example, in association with information regarding each of a plurality of molecules, a value list that can be specified as a first parallel number, which is composed of a combination of the first parallel number and a sample of the processing time for executing one quantum computing process with the first parallel number.

[0046] The information processing apparatus 100 acquires, for example, a processing request that requests to solve a problem regarding a target molecule, by receiving it from the client device 201. The processing request includes, for example, information regarding the target molecule in quantum chemistry calculations by VQE. The information processing apparatus 100 may acquire a processing request, for example, based on a user's operation input. The information processing apparatus 100 acquires information regarding the target molecule in quantum chemistry calculations by VQE, for example, based on the acquired processing request.

[0047] The information processing apparatus 100 acquires, for example, a list of values that can be specified as the first parallel number, which consists of a combination of the first parallel number and a sample of the processing time for executing one quantum calculation process with the first parallel number, based on information regarding a target molecule. Specifically, the information processing apparatus 100 refers to the storage unit and acquires a list of values that can be specified as the first parallel number, which consists of a combination of the first parallel number and a sample of the processing time for executing one quantum calculation process with the first parallel number, associated with the acquired information regarding the target molecule.

[0048] The information processing apparatus 100 acquires, for example, the number of arithmetic units 212 currently available for quantum calculation processing by querying the control device 211. Based on the acquired list of values that can be specified as the first parallel number, the information processing apparatus 100 determines the first parallel number and the second parallel number such that the product of the first parallel number and the second parallel number does not exceed the acquired number and the processing time for executing multiple quantum calculation processes is minimized. Thereby, the information processing apparatus 100 can appropriately determine, for example, how to distribute multiple quantum calculation processes among multiple arithmetic units 212.

[0049] The information processing apparatus 100 transmits a calculation request to the control device 211 to execute multiple quantum calculation processes in each iteration of a plurality of iterations based on the determined first parallel number and the second parallel number. The plurality of iterations are two or more iterations repeatedly executed during quantum chemistry calculation by VQE. The calculation request includes, for example, the determined first parallel number and the second parallel number. The calculation request may include information regarding the target molecule, for example. The information processing apparatus 100 may be able to control the arithmetic system 210 to execute multiple quantum calculation processes in each iteration of a plurality of iterations based on the first parallel number and the second parallel number without going through the control device 211. Thereby, the information processing apparatus 100 can control the arithmetic system 210 to efficiently execute quantum chemistry calculation by VQE.

[0050] The information processing apparatus 100 may, for example, send a calculation request to the control device 211 so as to execute a plurality of quantum calculation processes in the first iteration of a plurality of iterations based on the determined first parallel number and the second parallel number. In this case, each time any iteration is executed in the arithmetic system 210, the information processing apparatus 100 may re-determine the first parallel number and the second parallel number for the next iteration. Then, based on the re-determined first parallel number and the second parallel number, the information processing apparatus 100 sends a calculation request to the control device 211 so as to execute a plurality of quantum calculation processes in the next iteration. Thereby, the information processing apparatus 100 can control the arithmetic system 210 so as to efficiently execute quantum chemistry calculations by VQE.

[0051] The information processing apparatus 100 receives, from the control device 211, a solution to a problem regarding the target molecule obtained as a result of executing a quantum chemistry calculation by VQE. The information processing apparatus 100 outputs the solution to the problem regarding the target molecule to the outside. The information processing apparatus 100, for example, sends the solution to the problem regarding the target molecule to the client device 201. The information processing apparatus 100 may output the solution to the problem regarding the target molecule so that the user can refer to it. Thereby, the information processing apparatus 100 can make the solution to the problem regarding the target molecule available for external use. The information processing apparatus 100 is, for example, a server or a PC or the like.

[0052] The control device 211 is a computer that controls a plurality of arithmetic units 212. In response to an inquiry, the control device 211 transmits the number of arithmetic units 212 currently available for quantum calculation processing to the information processing device 100. The control device 211 receives a calculation request from the information processing device 100. The control device 211 acquires a first parallel number and a second parallel number based on the calculation request. Based on the first parallel number and the second parallel number, the control device 211 allocates and executes multiple quantum calculation processes in quantum chemistry calculation by VQE to one or more of the plurality of arithmetic units 212. The control device 211 transmits the solution to the problem regarding the target molecule obtained as a result of executing the quantum chemistry calculation by VQE to the information processing device 100. The control device 211 is, for example, a server or a PC, etc.

[0053] The arithmetic unit 212 is a computer that executes the requested calculation process. The arithmetic unit 212 is capable of executing quantum calculation processing. The arithmetic unit 212 may be capable of executing classical calculation processing. For example, the arithmetic unit 212 activates a quantum simulator. For example, the arithmetic unit 212 executes quantum calculation processing by a quantum simulator according to the control of the control device 211. There may be a case where the arithmetic unit 212 executes quantum calculation processing by a quantum simulator according to the control of the information processing device 100. The arithmetic unit 212 is, for example, a classical computer that activates a quantum simulator. The classical computer is, for example, a server or a PC, etc. The arithmetic unit 212 may be, for example, a quantum computer that does not have a quantum simulator.

[0054] The client device 201 is a computer used by a user who desires to execute quantum chemistry calculations by VQE. Based on the user's operation input, the client device 201 generates a processing request that requests solving a problem regarding a target molecule, and transmits it to the information processing device 100. The client device 201 receives, from the information processing device 100, a solution to the problem regarding the target molecule obtained as a result of executing the quantum chemistry calculation by VQE. The client device 201 outputs the solution to the problem regarding the target molecule obtained as a result of executing the quantum chemistry calculation by VQE so that the user can refer to it. The client device 201 is, for example, a PC, a tablet terminal, or a smartphone, etc.

[0055] Here, the case where the information processing device 100 and the control device 211 are different devices has been described, but it is not limited to this. For example, the information processing device 100 may have a function as the control device 211 and may also operate as the control device 211. Also, the case where the information processing device 100 and the client device 201 are different devices has been described, but it is not limited to this. For example, the information processing device 100 may have a function as the client device 201 and may also operate as the client device 201.

[0056] (Hardware configuration example of the information processing device 100) Next, a hardware configuration example of the information processing device 100 will be described with reference to FIG. 3.

[0057] FIG. 3 is a block diagram showing a hardware configuration example of the information processing device 100. In FIG. 3, the information processing device 100 includes a CPU (Central Processing Unit) 301, a memory 302, a network I / F (Interface) 303, a recording medium I / F 304, and a recording medium 305. Also, each component is connected to each other by a bus 300.

[0058] Here, the CPU 301 controls the overall operation of the information processing apparatus 100. The memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), and a flash ROM. Specifically, for example, the flash ROM or ROM stores various programs, and the RAM is used as the work area of the CPU 301. The programs stored in the memory 302 are loaded into the CPU 301, causing the CPU 301 to execute the encoded processes.

[0059] The network I / F 303 is connected to the network 220 through a communication line and is connected to other computers via the network 220. Then, the network I / F 303 manages the interface between the network 220 and the internal components and controls the input / output of data from / to other computers. The network I / F 303 is, for example, a modem or a LAN adapter.

[0060] The recording medium I / F 304 controls the reading / writing of data to / from the recording medium 305 according to the control of the CPU 301. The recording medium I / F 304 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, etc. The recording medium 305 is a non-volatile memory that stores the data written under the control of the recording medium I / F 304. The recording medium 305 is, for example, a disk, a semiconductor memory, a USB memory, etc. The recording medium 305 may be detachable from the information processing apparatus 100.

[0061] In addition to the components described above, the information processing apparatus 100 may have, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, etc. Also, the information processing apparatus 100 may have multiple recording medium I / Fs 304 and recording media 305. Further, the information processing apparatus 100 may not have the recording medium I / F 304 and the recording medium 305.

[0062] (Hardware Configuration Example of the Control Device 211) Since the hardware configuration example of the control device 211 is the same as the hardware configuration example of the information processing device 100 shown in FIG. 3, the description thereof is omitted.

[0063] (Hardware Configuration Example of the Arithmetic Unit 212) When the arithmetic unit 212 is a classical computer that activates a quantum simulator, the hardware configuration example of the arithmetic unit 212 is the same as the hardware configuration example of the information processing device 100 shown in FIG. 3, so the description thereof is omitted. On the other hand, the case where the arithmetic unit 212 is a quantum computer can be considered. Here, with reference to FIG. 4, the hardware configuration example of the arithmetic unit 212 when the arithmetic unit 212 is a quantum computer will be described.

[0064] FIG. 4 is a block diagram showing a hardware configuration example of the arithmetic unit 212. In FIG. 4, the arithmetic unit 212 includes a CPU 401, a memory 402, a network I / F 403, a recording medium I / F 404, and a recording medium 405. The arithmetic unit 212 further includes an arithmetic housing I / F 406 and a quantum arithmetic housing 407. Each component is connected by a bus 400.

[0065] Here, the CPU 401 controls the entire arithmetic unit 212. The memory 402 includes, for example, a ROM, a RAM, and a flash ROM. Specifically, for example, the flash ROM and the ROM store various programs, and the RAM is used as a work area for the CPU 401. The programs stored in the memory 402 are loaded into the CPU 401 to cause the CPU 401 to execute the coded processing.

[0066] The network I / F 403 is connected to the network 220 through a communication line and is connected to other computers via the network 220. Then, the network I / F 403 manages the interface with the network 220 and controls the input / output of data from other computers. The network I / F 403 is, for example, a modem or a LAN adapter.

[0067] The recording medium I / F 404 controls the read / write of data to / from the recording medium 405 according to the control of the CPU 401. The recording medium I / F 404 is, for example, a disk drive, an SSD, a USB port, or the like. The recording medium 405 is a non-volatile memory that stores the data written under the control of the recording medium I / F 404. The recording medium 405 is, for example, a disk, a semiconductor memory, a USB memory, or the like. The recording medium 405 may be detachable from the arithmetic unit 212.

[0068] The arithmetic unit housing I / F 406 controls the access to the quantum arithmetic unit 407 according to the control of the CPU 401. The arithmetic unit housing I / F 406 uses a microwave pulse generator to convert the output signal from the CPU 401 into an input signal for the quantum arithmetic unit 407 and transmits it to the quantum arithmetic unit 407. The arithmetic unit housing I / F 406 uses a microwave pulse demodulator to convert the output signal from the quantum arithmetic unit 407 into an input signal for the CPU 401 and transmits it to the CPU 401. The quantum arithmetic unit 407 is an arithmetic device equipped with one or more quantum bit chips cooled to an extremely low temperature of 10 mK. The quantum bit chip represents, for example, a logical quantum bit. The quantum arithmetic unit 407 uses one or more quantum bit chips to perform a predetermined operation according to the input signal and outputs an output signal corresponding to the result of the predetermined operation.

[0069] In addition to the components described above, the arithmetic unit 212 may have, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, or the like. Also, the arithmetic unit 212 may have a plurality of recording medium I / Fs 404 and recording media 405. Also, the arithmetic unit 212 may not have the recording medium I / F 404 or the recording medium 405. Also, the quantum bit chips in the quantum arithmetic unit 407 may be controlled by a method other than microwaves. The quantum bit chips in the quantum arithmetic unit 407 may realize, for example, optical quantum bits.

[0070] (Hardware configuration example of the client device 201) Since the hardware configuration example of the client device 201 is specifically the same as the hardware configuration example of the information processing device 100 shown in FIG. 3, the description thereof will be omitted.

[0071] (Functional Configuration Example of Information Processing Device 100) Next, with reference to FIG. 5, a functional configuration example of the information processing device 100 will be described.

[0072] FIG. 5 is a block diagram showing a functional configuration example of the information processing device 100. The information processing device 100 includes a storage unit 500, an acquisition unit 501, a determination unit 502, a deletion unit 503, an instruction unit 504, an update unit 505, and an output unit 506.

[0073] The storage unit 500 is realized by a storage area such as the memory 302 and the recording medium 305 shown in FIG. 3, for example. Hereinafter, the case where the storage unit 500 is included in the information processing device 100 will be described, but it is not limited thereto. For example, the storage unit 500 may be included in a device different from the information processing device 100, and the stored content of the storage unit 500 may be referable from the information processing device 100.

[0074] The acquisition unit 501 to the output unit 506 function as an example of a control unit. Specifically, the acquisition unit 501 to the output unit 506 realize their functions by causing the CPU 301 to execute a program stored in a storage area such as the memory 302 and the recording medium 305 shown in FIG. 3, or by the network I / F 303. The processing result of each functional unit is stored in a storage area such as the memory 302 and the recording medium 305 shown in FIG. 3, for example.

[0075] The storage unit 500 stores various information that is referenced or updated in the processing of each functional unit. Specifically, the storage unit 500 stores a list of values that can be specified as the first parallel number, which consists of a combination of the first parallel number and a sample of the processing time for executing one quantum calculation process with the first parallel number. The first parallel number represents how many times one quantum calculation process is distributed and executed among multiple quantum calculation processes. The multiple quantum calculation processes are included in the quantum chemistry calculation by VQE. The quantum chemistry calculation by VQE is realized by a plurality of iterations that are repeatedly executed. The multiple quantum calculation processes are included in the iterations, for example.

[0076] An iteration includes, for example, a gradient calculation. The gradient calculation is a process performed to find a minimum value and is a calculation process executed within an optimization algorithm for searching for a minimum value, such as the SLSQP method. An iteration includes, for example, the search for optimal parameters. The multiple quantum calculation processes include, for example, two or more quantum calculation processes that realize a gradient calculation. The multiple quantum calculation processes may include, for example, two or more quantum calculation processes that realize the search for optimal parameters. The two or more quantum calculation processes that realize a gradient calculation are a collection of quantum calculation processes that exist for the number of parameters set in the quantum circuit used for the quantum chemistry calculation by VQE. An iteration includes, for example, an expected value calculation. The expected value calculation is to obtain the expected value of the Hamiltonian. The first parallel number may be different for each quantum calculation process.

[0077] Specifically, the storage unit 500 stores a list of values that can be specified as the first parallel number, which consists of a combination of the first parallel number and a sample of the processing time for executing one quantum calculation process with the first parallel number, in association with information regarding each of a plurality of molecules. Specifically, the storage unit 500 stores a list of values that can be specified as the first parallel number using the table 1900, which will be described later with reference to FIG. 19. The list of values that can be specified as the first parallel number is, for example, stored in advance by the storage unit 500. The list of values that can be specified as the first parallel number may be obtained by the acquisition unit 501 and stored by the storage unit 500.

[0078] The storage unit 500 stores characteristic information representing a change in the processing time for obtaining the expected value of the Hamiltonian according to, for example, a change in the number of terms defining the Hamiltonian. The characteristic information includes, for example, a variable representing the number of terms of the Hamiltonian and is mathematical formula information that enables calculation of the processing time for obtaining the expected value of the Hamiltonian. The mathematical formula information includes coefficients of the mathematical formula and the like. Specifically, the storage unit 500 stores the mathematical formula information using the table 4300 described later with reference to FIG. 43. The characteristic information may be, for example, a database in table form. The characteristic information is, for example, stored in advance by the storage unit 500. The characteristic information may be, for example, acquired by the acquisition unit 501 and stored by the storage unit 500.

[0079] The storage unit 500 stores various types of information referred to in quantum chemical calculations by VQE for solving problems related to target molecules. The various types of information include, for example, molecular information regarding the target molecule in quantum chemical calculations by VQE. The various types of information include, for example, mathematical formula information representing a predetermined Hamiltonian regarding the target molecule. The mathematical formula information includes, for example, a plurality of terms defining the predetermined Hamiltonian and coefficients applied to each of the plurality of terms. Specifically, the storage unit 500 stores the molecular information. The molecular information is, for example, acquired by the acquisition unit 501 and stored by the storage unit 500. Specifically, the storage unit 500 stores the mathematical formula information. The mathematical formula information is, for example, acquired by the acquisition unit 501 and stored by the storage unit 500. The mathematical formula information may be generated based on the molecular information and stored by the storage unit 500.

[0080] The storage unit 500 stores the number of arithmetic units 212 available for quantum calculation processing among the arithmetic systems 210 including a plurality of arithmetic units 212. The number of arithmetic units 212 is, for example, acquired by the acquisition unit 501 and stored by the storage unit 500. Thereby, the storage unit 500 can sequentially store the latest demand for the arithmetic unit 212.

[0081] The acquisition unit 501 acquires various types of information used for the processing of each functional unit. The acquisition unit 501 stores the acquired various types of information in the storage unit 500 or outputs it to each functional unit. Also, the acquisition unit 501 may output the various types of information stored in the storage unit 500 to each functional unit. The acquisition unit 501 acquires various types of information, for example, based on the operation input of the user. The acquisition unit 501 may receive various types of information from a device different from the information processing apparatus 100, for example.

[0082] The acquisition unit 501 acquires, for example, a processing request that requests solving a problem related to a target molecule. The processing request may include molecular information related to the target molecule in quantum chemical calculations by VQE. The processing request may include mathematical formula information representing a predetermined Hamiltonian related to the target molecule. Specifically, the acquisition unit 501 acquires the processing request by receiving it from another computer. The other computer is, for example, the client device 201 or the like. Specifically, the acquisition unit 501 acquires the processing request by accepting the input of the processing request based on the operation input of the user.

[0083] The acquisition unit 501 acquires, for example, molecular information related to a target molecule in quantum chemical calculations by VQE. Specifically, the acquisition unit 501 acquires the molecular information by receiving it from another computer. The other computer is, for example, the client device 201 or the like. Specifically, the acquisition unit 501 acquires the molecular information by accepting the input of the molecular information based on the operation input of the user. Specifically, the acquisition unit 501 may also acquire the molecular information by extracting it from the acquired processing request.

[0084] The acquisition unit 501 acquires mathematical formula information representing a predetermined Hamiltonian for a target molecule. Specifically, the acquisition unit 501 acquires the mathematical formula information by receiving it from another computer. The other computer is, for example, the client device 201 or the like. Specifically, the acquisition unit 501 acquires the mathematical formula information by accepting the input of the mathematical formula information based on the user's operation input. Specifically, the acquisition unit 501 may also acquire the mathematical formula information by extracting it from the acquired processing request.

[0085] The acquisition unit 501, for example, acquires the number of arithmetic units 212 available for quantum calculation processing. Specifically, the acquisition unit 501 acquires the number of arithmetic units 212 available for quantum calculation processing by querying an arithmetic system 210 including a plurality of arithmetic units 212 about the number of arithmetic units 212 available for quantum calculation processing. Specifically, the acquisition unit 501 may also acquire the number of arithmetic units 212 by accepting the input of the number of arithmetic units 212 based on the user's operation input. Thereby, the acquisition unit 501 can obtain guidelines on how to distribute the quantum chemistry calculation by VQE among which arithmetic units 212.

[0086] Specifically, it is conceivable that the acquisition unit 501 acquires the number of arithmetic units 212 available for quantum calculation processing once in the arithmetic system 210 before executing the quantum chemistry calculation by VQE. Specifically, the acquisition unit 501 may also acquire the number of arithmetic units 212 available for quantum calculation processing before executing each iteration of a plurality of iterations for realizing the quantum chemistry calculation by VQE in the arithmetic system 210. Thereby, the acquisition unit 501 can obtain guidelines on how to distribute the quantum chemistry calculation by VQE among which arithmetic units 212. Specifically, when determining how to distribute the quantum chemistry calculation by VQE among which arithmetic units 212, the acquisition unit 501 can take into account, for example, the operational efficiency improvement of the arithmetic units 212 or the fairness of the use of the arithmetic units 212.

[0087] The acquisition unit 501 may receive a start trigger for starting the processing of any functional unit. The start trigger may be, for example, that a predetermined operation input has been made by the user. The start trigger may be, for example, that predetermined information has been received from another computer. The start trigger may be, for example, that any functional unit has output predetermined information. The acquisition unit 501 may receive, as a start trigger for starting the processing of the determination unit 502, the deletion unit 503, and the instruction unit 504, for example, that a processing request has been acquired.

[0088] Based on the molecular information acquired by the acquisition unit 501, the determination unit 502 acquires a value list that can be specified as the first parallel number, which is a combination of the first parallel number and a sample of the processing time for executing the quantum calculation process once with the first parallel number. The determination unit 502 acquires, for example, by referring to the storage unit 500, a value list that can be specified as the first parallel number, which is associated with the information regarding the target molecule acquired by the acquisition unit 501.

[0089] Based on the acquired value list that can be specified as the first parallel number, the determination unit 502 determines the first parallel number and the second parallel number so that the processing time for executing the quantum calculation process multiple times becomes shorter. The second parallel number indicates how many times the quantum calculation process is to be distributed and executed. The determination unit 502 determines the first parallel number and the second parallel number, for example, within a range where the product of the first parallel number and the second parallel number does not exceed the number of arithmetic units 212 available for the quantum calculation process. Thereby, the determination unit 502 can appropriately determine how to distribute the quantum chemistry calculation by VQE to which arithmetic units 212.

[0090] Based on the coefficient of each term of the plurality of terms defining the predetermined Hamiltonian for the target molecule in the quantum chemistry calculation by VQE, the deletion unit 503 deletes, from the predetermined Hamiltonian, the terms among the plurality of terms whose absolute value of the coefficient is less than or equal to the reference value. The deletion unit 503 sets the reference value by, for example, any one of the plurality of methods described later, and deletes, from the predetermined Hamiltonian, the terms among the plurality of terms whose absolute value of the coefficient is less than or equal to the reference value.

[0091] As a result, the deletion unit 503 can delete terms whose absolute value of the coefficient is less than or equal to the reference value and which are determined to have a relatively small impact on the accuracy of the execution result of the quantum chemical calculation by VQE. Therefore, the deletion unit 503 can reduce the processing time for obtaining the expectation value of the Hamiltonian while maintaining the accuracy of the execution result of the quantum chemical calculation by VQE.

[0092] For example, a method can be considered in which the deletion unit 503 identifies the number of terms to be deleted and sets the absolute value of the coefficient of a specific term existing in a predetermined Hamiltonian in the order corresponding to the identified number from the terms with smaller absolute values of the coefficients among a plurality of terms to the reference value. At this time, the deletion unit 503 identifies the number of terms to be deleted, for example, by accepting a designation of the number of terms to be deleted. Further, the deletion unit 503 may accept a designation of an upper limit value of the processing time, refer to the storage unit 500, and identify the number of terms to be deleted so that the processing time for obtaining the expectation value of the predetermined Hamiltonian based on the characteristic information is within the accepted upper limit value. Further, the deletion unit 503 may accept a designation of a ratio and identify the number of terms corresponding to the accepted ratio with respect to the number of terms defining the predetermined Hamiltonian as the number of terms to be deleted. As a result, the deletion unit 503 can reduce the processing time for obtaining the expectation value of the Hamiltonian while maintaining the accuracy of the execution result of the quantum chemical calculation by VQE.

[0093] Also, for example, a method can be considered in which the deletion unit 503 sets a first reference value for a coefficient taking a positive value and a second reference value for a coefficient taking a negative value. The deletion unit 503 deletes, for example, from a predetermined Hamiltonian, a first term that is a term with a coefficient taking a positive value and whose absolute value of the coefficient is less than or equal to the first reference value, and a second term that is a term with a coefficient taking a negative value and whose absolute value of the coefficient is less than or equal to the second reference value, among a plurality of terms. At this time, the deletion unit 503 may delete the first term and the second term so that, for example, the total value of the absolute values of the coefficients of the first term and the total value of the absolute values of the coefficients of the second term are approximately equal. Also, the deletion unit 503 may delete the first term and the second term so that, for example, the number of the first terms and the number of the second terms are approximately equal. Thereby, the deletion unit 503 can delete the terms with positive-valued coefficients and the terms with negative-valued coefficients in a well-balanced manner. For this reason, the deletion unit 503 can easily maintain the accuracy of the execution result of the quantum chemistry calculation by VQE.

[0094] The instruction unit 504 controls the quantum chemistry calculation by VQE. The instruction unit 504 controls a plurality of quantum calculation processes based on, for example, at least one of the first parallel number and the second parallel number determined by the determination unit 502 and the predetermined Hamiltonian deleted by the deletion unit 503. Specifically, the instruction unit 504 controls a plurality of quantum calculation processes in at least one iteration among a plurality of iterations. Specifically, the instruction unit 504 may control a plurality of quantum calculation processes in each iteration of the plurality of iterations. Thereby, the instruction unit 504 can cause the arithmetic system 210 to execute the quantum chemistry calculation by VQE.

[0095] The instruction unit 504 may control multiple quantum computing processes, for example, when setting the second parallel number to a predetermined value and applying a plurality of values that can be specified for the first parallel number to different quantum computing processes. Thereby, the instruction unit 504 can acquire the execution results of each quantum computing process. The predetermined value is, for example, set by the user in advance. The plurality of values that can be specified for the first parallel number are, for example, set by the user in advance. Thereby, the instruction unit 504 can cause the computing system 210 to tentatively execute quantum chemistry calculations by VQE.

[0096] The update unit 505 updates the stored content of the storage unit 500 based on the execution results of at least one quantum computing process among the multiple quantum computing processes. The update unit 505, for example, obtains from the control device 211 a combination of the first parallel number and a sample of the processing time for executing one quantum computing process with the first parallel number as the execution result of at least one quantum computing process among the multiple quantum computing processes. The update unit 505, for example, stores the obtained combination in the storage unit 500 in association with information regarding the target molecule. Thereby, the update unit 505 can more easily and accurately determine the first parallel number and the second parallel number in the determination unit 502 by referring to the stored content of the storage unit 500 hereafter.

[0097] The update unit 505 may update the stored content of the storage unit 500 based on at least the execution result of the quantum calculation process once when a plurality of values that can be specified for the first parallel number are applied to different quantum calculation processes with the second parallel number set to a predetermined value. For example, the update unit 505 may obtain, from the control device 211, as the execution result of at least one quantum calculation process, a combination of each value of the plurality of values that can be specified for the first parallel number and a sample of the processing time for executing the quantum calculation process once with the first parallel number of the value. For example, the update unit 505 stores the obtained combination in the storage unit 500 in association with information regarding the target molecule. Thereby, the update unit 505 can more easily and accurately determine the first parallel number and the second parallel number in the determination unit 502 by referring to the stored content of the storage unit 500 hereinafter. The update unit 505 can prepare the stored content of the storage unit 500 when the storage unit 500 is empty.

[0098] The output unit 506 outputs the processing result of at least one of the functional units. The output format is, for example, display on a display, print output to a printer, transmission to an external device via the network I / F 303, or storage in a storage area such as the memory 302 or the recording medium 305. Thereby, the output unit 506 can notify the user of the processing result of at least one of the functional units and improve the convenience of the information processing apparatus 100.

[0099] The output unit 506 outputs the solution to the problem regarding the target molecule obtained as a result of performing the quantum chemistry calculation by VQE. For example, the output unit 506 receives the solution to the problem regarding the target molecule from the control device 211. For example, the output unit 506 transmits the received solution to the problem regarding the target molecule to the client device 201. For example, the output unit 506 may output the solution to the problem regarding the target molecule so that the user can refer to it. Thereby, the output unit 506 can make the solution to the problem regarding the target molecule available for external use.

[0100] Here, the case where the information processing apparatus 100 includes an acquisition unit 501, a determination unit 502, a deletion unit 503, an instruction unit 504, an update unit 505, and an output unit 506 has been described, but it is not limited to this. For example, the information processing apparatus 100 may not include the determination unit 502. In this case, the information processing apparatus 100 controls the arithmetic system 210 to execute quantum chemical calculations by VQE without deleting terms from a predetermined Hamiltonian. This case corresponds to Example 1 described later with reference to FIGS. 6 to 39.

[0101] Also, for example, the information processing apparatus 100 may minimize the first parallel number in the determination unit 502. In this case, the information processing apparatus 100 controls the arithmetic system 210 to execute quantum chemical calculations by VQE with the first parallel number set to the minimum required value and the second parallel number set to 1. From the perspective of memory usage, it is preferable for the information processing apparatus 100 to determine the first parallel number. This case corresponds to Example 2 described later with reference to FIGS. 40 to 58. Also, for example, the information processing apparatus 100 may not include the update unit 505.

[0102] <Example 1> Parallel Number Example 1 will be described with reference to FIGS. 6 to 39. Example 1 corresponds to the case where the information processing apparatus 100 determines the MPI parallel number and the number of distributed processes, and then controls the arithmetic system 210 to execute quantum chemical calculations by VQE without deleting terms of a predetermined Hamiltonian. The MPI parallel number corresponds to the first parallel number described above. The number of distributed processes corresponds to the second parallel number described above.

[0103] First, an example of quantum chemistry calculation by VQE will be described with reference to FIG. 6. FIG. 6 is an explanatory diagram showing an example of quantum chemistry calculation by VQE. As shown in FIG. 6, the quantum chemistry calculation by VQE includes, for example, a process realized by a quantum simulator of executing a quantum circuit 620 including one or more quantum gates 621 based on an initial state quantum state 610. The quantum gate 621 has a parameter theta[]. There are, for example, k parameters theta[]. Before executing the quantum circuit, the values of the parameter theta[] are set in the quantum gate.

[0104] The quantum chemistry calculation by VQE includes, for example, a process of setting the parameter theta[] in the quantum gate, applying the quantum state 610 to the quantum circuit 620 to obtain the quantum state 630, and then obtaining the expectation value of the Hamiltonian based on the quantum state 630.

[0105] The quantum chemistry calculation by VQE includes, for example, a process of solving an optimization problem realized by a classical computer such as the information processing device 100 of updating the parameter theta[] so as to minimize the expectation value of the Hamiltonian. Algorithms such as the SLSQP method are known as algorithms for solving the optimization problem and can be used. Performing the quantum calculation process corresponds to obtaining the value of the objective function of the optimization problem. The parameter theta[] is the variable of the objective function, and the expectation value of the Hamiltonian is the evaluation value of the objective function. The update includes, for example, a plurality of quantum calculation processes.

[0106] In some optimization algorithms such as the SLSQP method, efforts are made to obtain the gradient and reach the optimal solution quickly. For gradient calculation, for each value theta[i] of each element of the current theta[], a value theta[i]+Δ obtained by adding a small value Δ is set in the quantum gate, the quantum circuit is executed, and the expected value of the Hamiltonian is obtained, and multiple quantum calculation processes are executed. Therefore, if the number of elements of theta[] is k, k quantum calculation processes are required to perform the gradient calculation. After that, using the obtained gradient, an attempt is made to update the value of theta[] by a line search method or the like. Although the number of times varies depending on the parameters of the line search, several quantum circuit executions are also performed at this stage. Depending on the optimization algorithm used, the specific procedure for updating theta[] differs, but theta[] is updated one after another so that the expected value of the Hamiltonian becomes smaller. A series of steps in which the parameter theta[] is updated once is defined as one iteration. When performing gradient calculation, it is not necessary to evaluate the objective function in order from 0 to k-1 for i of theta[i], and the evaluation of the objective function is to perform quantum calculation processes, and when using a quantum simulator, the processing time of the quantum calculation processes tends to be long. Therefore, it is desirable to shorten the processing time by distributing multiple quantum calculation processes including gradient calculation to several arithmetic units 212 and enabling the evaluation of multiple objective functions simultaneously.

[0107] On the other hand, in the line search method or the like, since it is necessary to evaluate the objective function in order, there are cases where the objective function cannot be evaluated simultaneously in a distributed manner. When the objective function is evaluated by an optimization algorithm, the value of the variable is passed to the objective function. However, when calculating the gradient, the values of the variables for k sets are passed together, and when updating the value of the variable such as in the line search method, a set of values for one variable is passed. Therefore, the process of performing quantum computing processing, which is the objective function, as shown in FIG. 6, the process of setting the value of one set of variables at the location corresponding to theta[] of the quantum gate and obtaining the expected value of the Hamiltonian is always common. It is not necessary to distinguish which optimization algorithm is used, whether gradient calculation is being performed now, or whether line search is being performed now, and change the process of FIG. 6. The control that can execute multiple simultaneous evaluations of the objective function in a distributed and simultaneous manner when multiple sets of values are passed from the optimization algorithm side to the objective function is executed by the control processing unit 702, which corresponds to the upstream processing of FIG. 6.

[0108] Next, with reference to FIGS. 7 and 8, an example of how the information processing apparatus 100 controls the computing system 210 so as to distribute multiple quantum computing processes including gradient calculation to several arithmetic units 212 using two different parallel processing methods in combination will be described. The two parallel processing methods are MPI parallel and gRPC distributed processing.

[0109] MPI parallel is, for example, to divide a large block of data among multiple computing servers 730 and perform parallel processing. The computing server 730 is realized by, for example, the arithmetic unit 212. The "MPI parallel number" represents how many computing servers 730 divide and perform parallel processing on a large block of data in MPI parallel. The "MPI parallel number" corresponds to the "first parallel number" described above. Therefore, the multiple computing servers 730 have the same software and transmit and receive data to and from each other via a high-speed network such as InfiniBand.

[0110] gRPC distributed processing is, for example, when there are multiple input data sets for a certain process, multiple computing servers 730 share different input data sets respectively and execute multiple quantum computing processes simultaneously. The computing server 730 is realized by, for example, the arithmetic unit 212. The "number of distributed processes" represents how many computing servers 730 share multiple input data sets and execute them simultaneously in gRPC distributed processing. The "number of distributed processes" corresponds to the above-mentioned "second parallel number".

[0111] FIG. 7 and FIG. 8 are explanatory diagrams showing an example of distributing multiple quantum computing processes including gradient calculation. In FIG. 7, there is an optimization algorithm 700 used in VQE. The optimization algorithm 700 calls a quantum computing process to evaluate the objective function. The grpc-client 701 is a functional unit that requests the grpc-server to execute a quantum computing process including gradient calculation. The grpc-server is a computing server 730 responsible for quantum computing processes in gRPC distributed processing. In the following description, there are multiple sets of computing servers 730 that perform quantum computing processes with the MPI parallel number x, and the i-th set is denoted as "grpc-server[x]#i".

[0112] As shown in FIG. 7, the control processing unit 702 can distribute a quantum computing process including gradient calculation to a maximum of m grpc-server[x]#i by gRPC distributed processing. In the example of FIG. 7, i = 0 to m - 1. The control processing unit 702 causes the quantum computing process to be executed within grpc-server[x]#i by gRPC distributed processing. Specifically, the x computing servers 730 forming the computing unit grpc-server[x]#i each execute the qulacs software 720 and share one quantum computing process. Specifically, the x computing servers 730 forming the computing unit grpc-server[x]#i transmit and receive data via a high-speed network such as InfiniBand through the MPI communication framework. The qulacs software 720 is a quantum simulator.

[0113] Next, we will move on to the description of FIG. 8 and explain the case where the control processing unit 702 shown in FIG. 7 and the like are applied to the information processing system 200. In FIG. 8, the information processing apparatus 100 has VQE software 800 that realizes the optimization algorithm 700 by VQE. The VQE software 800 defines how to control the arithmetic system 210 so as to execute quantum chemical calculations by VQE. The information processing apparatus 100 has grpc-client software 801 that realizes the grpc-client 701. The information processing apparatus 100 has a control processing unit 802 corresponding to the control processing unit 702.

[0114] Also, grpc-server[x]#i is a collection of one or more arithmetic units 212. For example, grpc-server[1]#0(810) is the arithmetic unit 212-001. grpc-server[1]#0(810) executes the qulacs software 720, which is a quantum simulator, in MPI parallel on a plurality of arithmetic units 212. For example, grpc-server[2]#1(811) is a collection of the arithmetic unit 212-101 and the arithmetic unit 212-102. For example, grpc-server[4]#m-1(812) is a collection of the arithmetic unit 212-x01, the arithmetic unit 212-x02, the arithmetic unit 212-x03, and the arithmetic unit 212-x04.

[0115] Next, we will move on to the description of FIG. 9 and explain the gRPC distributed processing.

[0116] FIG. 9 is an explanatory diagram showing the effect of reducing processing time by gRPC distributed processing. In the example of FIG. 9, since the number of elements of the parameter theta[] is 8, 8 quantum calculation processes are required for gradient calculation. Also, in the example of FIG. 9, the parameter theta[] is updated by executing the quantum calculation process 4 times by the line search method or the like using the obtained gradient value. In the example of FIG. 9, each rectangle represents one evaluation of the objective function in the optimization algorithm, that is, executing one quantum calculation process shown in FIG. 6. In the example of FIG. 9, each rectangle with dotted hatching represents, for example, the execution of 8 quantum circuits corresponding to gradient calculation. In the example of FIG. 9, each rectangle with cross hatching represents, for example, the execution of 4 quantum circuits for updating the value of the next parameter theta[].

[0117] Reference numeral 900 in FIG. 9 represents the length of the processing time taken for one iteration, in the case where a single arithmetic unit 212 executes one iteration, by the horizontal length. For example, as shown by reference numeral 900, the processing time taken for one iteration is the length corresponding to 12 rectangles.

[0118] On the other hand, reference numeral 910 in FIG. 9 represents the case where the number of distributed processes = 8, and for the case where 8 processes for realizing gradient calculation in one iteration are distributed to 8 grpc - servers 810, 811, …, the length of the processing time taken for one iteration is represented by the horizontal length. For example, as shown by reference numeral 910, since 8 processes for realizing gradient calculation can be processed in parallel with only 1 rectangle, the processing time taken for one iteration is the length corresponding to 5 rectangles. Thus, by gRPC distributed processing, it is possible to reduce the processing time of the gradient calculation part.

[0119] Next, moving on to the description of FIGS. 10 and 11, the tendency of the change in the processing time taken for gradient calculation according to the change in the number of distributed processes in gRPC distributed processing will be described.

[0120] FIG. 10 and FIG. 11 are explanatory diagrams showing the tendency of changes in the processing time for gradient calculation. In the examples of FIGS. 10 and 11, it is assumed that since the number of elements of the parameter theta[] is 24, there are 24 quantum calculation processes for realizing gradient calculation. In the examples of FIGS. 10 and 11, each hatched rectangle corresponds to one quantum calculation process shown in FIG. 6. grpc-server#i corresponds to any one of grpc-server810, 811... in FIG. 8.

[0121] Table 1000 in FIG. 10 corresponds to the case where the number of distributed processes = 1. As shown in Table 1000, the processing time for gradient calculation is the length of 24 rectangles. Table 1010 in FIG. 10 corresponds to the case where the number of distributed processes = 2. As shown in Table 1010, the processing time for gradient calculation is the length of 12 rectangles. For example, when the number of distributed processes = 2, two grpc-servers are used. Table 1020 in FIG. 10 corresponds to the case where the number of distributed processes = 3. As shown in Table 1020, the processing time for gradient calculation is the length of 8 rectangles. For example, when the number of distributed processes = 3, three grpc-servers are used.

[0122] Next, we move on to the explanation of FIG. 11. Table 1100 in FIG. 11 corresponds to the case where the number of distributed processes = 4. Table 1110 in FIG. 11 corresponds to the case where the number of distributed processes = 6. Table 1120 in FIG. 11 corresponds to the case where the number of distributed processes = 12. Thus, the larger the number of distributed processes, the shorter the processing time for gradient calculation tends to be. On the other hand, the larger the number of distributed processes, the more the number of grpc-servers, that is, the more the number of arithmetic units 212 used tends to be.

[0123] Next, we move on to the explanation of FIG. 12 and explain the guideline for making the number of distributed processes variable according to the change in the demand for the arithmetic unit 212 in the arithmetic system 210. The demand corresponds to the amount of processing using the arithmetic unit 212. Therefore, the larger the demand, the fewer the number of available arithmetic units 212 will be.

[0124] FIG. 12 is an explanatory diagram showing a guideline for making the number of distributed processes variable. As shown in the relationship diagram 1200 of FIG. 12, the information processing apparatus 100 can increase the number of distributed processes as the demand is low and the number of available arithmetic units 212 is large, and it is considered preferable to make the number of distributed processes variable so as to increase the processing speed. Therefore, it is desired that the information processing apparatus 100 appropriately determine the number of distributed processes based on the number of available arithmetic units 212. A specific example in which the information processing apparatus 100 determines the number of distributed processes will be described later with reference to FIGS. 18 to 25.

[0125] Here, the case where the number of distributed processes is fixed until one iteration is completed has been described, but the present invention is not limited to this. For example, before one iteration is completed, the number of distributed processes may be changed according to a change in the number of available arithmetic units 212. An example in which the information processing apparatus 100 changes the number of distributed processes before one iteration is completed will be described later with reference to FIGS. 13 and 14.

[0126] The case where the number of distributed processes is a divisor of the number of elements of the parameter theta[] has been described, but the present invention is not limited to this. For example, the number of distributed processes may be other than a divisor of the number of elements of the parameter theta[]. An example in which the number of distributed processes is other than a divisor of the number of elements of the parameter theta[] will be described later with reference to FIG. 15.

[0127] Although the quantum calculation process when updating the parameter theta[] by the line search method or the like cannot be executed simultaneously in a gRPC distributed manner, it may be possible to speed up the process by executing it in an MPI parallel manner. An example of speeding up the process of updating the parameter theta[] in an MPI parallel manner will be described later with reference to FIGS. 16 and 17.

[0128] Here, first, the description will proceed to FIGS. 13 and 14.

[0129] FIG. 13 and FIG. 14 are explanatory diagrams showing an example of changing the number of distributed processes midway. In the examples of FIGS. 13 and 14, since the number of elements of the parameter theta[] is 24, the quantum calculation process corresponding to the gradient calculation is 24 times. In the examples of FIGS. 13 and 14, each rectangle with dotted hatching corresponds to one quantum calculation process shown in FIG. 6.

[0130] Table 1300 in FIG. 13 shows an example of starting the gradient calculation with the number of distributed processes = 6 and changing it to the number of distributed processes = 2 midway. At the timing when the processing for two rectangles is completed by six grpc-servers, the number of distributed processes is changed to 2. For example, after the number of distributed processes is changed to 2, since four grpc-servers become unnecessary, by releasing the arithmetic unit 212 that constitutes them, it can be diverted to another process. For example, in the hatched part with oblique lines, the arithmetic unit 212 can be used in another process. In this way, the information processing apparatus 100 can respond to the situation where the demand for the computing servers constituting the arithmetic unit 212 changes moment by moment by changing the number of distributed processes.

[0131] Next, we move on to the description of FIG. 14. Table 1400 in FIG. 14 shows an example of starting the gradient calculation with the number of distributed processes = 2 and changing it to the number of distributed processes = 6 midway. At the timing when the processing for three rectangles is completed by two grpc-servers, an arithmetic unit 212 is added and the number of qulacs-servers is increased to six to continue the processing. As a result, the time required for the gradient calculation can be shortened compared to the case where all are executed with the number of distributed processes = 2. This is the case where at the beginning of the gradient calculation, the demand for the computing servers constituting the arithmetic unit 212 was large and only two qulacs-servers could be prepared, but as time passed, the demand for the computing servers decreased and the number of qulacs-servers could be increased to six. In this way, the information processing apparatus 100 can respond to the change in the demand for the computing servers by changing the number of distributed processes.

[0132] Next, with reference to FIG. 15, an example where the number of distributed processes is other than a divisor of the number of the parameter theta[] will be described.

[0133] FIG. 15 is an explanatory diagram showing an example where the number of distributed processes is other than a divisor of the number of elements of the parameter theta[]. In the example of FIG. 15, the number of elements of the parameter theta[] is 24, and 24 quantum calculation processes corresponding to gradient calculation are required. In the example of FIG. 15, each hatched rectangle corresponds to one execution of the quantum calculation process shown in FIG. 6.

[0134] Table 1500 in FIG. 15 corresponds to the case where the number of distributed processes = 1. As shown in Table 1500, the processing time required for gradient calculation is the length of 24 rectangles. Table 1510 in FIG. 15 is the case where the number of distributed processes is 10, which is not a divisor of the number of elements of the parameter theta[]. As shown in Table 1510, the processing time required for gradient calculation is the length of 3 rectangles.

[0135] In this case, the information processing apparatus 100 starts with the number of distributed processes = 10 and changes to the number of distributed processes = 4 midway, so that in the hatched part, 6 arithmetic units 212 of qulacs-server can be diverted to other processes. In this way, it becomes possible to cope with changes in the demand for the computing server.

[0136] Next, with reference to FIGS. 16 and 17, an example in which the execution of the quantum calculation process when updating the parameter theta[] can be accelerated by MPI parallel processing will be described. The four quantum calculation processes when updating the parameter theta[] represent the case where they cannot be executed simultaneously by gRPC distributed processing.

[0137] In the examples of FIGS. 16 and 17, since the number of elements of the parameter theta[] is 24, there are 24 quantum calculation processes corresponding to gradient calculation. Also, there are 4 quantum calculation processes for updating the parameter theta[]. In the examples of FIGS. 16 and 17, each rectangle corresponds to one quantum calculation process shown in FIG. 6. In the examples of FIGS. 16 and 17, each hatched rectangle represents, for example, any one of the 24 processes for realizing gradient calculation. In the examples of FIGS. 16 and 17, each cross-hatched rectangle represents, for example, any one of the 4 processes for updating the parameter theta[].

[0138] Table 1600 in FIG. 16 corresponds to the case where the four processes of updating the parameter theta[] continue to use the same grpc-server as in the gradient calculation. In Table 1600, it is assumed that the number of distributed processes = 12. As shown in Table 1600, the processing time required to search for the parameter theta[] is the length of four rectangles.

[0139] Next, we move on to the description of FIG. 17. Table 1700 in FIG. 17 corresponds to the case where the four processes of updating the parameter theta[] are executed on a grpc-server with a large MPI parallel number. In Table 1700, for example, by executing on grpc-server[4]#0 with the MPI parallel number increased to 4, it is assumed that it can be executed faster than grpc-server#0, for example, in the time of two rectangles.

[0140] As shown in Table 1700, by executing the four processes of updating the parameter theta[] on a grpc-server that can execute them faster, the processing time for one iteration can be reduced. Such a speed-up effect can be realized by the information processing apparatus 100 first allocating the arithmetic units 212 that make up 12 grpc-servers, then releasing the arithmetic units 212 that make up 12 grpc-servers, and then allocating the arithmetic units 212 corresponding to the high-speed executable grpc-servers with an increased MPI parallel number.

[0141] (Specific example of controlling the arithmetic system 210) Next, with reference to FIGS. 18 to 26, a specific example of how the information processing apparatus 100 controls the arithmetic system 210 so as to determine the MPI parallel number and the number of distributed processes and execute quantum chemical calculations by VQE in the first embodiment will be described.

[0142] Figures 18 to 26 are explanatory diagrams showing specific examples of controlling the arithmetic system 210 in Example 1. In FIG. 18, the information processing apparatus 100 stores a table 1800 that serves as a guideline for determining the MPI parallel number. The table 1800 is referred to, for example, when the information processing apparatus 100 determines the MPI parallel number based on the number of qubits. The table 1800 is realized by a storage area such as the memory 302 or the recording medium 305 of the information processing apparatus 100 shown in FIG. 3, for example.

[0143] As shown in FIG. 18, the table 1800 has fields for the qubit number (= the number of qubits) and N1. The table 1800 stores candidate information as records by setting information in each field for each number of qubits. In the field of the qubit number, the number of qubits in the quantum circuit is set. In the field of N1, the MPI parallel number N1 corresponding to the number of qubits is set.

[0144] In the quantum simulator mpiQulacs, when the number of qubits is q, the required memory capacity increases in proportion to 2 to the power of q. When the number of qubits is large and the memory usage increases beyond the main memory capacity of a single computing server, the MPI parallel number must be increased. The table 1800 that holds the correspondence between the number of qubits and N1 holds the lower limit value of the MPI parallel number N1 required to handle the specified number of qubits.

[0145] Next, we move on to the description of FIG. 19. In FIG. 19, the information processing apparatus 100 stores a table 1900 that serves as a guideline for determining the MPI parallel number. The table 1900 is referred to, for example, when the information processing apparatus 100 determines the MPI parallel number based on the information of the molecule targeted by VQE. The information of the target molecule includes, for example, the type of the target molecule. The information of the target molecule is, for example, as shown in FIG. 23 and includes detailed information such as the arrangement of atoms in the target molecule, but in FIG. 19, it is represented only by the qubit number and the name of the molecule and is shown in abbreviated notation. The table 1900 is realized by a storage area such as the memory 302 or the recording medium 305 of the information processing apparatus 100 shown in FIG. 3, for example.

[0146] As shown in FIG. 19, table 1900 has fields for the number of qubits, the molecule, N1, and the execution time. Table 1900 constitutes records by the number of quantum bits, molecular information, and the combination of N1 and the execution time, and is stored in table 1900. In the field of the number of qubits, the number of quantum bits of the quantum circuit is set. In the field of the molecule, the type of the molecule is set. It may be considered that a label value capable of uniquely identifying detailed information of the molecule is set in the field of the molecule. It is assumed that detailed molecular information as shown in FIG. 23 can be referred to from the label value, and the detailed molecular information is stored in a storage area such as the memory 302 and the recording medium 305 of the information processing apparatus 100 shown in FIG. 3, for example.

[0147] In the field of N1, the MPI parallel number N1 is set. In the field of the execution time, a sample of the execution time when quantum calculation processing is executed with the number of quantum bits, the type of molecule, and the value of the MPI parallel number N1 set in the same record is set. The sample is, for example, the value of the execution time measured when quantum calculation processing was executed in the past.

[0148] Similar to the aforementioned table 1800, the memory usage required by the quantum simulator increases according to the number of qubits, and the lower limit value of the MPI parallel number is determined according to the number of qubits. Table 1900 has only the value of N1 above the minimum required MPI parallel set. For example, in the record of 36 qubits, N1 is 64 or more for this reason.

[0149] Next, we move on to the description of FIGS. 20 to 22. FIGS. 20 to 22 are bar graphs showing the MPI parallel number N1 on the horizontal axis and the execution time on the vertical axis of table 1900. The graph 2000 in FIG. 20 is the case where the number of qubits = 28 and the type of molecule = CO2. The graph 2100 in FIG. 21 is the case where the number of qubits = 32 and the type of molecule = C3H6. The graph 2200 in FIG. 22 is the case where the number of qubits = 36 and the type of molecule = C3H6.

[0150] Although Fig. 20 is a prominent example, it is not always the case that the larger the MPI parallel number N1, the shorter the execution time. Specifically, in MPI parallel processing, data is transmitted and received between the arithmetic units 212 via a network such as InfiniBand. Therefore, when the MPI parallel number N1 increases, the communication cost increases, and in the worst case, the processing may become slower, or the speed improvement may become sluggish and uneconomical even if the processing is accelerated. For this reason, it is considered that an appropriate MPI parallel number N1 differs according to the combination of the number of qubits and the molecular information. Therefore, it is desirable that the information processing apparatus 100 determine an appropriate MPI parallel number N1 according to the combination of the number of qubits and the molecular information.

[0151] Next, moving on to the description of Figs. 23 to 25, an example in which the information processing apparatus 100 determines an appropriate MPI parallel number N1 and the number of distributed processes N2 will be described. In Fig. 23, the information processing apparatus 100 acquires molecular information 2300 of a target molecule related to an optimization problem. The molecular information 2300 of the target molecule includes, for example, the type of the target molecule = CO2. The molecular information 2300 of the target molecule includes, for example, the number of qubits = 28. The molecular information 2300 of the target molecule may include, for example, the arrangement of atoms in the target molecule.

[0152] The information processing apparatus 100 searches the table 1900 using (the number of qubits, molecule) as a search condition and extracts a record (N1, execution time). Here, assuming that the number of qubits = 28 and the molecule = CO2, the extraction result is shown in Fig. 24. For simplicity of explanation, in Fig. 24, the execution time is replaced with an approximate number, but originally the same numerical values as those in the table 1900 are used. Field i in Fig. 24 is the serial number of the record. Field trun1 represents the execution time. The candidate list of N1 is a list of pairs (values of the MPI parallel number that can be set for N1, the execution time when executed with that MPI parallel number).

[0153] The information processing apparatus 100 has found five records shown in the table 2400 as a candidate list consisting of combinations of the MPI parallel number N1 and a sample of the execution time.

[0154] Here, the case where the information processing apparatus 100 discovers the candidate list of the MPI parallel number N1 from the table 1900 has been described, but it is not limited to this. For example, when the information processing apparatus 100 cannot discover the MPI parallel number N1 and the sample of the execution time in the table 1900, instead, it refers to the table 1800 and obtains, from the number of qubits, the MPI parallel number N1 and the values in the rows below that N1 as the values of the candidate list of N1. For example, if the number of qubits = 32, the values of N1 in the candidate list are [4, 16, 32, 64, 256, 1024]. And the execution time in the candidate list is set as an undetermined value (n / a).

[0155] Next, we move on to the description of FIG. 25. FIG. 25 shows the flow until the values of N1 and N2 are determined. In FIG. 25, the information processing apparatus 100 obtains the number of currently available arithmetic units 212 by querying the control device 211 about the number of currently available arithmetic units 212. The control device 211 collects information such as the number of queued jobs it is in charge of from the arithmetic unit 212 and assumes that the number of currently available arithmetic units 212 has been calculated. In the example of FIG. 25, it is assumed that the information processing apparatus 100 has obtained the number of currently available arithmetic units 212 = 1024.

[0156] The information processing apparatus 100 solves an optimization problem of determining N1 and N2 such that the product of the MPI parallel number N1 and the distributed processing number N2 minimizes the cost function calculated by N1 and N2 under the constraint condition that the product does not exceed the acquired number = 1024. As an example of the cost function, there is the expected execution time when executing one iteration of the VQE calculation process under the conditions of N1 and N2 of the number of parallel distributed processes, and the calculation method thereof is shown in Equation (1) described later. In FIG. 25, N2 = 1: N1 = 64 11700000 represents that when N1 = 64 and N2 = 1, the value of the cost function (expected execution time for one iteration) is 11700000 (seconds). The values that N1 can take are the values included in the candidate list of N1. The values that N2 can take are integers greater than or equal to 1 and less than or equal to the number of currently available arithmetic units 212 (1024 in this example). Since the optimization problem of determining N1 and N2 is simple in this example and can be easily solved by brute force, FIG. 24 lists all possibilities by brute force. As the finally obtained solution, when N1 = 128 and N2 = 8, the minimum value of the expected execution time of 92400 seconds is obtained. As another example of the cost function, it is also conceivable to formulate a multi-objective optimization problem in which the above-described equation for minimizing the expected execution time for one iteration and the number of required arithmetic units 212, N1 * N2, are linearly combined with appropriate weighting factors to minimize both the execution time and the number of arithmetic units 212.

[0157]

Number

[0158] $N_{param}$ is the number of parameters, which is $k$ in Figure 6 and is a constant value. $N_{serialrun}$ is the average number of times to execute quantum computing processing serially. In Figure 9, it corresponds to 4 times where 4 rectangles are arranged horizontally and continuously on the right side, and it is a constant value. Serial execution is performed, for example, in the evaluation of the objective function (in VQE, the execution of the quantum computing processing in Figure 6) when performing a linear search method to update the parameter theta[]. The square brackets (ceil) represent the process of rounding off the numerical value after the decimal point, indicating the rounding-up process. $t_{run1}$ is the processing time when executing the quantum computing processing once, and it is selected from the values included in the candidate list. Specifically, it is the value of the execution time in Table 1900 of Figure 19 and the value of $t_{run1}$ in Table 2400 of Figure 24. Since $t_{run1}$ is a value that varies depending on the number of qubits, molecular information, and N1, when extracting a value from Table 1900 or Table 2400, one execution time value is selected from the records where the value of N1 matches. Therefore, when solving the optimization problem here, $t_{run1}$ can be regarded as a value immediately determined by N1. Thus, Equation 1 can be regarded as a function of N1 and N2 and can be adopted as the objective function of the optimization problem. When the value of $t_{run1}$ becomes an indefinite value n / a, the process proceeds with an appropriate dummy value 1.

[0159] The information processing apparatus 100 specifically determines the MPI parallel number N1 and the number of distributed processes N2 in the combination that minimizes the calculated predicted execution time. Table 2500 shows one or more combinations of the MPI parallel number N1 and the number of distributed processes N2, and the predicted execution time for one iteration corresponding to each combination. In the example of Figure 25, the information processing apparatus 100 specifically determines that the MPI parallel number N1 = 128 and the number of distributed processes N2 = 8. The predicted execution time for one iteration corresponding to the combination of the MPI parallel number N1 = 128 and the number of distributed processes N2 = 8 is 92400 seconds.

[0160] The information processing device 100 controls the computing system 210 to execute multiple quantum computing processes including gradient calculation with the determined MPI parallel number N1 and the distributed processing number N2, so as to complete the quantum chemistry calculation by VQE. The information processing device 100 may receive the result of the quantum chemistry calculation by VQE from the control device 211. The information processing device 100 may update the table 1900 based on the result of the executed quantum computing process. At this time, it is expected that the indefinite value n / a is updated with the numerical value of the actual execution result, or a value with a large error caused by the variation of the processing time is updated to a value that seems to be statistically accurate. When the indefinite value n / a exists in the table 1900, it is also possible to devise a method to update the indefinite value n / a by changing the value of N1 for each grpc-server to N1, N1*2, N1*4, … during distributed processing.

[0161] The information processing device 100 may control the computing system 210 to execute multiple quantum computing processes with the determined MPI parallel number N1 and the distributed processing number N2, so as to execute one iteration. The information processing device 100 may re-determine the MPI parallel number N1 and the distributed processing number N2 every time before executing the next iteration. Thereby, the information processing device 100 can determine the MPI parallel number N1 and the distributed processing number N2 according to the demand of the computing device 212 that changes over time. For this reason, the information processing device 100 can improve the operation efficiency of the computing device 212 and easily ensure the utilization fairness of the computing device 212.

[0162] The information processing device 100 may receive the result of executing one iteration from the control device 211. The information processing device 100 may update the table 1900 based on the result of executing one iteration.

[0163] Here, when the information processing apparatus 100 does not discover a candidate list corresponding to the combination of the number of qubits and the type of target molecule, the table 1900 may be updated. For example, the information processing apparatus 100 may control the computing system 210 so that a plurality of quantum computation processes are executed with different MPI parallel numbers N1 respectively. Then, the information processing apparatus 100 may update the table 1900 based on the results of executing a plurality of quantum computation processes with different MPI parallel numbers N1 respectively.

[0164] Specifically, in the first iteration, the information processing apparatus 100 controls the computing system 210 so that a plurality of quantum computation processes are executed with different MPI parallel numbers N1 respectively. The information processing apparatus 100 receives, from the control device 211, the results of executing a plurality of quantum computation processes with different MPI parallel numbers N1 respectively in the first iteration. The information processing apparatus 100 updates the table 1900 based on the results of executing a plurality of quantum computation processes with different MPI parallel numbers N1 respectively in the first iteration.

[0165] Thereby, the information processing apparatus 100 can more easily determine the MPI parallel number N1 and the number of distributed processes N2 appropriately hereafter. Specifically, in the second and subsequent iterations, the information processing apparatus 100 may determine the MPI parallel number N1 and the number of distributed processes N2 based on the updated table 1900.

[0166] In addition, the information processing apparatus 100 can appropriately determine how large each of the MPI parallel number and the number of distributed processes should be. When the number of qubits is relatively small, the information processing apparatus 100 can make the MPI parallel number smaller and the number of distributed processes larger. Thereby, the information processing apparatus 100 can improve the operating rate of the computing device 212 while enhancing the efficiency of quantum chemistry calculations by VQE.

[0167] On the other hand, when the number of qubits is relatively large, the information processing apparatus 100 can increase the number of MPI parallel processes and, within the range of available arithmetic units 212, increase the number of distributed processes. As a result, the information processing apparatus 100 can improve the operation rate of the arithmetic unit 212 while enhancing the quantum chemistry calculation by VQE.

[0168] Next, we will move on to the description of FIG. 26. The graph 2600 in FIG. 26 represents the tendency of the change in the processing time for one iteration with respect to the change in the number of distributed processes. The vertical axis of the graph 2600 indicates the processing time for one iteration. The horizontal axis of the graph 2600 indicates the number of arithmetic units 212 at the number of distributed processes N2. N1 is set to 1.

[0169] The "× point experiment" in the graph 2600 represents the measured value of the processing time for one iteration with respect to the number of distributed processes N2. Specifically, the measured value is the value obtained by dividing the total processing time of VQE by the number of iterations. The "line predicted" in the graph 2600 represents the tendency of the change in the estimated value of the processing time for one iteration with respect to the change in the number of distributed processes N2 according to the above formula (1). As shown in the graph 2600, since the estimated value of the processing time matches the measured value, the validity of formula 1 can be estimated.

[0170] Next, with reference to FIGS. 27 to 34, an example of the effect of the information processing apparatus 100 in Example 1 will be described.

[0171] FIGS. 27 to 34 are explanatory diagrams showing an example of the effect in Example 1. The graph 2700 in FIG. 27 corresponds to the combination of the number of qubits = 28 and the type of molecule = CO2. The horizontal axis of the graph 2700 in FIG. 27 is the product of the number of MPI parallel processes N1 and the number of distributed processes N2, and represents the number of arithmetic units 212 used. The vertical axis of the graph 2700 in FIG. 27 is the predicted execution time for one iteration calculated by the above formula (1).

[0172] Graph 2700 corresponds to the case where the information processing apparatus 100 examines the processing time for one iteration for all combinations of the MPI parallel number N1 and the distributed processing number N2. The numerical values are calculated in the same procedure as in FIG. 25 described above. Each line in Graph 2700 exists for each MPI parallel number N1. For the optimization problem of the above formula (1), in the vertical axis direction, the plot point with the minimum value becomes the solution. For the above multi-objective optimization problem, the plot point that is the lowest and the leftmost forms the Pareto front.

[0173] Next, we move on to the description of FIG. 28. Table 2800 in FIG. 28 corresponds to Graph 2700 in FIG. 27 and shows the values of significant plot points. Table 2800 represents the MPI parallel number N1, the distributed processing number N2, the expected execution time for one iteration in the quantum chemical calculation by VQE, and the number of arithmetic units 212 used in the quantum chemical calculation by VQE. The number of arithmetic units 212 corresponds to the product of the MPI parallel number N1 and the distributed processing number N2. Table 2800 includes the solution to the above optimization problem, for example, when N1 = 64 and N2 = 15, the processing time is 513.

[0174] Next, we move on to the description of FIG. 29. Graph 2900 in FIG. 29 corresponds to the combination of the number of qubits = 32 and the type of molecule = C3H6. The rest is the same as in FIG. 27.

[0175] Next, we move on to the description of FIG. 30. Table 3000 in FIG. 30 corresponds to Graph 2900 in FIG. 29. The rest is the same as in FIG. 28.

[0176] Next, we move on to the description of FIG. 31. Graph 3100 in FIG. 31 corresponds to the combination of the number of qubits = 36 and the type of molecule = C3H6. The rest is the same as in FIG. 27.

[0177] Next, we move on to the description of FIG. 32. Table 3200 in FIG. 32 corresponds to Graph 3100 in FIG. 31. The rest is the same as in FIG. 28.

[0178] In this way, based on the type of the target molecule, as shown in each graph, the information processing apparatus 100 can consider the processing time for one iteration of the combination of the MPI parallel number N1 and the distributed processing number N2. Therefore, within the range of the number of available arithmetic units 212, the information processing apparatus 100 can find an appropriate combination of the MPI parallel number N1 and the distributed processing number N2 so as to minimize the processing time for one iteration. For this reason, the information processing apparatus 100 can appropriately determine the MPI parallel number N1 and the distributed processing number N2 so as to improve the operation efficiency of the arithmetic unit 212 and ensure the fairness of the use of the arithmetic unit 212. Based on the determined MPI parallel number N1 and the distributed processing number N2, the information processing apparatus 100 can reduce the processing time required for quantum chemical calculations by VQE.

[0179] Next, we will move on to the description of FIGS. 33 and 34. FIG. 33 shows an example of executing quantum chemical calculations by VQE in a distributed manner when the demand for the arithmetic unit 212 is relatively small. In FIG. 33, it is assumed that there are no other users using the arithmetic unit 212 other than the user of the information processing apparatus 100. Therefore, the demand for the arithmetic unit 212 is relatively small.

[0180] In this case, for example, the control processing unit 802 controls the computing system 210 so that the VQE software 800 allocates a plurality of grpc-server softwares 3301 to a relatively large number of arithmetic units 212 to execute quantum chemical calculations by VQE. Therefore, when the demand for the arithmetic unit 212 is relatively small, the control processing unit 802 can improve the efficiency of quantum chemical calculations by VQE.

[0181] Next, we will move on to the description of FIG. 34. FIG. 34 shows an example of executing quantum chemical calculations by VQE in a distributed manner when the demand for the arithmetic unit 212 is relatively large. In FIG. 34, it is assumed that there are two other users using the arithmetic unit 212 via the software 3400 in addition to the user of the information processing apparatus 100. Therefore, it is assumed that the demand for the arithmetic unit 212 is relatively large.

[0182] In this case, the control processing unit 802 controls the computing system 210 to execute quantum chemistry calculations by VQE, for example, by allocating a smaller number of grpc-server software 3401 to any one of the computing devices 212 using the VQE software 800. Specifically, the control processing unit 802 controls the computing system 210 to allocate a plurality of grpc-server software 3401 to computing devices 212 other than those used by other users via the software 3400. Therefore, when the demand for the computing device 212 is relatively high, the control processing unit 802 can improve the operation efficiency of the computing device 212 and ensure the fairness of utilization of the computing device 212.

[0183] Here, the case where the information processing apparatus 100 applies the same MPI parallel number to a plurality of grpc-servers that perform quantum calculation processing has been described, but the present invention is not limited to this. For example, the information processing apparatus 100 may apply different MPI parallel numbers to each grpc-server. Further, the information processing apparatus 100 may determine the MPI parallel number N1 and the distributed processing number N2 by machine learning.

[0184] (Overall processing procedure) Next, an example of the overall processing procedure executed by the information processing apparatus 100 will be described with reference to FIG. 35. The overall processing is realized by, for example, the CPU 301 shown in FIG. 3, storage areas such as the memory 302 and the recording medium 305, and the network I / F 303.

[0185] FIG. 35 is a flowchart showing an example of the overall processing procedure. In FIG. 35, the information processing apparatus 100 acquires information on a target molecule related to an optimization problem by using quantum chemistry calculation software (step S3501). Specifically, information as shown in FIG. 23 is input to the quantum chemistry calculation software, and as a result, a Hamiltonian as shown in FIG. 40 is obtained. Subsequently, the information processing apparatus 100 starts executing one iteration of an optimization algorithm for minimizing the expected value of the Hamiltonian. In this process, the quantum calculation process shown in FIG. 6, which corresponds to the objective function of the optimization problem, is repeatedly executed, and the parameter theta[], which corresponds to the variable of the optimization problem, is updated (step S3502).

[0186] The information processing apparatus 100 determines whether or not the solution has converged in the optimization algorithm executed by the optimization algorithm (step S3503). Here, if the solution has not converged in the optimization algorithm (step S3503: No), the information processing apparatus 100 returns to the process of step S3502. On the other hand, if the solution has converged in the optimization algorithm (step S3503: Yes), the information processing apparatus 100 outputs the solution of the optimization problem (step S3504) and ends the overall process. The processes of steps S3502 and S3503 correspond to the solution finding process described later with reference to FIG. 36.

[0187] (Solution Finding Processing Procedure) Next, with reference to FIG. 36, an example of the solution finding processing procedure executed by the information processing apparatus 100 in the first embodiment will be described. The solution finding process 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.

[0188] FIG. 36 is a flowchart showing an example of the solution process procedure in Example 1. With respect to FIG. 35, it is described by adding a perspective on how the arithmetic unit 212 is used. In FIG. 36, the information processing apparatus 100 acquires the initial value of the quantum state and a predetermined Hamiltonian (step S3601). The information processing apparatus 100 acquires the initial value of the parameter theta of the quantum circuit (step S3602). The information processing apparatus 100 determines the MPI parallel number N1 and the distributed processing number N2 by executing a first determination process described later with reference to FIG. 37 (step S3603).

[0189] Based on the determined MPI parallel number N1 and distributed processing number N2, the information processing apparatus 100 controls the arithmetic system 210 to execute a quantum simulator (step S3604). The information processing apparatus 100 starts executing the quantum calculation process a plurality of times based on N1 and N2 by executing one iteration of an optimization algorithm for minimizing the expected value of the Hamiltonian. Among them, the quantum calculation process shown in FIG. 6, which corresponds to the objective function of the optimization problem, is repeatedly executed, and the parameter theta[], which corresponds to the variable of the optimization problem, is updated (step S3605).

[0190] The information processing apparatus 100 determines whether or not the solution has converged in the optimization algorithm (step S3606). Here, when the solution has not converged in the optimization algorithm (step S3606: No), the information processing apparatus 100 returns to the process of step S3603. On the other hand, when the solution has converged in the optimization algorithm (step S3606: Yes), the information processing apparatus 100 outputs the minimum value of the expected value of the predetermined Hamiltonian (step S3607), and ends the solution process.

[0191] (First determination process procedure) Next, an example of the first determination process procedure executed by the information processing apparatus 100 will be described with reference to FIG. 37. The first determination process 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.

[0192] FIG. 37 is a flowchart showing an example of the first determination processing procedure. In FIG. 37, the information processing apparatus 100 acquires information on a target molecule and the number of qubits (step S3701). The information processing apparatus 100 refers to table 1900 and searches for a combination of the MPI parallel number N1 and the execution time corresponding to the information on the target molecule and the number of qubits (step S3702).

[0193] The information processing apparatus 100 determines whether or not a combination has been found (step S3703). Here, if no combination has been found (step S3703: No), the information processing apparatus 100 proceeds to the process of step S3705. On the other hand, if a combination has been found (step S3703: Yes), the information processing apparatus 100 proceeds to the process of step S3704.

[0194] In step S3704, the information processing apparatus 100 sets one or more combinations of the MPI parallel number N1 and the execution time based on the found combination in table 2400 of the candidate list (step S3704). The information processing apparatus 100 proceeds to the process of step S3706.

[0195] In step S3705, the information processing apparatus 100 sets one or more combinations of the MPI parallel number N1 and the execution time of indefinite value n / a in table 2400 of the candidate list based on the number of qubits (step S3705). The information processing apparatus 100 proceeds to the process of step S3706.

[0196] In step S3706, the information processing apparatus 100 determines the MPI parallel number N1 and the number of distributed processes N2 by executing the second determination process (step S3706). The information processing apparatus 100 ends the first determination process.

[0197] (Second determination processing procedure) Next, an example of the second determination processing procedure executed by the information processing apparatus 100 will be described with reference to FIG. 38. The second determination 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.

[0198] FIG. 38 is a flowchart showing an example of the second determination processing procedure. In FIG. 38, the information processing apparatus 100 inquires of the arithmetic system 210 about the number of available arithmetic units 212 (step S3801). The information processing apparatus 100 sets a candidate list of N1 (step S3802).

[0199] Based on the candidate list of N1, the information processing apparatus 100 solves an optimization problem under the constraint conditions that the execution time of one iteration is reduced and the product of the MPI parallel number N1 and the distributed processing number N2 is equal to or less than the number of available arithmetic units 212, thereby determining the MPI parallel number N1 and the distributed processing number N2 (step S3803).

[0200] The information processing apparatus 100 transmits a request to the control apparatus 211 to allocate the arithmetic units 212 by the number of the product of the MPI parallel number N1 and the distributed processing number N2 (step S3804). The information processing apparatus 100 ends the second determination processing.

[0201] (Quantum computing processing procedure) Next, an example of the quantum computing processing procedure executed by the arithmetic unit 212 will be described with reference to FIG. 39. One execution of the quantum computing processing is the processing flow in which the quantum simulator executes from left to right in FIG. 6.

[0202] FIG. 39 is a flowchart showing an example of a quantum calculation processing procedure, and illustrates the processing performed by the quantum simulator in FIG. 6. In FIG. 39, the arithmetic unit 212 acquires an initial value of a quantum state and a predetermined Hamiltonian (step S3901). The arithmetic unit 212 acquires the current value of the parameter theta of the quantum circuit (step S3902). The arithmetic unit 212 applies the value of theta to a quantum gate to generate a quantum circuit (step S3903).

[0203] The arithmetic unit 212 sets a quantum state for operating on the quantum circuit (step S3904). The arithmetic unit 212 executes the quantum circuit (step S3905). The arithmetic unit 212 obtains an expected value of the predetermined Hamiltonian based on the quantum state after executing the quantum circuit (step S3906). The arithmetic unit 212 outputs the calculated expected value of the predetermined Hamiltonian (step S3907). The arithmetic unit 212 ends the quantum operation process.

[0204] Here, the information processing apparatus 100 may execute by swapping the processing order of some steps in each of the flowcharts of FIGS. 35 to 38. Further, the information processing apparatus 100 may omit the processing of some steps in each of the flowcharts of FIGS. 35 to 38.

[0205] Deletion of the <Example 2> section Next, Example 2 will be described with reference to FIGS. 40 to 58. In Example 2, in Example 1, the information processing apparatus 100 can be independently executed from the process of determining the MPI parallel number and the number of distributed processes. According to Example 2, after modifying the Hamiltonian used in the quantum calculation process, it is also possible to execute the quantum chemistry calculation by VQE shown in Example 1. First, the description of FIG. 40 will be moved on.

[0206] FIG. 40 is an explanatory diagram showing an example of a predetermined Hamiltonian 4000. Specifically, FIG. 40 shows a plurality of terms defining the predetermined Hamiltonian 4000 and the coefficients associated with each term. The terms are tensor products of Pauli operators. The information processing apparatus 100 stores the predetermined Hamiltonian 4000. The predetermined Hamiltonian 4000 is obtained by quantum chemistry software as an initial process. Even when quantum calculation processing is performed after the predetermined Hamiltonian is determined in step S3601 of FIG. 36, the Hamiltonian is not updated and remains the same once determined. Therefore, the number of terms defining the predetermined Hamiltonian is known.

[0207] Here, terms with small absolute values of the coefficients contribute a small proportion to the expected value of the Hamiltonian obtained by quantum calculation processing. Therefore, even if the information processing apparatus 100 deletes terms with small absolute values of the coefficients from the predetermined Hamiltonian 4000, the error generated in the expected value of the Hamiltonian is small. Also, in the quantum simulator mpiQulacs, it is known that the processing time required for calculating the expected value of the Hamiltonian is proportional to the number of terms of the Hamiltonian. Therefore, by deleting some of the terms of the Hamiltonian, there is an effect of reducing the processing time while suppressing the calculation error. In the following description, a procedure for the information processing apparatus 100 to delete some terms from the predetermined Hamiltonian 4000 is shown.

[0208] For example, it is conceivable that the information processing apparatus 100 receives a specification of the number of terms to be deleted from the predetermined Hamiltonian 4000. In this case, the information processing apparatus 100 deletes from the predetermined Hamiltonian 4000 the number of terms corresponding to the specified number among the plurality of terms. A specific example of this case will be described later with reference to FIGS. 41 and 42.

[0209] For example, it is conceivable that the information processing apparatus 100 receives the ratio of terms to be deleted from a predetermined Hamiltonian 4000. In this case, the information processing apparatus 100 determines the number of terms to be deleted from the predetermined Hamiltonian 4000 corresponding to the received ratio. The information processing apparatus 100 deletes the determined number of terms from the plurality of terms of the predetermined Hamiltonian 4000. A specific example of this case will be described later with reference to FIGS. 41 and 42.

[0210] For example, it is conceivable that the information processing apparatus 100 receives the specification of the processing time for one iteration. In this case, the information processing apparatus 100 determines the number of terms to be deleted from the predetermined Hamiltonian 4000 based on the received processing time. Then, the information processing apparatus 100 deletes the determined number of terms from the plurality of terms defining the predetermined Hamiltonian 4000. A specific example of this case will be described later with reference to FIG. 43.

[0211] Next, a specific example in which the information processing apparatus 100 deletes a specified number of terms from a plurality of terms from the predetermined Hamiltonian 4000 will be described with reference to FIG. 41.

[0212] FIG. 41 is an explanatory diagram showing a specific example of deleting a specified number of terms from the predetermined Hamiltonian 4000. In FIG. 41, the number of qubits = 36, and the type of target molecule = C3H6.

[0213] The information processing apparatus 100 stores a coefficient list coef that records the coefficient coef[] of each term of the plurality of terms defining the predetermined Hamiltonian 4000. The information processing apparatus 100 receives the specification of the ratio ratio as a pointer for specifying how many terms are to be deleted from the predetermined Hamiltonian 4000. The information processing apparatus 100 calculates the number n_cut of terms to be deleted from the predetermined Hamiltonian 4000 corresponding to the received ratio ratio. The information processing apparatus 100 may directly receive the specification of the number n_cut of terms to be deleted from the predetermined Hamiltonian 4000.

[0214] The information processing device 100 calculates, for example, the absolute value of the coefficient coef[] of each term. When the absolute values of the coefficients coef[] of each term are sorted in ascending order, the information processing device 100 determines the absolute value that exists at the n_cut-th position from the smaller absolute value as the threshold value th. The information processing device 100 deletes the terms related to the coefficients existing in the range of [-th, +th] from the predetermined Hamiltonian 4000.

[0215] In FIG. 41, the number of terms defining the predetermined Hamiltonian 4000 is 83003. Table 4100 shows the relationship between n_cut and the terms to be deleted from the predetermined Hamiltonian 4000. In Table 4100, ratio is the ratio of the terms to be deleted. n_cut is the number of terms to be deleted. Specifically, Table 4100 shows how many of the coefficients with positive values and the coefficients with negative values are deleted when ratio is in the range from 0.1 to 0.98.

[0216] In Table 4100, n_cut_p indicates the number of terms to be deleted among the terms with coefficients having positive values. n_cut_m indicates the number of terms to be deleted among the terms with coefficients having negative values. n_cut_ is n_cut_p + n_cut_m. When there are different terms with the same coefficient, n_cut and n_cut_ may be different. acc_p is the absolute value of the total value of the coefficients with positive values to be deleted. acc_m is the absolute value of the total value of the coefficients with negative values to be deleted. th is the threshold value for determining the terms to be deleted.

[0217] In this way, the information processing device 100 can delete the terms with relatively small absolute values of the coefficients among the plurality of terms defining the predetermined Hamiltonian 4000 according to the designation of ratio or n_cut. Thereby, the information processing device 100 can reduce the processing time required for the process of obtaining the expected value of the Hamiltonian in the quantum calculation process while suppressing the adverse effect on the accuracy of the quantum calculation process. For this reason, the information processing device 100 can reduce the processing time required for the quantum chemistry calculation by VQE.

[0218] Here, although the case where the information processing apparatus 100 does not consider the balance between the terms to be deleted among the terms with positive coefficients and the terms to be deleted among the terms with negative coefficients has been described, it is not limited to this. For example, the information processing apparatus 100 may consider the balance between the terms to be deleted among the terms with positive coefficients and the terms to be deleted among the terms with negative coefficients. By considering the balance between the terms to be deleted among the terms with positive coefficients and the terms to be deleted among the terms with negative coefficients, the information processing apparatus 100 can easily suppress the adverse effects on the accuracy of the quantum calculation process.

[0219] Next, with reference to FIG. 42, another specific example in which the information processing apparatus 100 deletes a specified number of terms from among a plurality of terms from a predetermined Hamiltonian 4000 will be described.

[0220] FIG. 42 is an explanatory diagram showing another specific example in which a specified number of terms are deleted from a predetermined Hamiltonian 4000. In FIG. 42, the number of qubits = 36, and the type of the target molecule = C3H6.

[0221] The information processing apparatus 100 stores a coefficient list coef that records the coefficient coef[] of each of the plurality of terms that define the predetermined Hamiltonian 4000. The information processing apparatus 100 receives a specification of a ratio ratio as a pointer for specifying how many terms are to be deleted from the predetermined Hamiltonian 4000. The information processing apparatus 100 calculates the number n_cut of terms to be deleted from the predetermined Hamiltonian 4000 corresponding to the received ratio ratio. The information processing apparatus 100 may directly receive a specification of the number n_cut of terms to be deleted from the predetermined Hamiltonian 4000.

[0222] The information processing apparatus 100 creates, for example, a positive coefficient list coef_p that records coefficients coef_p[] taking positive values based on the coefficients coef[] of each term. The information processing apparatus 100 calculates, for example, the absolute values of the coefficients coef_p[] of each term based on the positive coefficient list coef_p, and sorts the positive coefficient list coef_p in ascending order of the absolute values.

[0223] The information processing apparatus 100 creates, for example, a negative coefficient list coef_m that records coefficients coef_m[] taking negative values based on the coefficients coef[] of each term. The information processing apparatus 100 calculates, for example, the absolute values of the coefficients coef_m[] of each term based on the negative coefficient list coef_m, and sorts the negative coefficient list coef_m in ascending order of the absolute values.

[0224] The information processing apparatus 100 determines the terms to be deleted so as to approximate the total value bal_acc_p of the absolute values of the coefficients coef_p[] taking positive values to be deleted and the total value bal_acc_m of the absolute values of the coefficients coef_m[] taking negative values to be deleted. For example, when the number of terms to be deleted reaches cut_n, the information processing apparatus 100 determines a threshold bal_th_p for the coefficients coef_p[] taking positive values and a threshold bal_th_m for the coefficients coef_m[] taking negative values. The information processing apparatus 100 deletes the terms corresponding to the coefficients existing in the range of [-bal_th_m, +bal_th_p] from the predetermined Hamiltonian 4000.

[0225] In FIG. 42, the number of terms defining the predetermined Hamiltonian 4000 is 83003. Table 4200 shows the relationship between n_cut and the terms to be deleted from the predetermined Hamiltonian 4000. In Table 4200, ratio is the ratio of the terms to be deleted. n_cut is the number of terms to be deleted. Specifically, Table 4200 shows how much the coefficients taking positive values and the coefficients taking negative values are deleted when ratio is in the range from 0.1 to 0.98.

[0226] In Table 4200, bal_n_cut_p is the number of terms with positive-valued coefficients that are to be deleted. bal_n_cut_m is the number of terms with negative-valued coefficients that are to be deleted. bal_n_cut_ is bal_n_cut_p + bal_n_cut_m. When there are different terms with the same coefficient, bal_n_cut_ and n_cut may be different. bal_acc_p is the absolute value of the sum of the positive-valued coefficients of the terms to be deleted. bal_acc_m is the absolute value of the sum of the negative-valued coefficients of the terms to be deleted. bal_th_p is the threshold for the positive-valued coefficients for determining the terms to be deleted. bal_th_m is the threshold for the negative-valued coefficients for determining the terms to be deleted.

[0227] In this way, according to the specification of ratio or n_cut, the information processing apparatus 100 can delete terms with relatively small absolute values of coefficients among a plurality of terms that define a predetermined Hamiltonian 4000. Thereby, the information processing apparatus 100 can reduce the processing time required for the process of obtaining the expected value of the Hamiltonian in the quantum calculation process while suppressing the adverse effect on the accuracy of the quantum chemistry calculation by VQE. For this reason, the information processing apparatus 100 can reduce the processing time required for the quantum chemistry calculation by VQE.

[0228] Further, the information processing apparatus 100 can easily suppress the adverse effect on the accuracy of the quantum chemistry calculation by VQE by considering the balance between the number of terms to be deleted among the terms with positive-valued coefficients and the number of terms to be deleted among the terms with negative-valued coefficients. Specifically, the information processing apparatus 100 can bring bal_acc_p and bal_acc_m closer, and can consider the balance between the number of terms to be deleted among the terms with positive-valued coefficients and the number of terms to be deleted among the terms with negative-valued coefficients.

[0229] Next, with reference to FIG. 43, a specific example of determining the terms to be deleted from the predetermined Hamiltonian 4000 when the information processing apparatus 100 receives the desired processing time per iteration will be described.

[0230] FIG. 43 is an explanatory diagram showing a specific example of a calculation formula for predicting the time required to calculate the expectation value of a Hamiltonian. FIG. 43 shows the values of the coefficient a and the constant term b of a linear equation for predicting the processing time of calculating the expectation value of a Hamiltonian using the number of terms of the Hamiltonian as a variable. The processing time depends on the number of qubits, the information of the molecule, and N1, the number of MPI parallelisms. FIG. 43 shows examples of the values of a and b when the number of qubits = 36, the molecule = C3H6, and N1 = 64 to 1024. The formula for predicting the processing time of calculating the expectation value of a Hamiltonian is the following formula (2).

[0231]

Equation

[0232] On the other hand, since the above-mentioned formula (1) is a calculation formula for predicting the processing time per iteration, by solving the equation substituting the desired processing time per iteration, t_run1, that is, the processing time required for one quantum calculation process, can be obtained. Here, based on the knowledge obtained from the experimental results, it is assumed that the processing time of one quantum calculation process is approximately equal to the processing time of calculating the expectation value of the Hamiltonian. Then, by substituting the value of t_run1 into the above-mentioned formula (2) and solving the equation, N_terms, that is, the number of terms of the Hamiltonian, can be obtained. The value obtained by subtracting the obtained number of terms from the number of terms of the predetermined Hamiltonian 4000 is the number of terms to be deleted.

[0233] Since the information processing apparatus 100 stores information such as the table 4300 in FIG. 43, it is possible to obtain the number of terms of the Hamiltonian to be deleted from the desired processing time per iteration by the above-mentioned procedure. Information such as the table 4300 in FIG. 43 can determine the values of a and b by fitting to a linear equation by the least squares method or the like using the results of quantum calculation processes executed in the past.

[0234] The information processing apparatus 100 receives a specification of the processing time t_{1iter} for one iteration. The information processing apparatus 100 determines the number of terms N_{terms} to be left in the Hamiltonian based on the received processing time t_{1iter} according to the above formula (1) and the above formula (2). The information processing apparatus 100 determines the number of terms n_cut to be deleted from the predetermined Hamiltonian 4000 based on the number of terms N_{terms} to be left in the Hamiltonian.

[0235] Based on the determined n_cut, the information processing apparatus 100 deletes some terms from the predetermined Hamiltonian 4000 in the same manner as in FIG. 41 or FIG. 42. In this way, the information processing apparatus 100 can delete terms with relatively small absolute values of coefficients among the plurality of terms defining the predetermined Hamiltonian 4000 according to the specification of ratio or n_cut.

[0236] Thereby, the information processing apparatus 100 can reduce the processing time required for the process of obtaining the expected value of the Hamiltonian in the quantum calculation process while suppressing the adverse effect on the accuracy of the quantum calculation process. For this reason, the information processing apparatus 100 can reduce the processing time required for the quantum chemistry calculation by VQE. The information processing apparatus 100 can reduce the processing time required for the quantum chemistry calculation by VQE so as to satisfy the received processing time t_{1iter} for one iteration, and can improve the convenience for the user.

[0237] Here, when the information processing apparatus 100 does not have constants a and b corresponding to the combination of the type of target molecule, the number of qubits, and the MPI parallel number N1 in Table 4300, it may calculate the constants a and b. For example, when the information processing apparatus 100 executes quantum calculation processing multiple times, it controls the arithmetic system 210 to execute with different Hamiltonians deleted in at least two different numbers. This is because if there are execution results of two or more types, fitting to a linear equation can be performed to determine the values of a and b. For example, the information processing apparatus 100 receives the measured values of the processing time for obtaining the expected value of the Hamiltonian in each iteration from the control device 211.

[0238] For example, based on the received measured values, the information processing apparatus 100 calculates the constants a and b corresponding to the combination of the type of target molecule, the number of qubits, and the MPI parallel number N1, and records them in Table 4300. Thereby, the information processing apparatus 100 can use the constants a and b corresponding to the combination of the type of target molecule, the number of qubits, and the MPI parallel number N1 hereafter.

[0239] Next, with reference to FIGS. 44 to 54, an example of the effect of the information processing apparatus 100 in Example 2 will be described.

[0240] FIGS. 44 to 54 are explanatory diagrams showing an example of the effect in Example 2. The graph 4400 in FIG. 44 represents a histogram regarding the coefficients of the terms defining a predetermined Hamiltonian 4000. As shown in the graph 4400, there is a tendency that there are more terms with the absolute value of the coefficient closer to 0 than terms with the absolute value of the coefficient far from 0. It is estimated that the smaller the absolute value of the coefficient, the smaller the contribution to the quantum chemistry calculation by VQE, and it is considered that the influence on the accuracy of the quantum chemistry calculation by VQE is small. Therefore, in the predetermined Hamiltonian 4000, there are many terms with small absolute values of the coefficients, and many of these terms can be deleted, and the calculation error can be suppressed to be small, so it is considered easy to reduce the processing time of the quantum calculation processing.

[0241] Next, we move on to the description of FIGS. 45 and 46. The graph 4500 in FIG. 45 shows the trend of the processing time for obtaining the expectation value of the Hamiltonian with respect to the number of terms of the Hamiltonian. While varying the number of terms of the Hamiltonian to be deleted and changing the MPI parallel number N1, the execution results are plotted with various marks. The line is the result of fitting to a linear equation. The graph 4600 in FIG. 46 is a graph with an expanded horizontal axis range for the same result as in FIG. 45. The right end of the graph 4600 represents the processing time that would be taken when no terms are deleted.

[0242] As shown in graphs 4500 and 4600, the fewer the number of terms of the Hamiltonian, the shorter the processing time for obtaining the expectation value of the Hamiltonian tends to be. Therefore, it is considered that the information processing apparatus 100 can improve the efficiency of quantum chemical calculations by VQE by deleting some terms from a given Hamiltonian 4000.

[0243] Next, we move on to the description of FIGS. 47 to 52. In FIG. 47, assume that the number of qubits = 28 and the type of target molecule = CO2. The graph 4700 in FIG. 47 shows the trend of the processing time for obtaining the expectation value of the Hamiltonian with respect to the ratio of the number of terms to be deleted. Here, "simple - cut" corresponds to the method of deleting terms shown in FIG. 41. "balanced - cut" corresponds to the method of deleting terms shown in FIG. 42. The graph 4710 in FIG. 47 shows the trend of the error of the expectation value of the Hamiltonian with respect to the ratio of the number of terms to be deleted. This experimental result shows that the processing time is shortened by the above - mentioned deletion of terms, and also shows that the calculation error is small if the number to be deleted is appropriately suppressed.

[0244] Next, we move on to the description of FIG. 48. The table 4800 in FIG. 48 numerically shows the graphs 4700 and 4710 in FIG. 47.

[0245] Next, we move on to the description of FIG. 49. FIG. 49 shows the result when the same as in FIG. 47 is changed to the number of qubits = 32 and the type of target molecule = C3H6.

[0246] Next, we move on to the description of FIG. 50. Table 5000 in FIG. 50 numerically shows graphs 4900 and 4910 in FIG. 49.

[0247] Next, we move on to the description of FIG. 51. FIG. 51 shows the results when the same thing as in FIG. 47 is changed to the number of qubits = 36 and the type of target molecule = C3H6.

[0248] Next, we move on to the description of FIG. 52. Table 5200 in FIG. 52 numerically shows graphs 5100 and 5110 in FIG. 51.

[0249] In this way, the information processing apparatus 100 may be able to suppress the error even when the ratio of the number of terms to be deleted is 80% by deleting terms with relatively small absolute values of coefficients from the predetermined Hamiltonian 4000. Therefore, the information processing apparatus 100 can improve the efficiency of quantum chemistry calculations by VQE while suppressing a decrease in the accuracy of quantum chemistry calculations by VQE.

[0250] Next, we move on to the description of FIG. 53. Table 5300 in FIG. 53 summarizes the results of performing quantum chemistry calculations by VQE. It shows the execution time, the number of iterations, the minimum value, and the term cut ratio corresponding to the combination of the number of qubits, the type of target molecule, the number k of parameters, the MPI parallel number N1, and the distributed processing number N2.

[0251] The execution time is the processing time required for the entire quantum chemistry calculation by VQE. The number of iterations is the number of times the iteration is repeated in the entire quantum chemistry calculation by VQE. The minimum value is the minimum value of the expected value of the Hamiltonian. The term cut ratio is the ratio of the number of terms deleted from the predetermined Hamiltonian 4000. As shown in Table 5300, the information processing apparatus 100 can reduce the execution time by deleting some terms from the predetermined Hamiltonian 4000. Also, the information processing apparatus 100 may determine the number of terms to be deleted by machine learning.

[0252] Next, we move on to the description of FIG. 54. The graph 5400 in FIG. 54 is a graph that shows the state where the minimum value of the Hamiltonian's expected value converges by running the optimization algorithm through multiple iterations, and the minimum value is updated for each iteration. The horizontal axis represents the processing time, which is a value starting from 0 when the quantum chemistry calculation by VQE is started. The vertical axis represents the minimum value of the Hamiltonian's expected value, and it can be seen that it decreases as the iteration progresses. The points plotted with various marks are the times when the iteration progresses and the variables theta and the minimum value of the Hamiltonian's expected value are updated. To explain the notations in the legend, the MPI# numerical value is the value of N1, the DP# numerical value is the value of N2, and the subsequent percentage value is the ratio of the terms to be cut (deleted).

[0253] The graph 5410 in FIG. 54 is a graph that magnifies the vicinity of the minimum value on the vertical axis of the graph 5400. The effects of Example 2 can be read from this graph 5410. 1) When the ratio of cutting terms is large, it becomes difficult for the minimum value to become small and the error increases. 2) When the ratio of cutting terms is small, the minimum value becomes small but the processing time becomes extremely long. 3) When the ratio of cutting terms is just right, it approaches the minimum value with a short processing time and a small error. 4) By changing N1 and N2, the processing time increases or decreases, but if the cutting ratio is the same, the obtained minimum value is the same, suggesting that it can cope with changes in the server's demand volume.

[0254] (Overall processing procedure) In Example 2, an example of the overall processing procedure executed by the information processing apparatus 100 is the same as the main processing parts of VQE such as steps S3502 and S3503 in Example 1, so detailed description is omitted. What is different in Example 2 is that in the part corresponding to step S3502, which is various initialization processes immediately after the start of processing, a process of deleting terms of the Hamiltonian is executed. This will be described in the solution process described later with reference to FIG. 55.

[0255] (Solution process procedure) Next, with reference to FIG. 55, an example of the solution-finding processing procedure executed by the information processing apparatus 100 in Embodiment 2 will be described. The solution-finding 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.

[0256] FIG. 55 is a flowchart showing an example of the solution-finding processing procedure in Embodiment 2. In FIG. 55, the information processing apparatus 100 acquires an initial value of a quantum state, a predetermined Hamiltonian, and a specified deletion amount (step S5501). The information processing apparatus 100 executes any one of various term deletion processes including the first-term deletion process described later with reference to FIG. 56, the second-term deletion process described later with reference to FIG. 57, and the third-term deletion process described later with reference to FIG. 58 (step S5502).

[0257] The information processing apparatus 100 acquires an initial value of the parameter theta of the quantum circuit (step S5503). The information processing apparatus 100 controls the arithmetic system 210 to execute a quantum simulator (step S5504). The information processing apparatus 100 executes one iteration of an optimization algorithm that minimizes the expected value of a predetermined Hamiltonian to update the parameter theta of the quantum circuit (step S5505).

[0258] The information processing apparatus 100 determines whether or not the solution has converged by the optimization algorithm (step S5506). Here, if the solution has not converged by the optimization algorithm (step S5506: No), the information processing apparatus 100 returns to the process of step S5504. On the other hand, if the solution has converged by the optimization algorithm (step S5506: Yes), the information processing apparatus 100 outputs the minimum value of the expected value of a predetermined Hamiltonian (step S5507) and ends the solution-finding processing.

[0259] (First-Term Deletion Processing Procedure) Next, with reference to FIG. 56, an example of the first-term deletion processing procedure executed by the information processing apparatus 100 will be described. The first-term deletion 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.

[0260] FIG. 56 is a flowchart showing an example of the first-term deletion processing procedure. In FIG. 56, the information processing apparatus 100 sorts coef[] in ascending order of absolute value (step S5601). The information processing apparatus 100 sets 0 to n and 0 to th (step S5602). The information processing apparatus 100 sets coef[n] to th (step S5603).

[0261] The information processing apparatus 100 determines whether or not the end condition is satisfied (step S5604). The end condition is (n < n_cut) and (n < the number of elements of coef). Here, when the end condition is not satisfied (step S5604: No), the information processing apparatus 100 increments n and returns to the process of step S5603. On the other hand, when the end condition is satisfied (step S5604: Yes), the information processing apparatus 100 proceeds to the process of step S5605.

[0262] In step S5605, the information processing apparatus 100 determines th as the threshold value (step S5605). The information processing apparatus 100 deletes the terms having coefficients in the range of [-th, th] from a predetermined Hamiltonian (step S5606). The information processing apparatus 100 ends the first-term deletion processing.

[0263] (Second-term deletion processing procedure) Next, with reference to FIG. 57, an example of the second-term deletion processing procedure executed by the information processing apparatus 100 will be described. The second-term deletion 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.

[0264] FIG. 57 is a flowchart showing an example of the second item deletion processing procedure. In FIG. 57, the information processing apparatus 100 sorts the positive values of coef in ascending order of absolute value and sets them to coef_p (step S5701). The information processing apparatus 100 sorts the negative values of coef in ascending order of absolute value and sets them to coef_m (step S5702). The information processing apparatus 100 sets 0 to ip, 0 to im, 0 to th_p, 0 to th_m, 0 to a_p, 0 to a_m, and 0 to n (step S5703).

[0265] The information processing apparatus 100 determines whether a_m < a_p (step S5704). Here, if a_m < a_p (step S5704: Yes), the information processing apparatus 100 proceeds to the process of step S5705. On the other hand, if a_m < a_p is not satisfied (step S5704: No), the information processing apparatus 100 proceeds to the process of step S5706.

[0266] In step S5705, the information processing apparatus 100 sets coef_m[im] to th_m, sets a_m + th_m to a_m, and sets im + 1 to im (step S5705). Then, the information processing apparatus 100 proceeds to the process of step S5707.

[0267] In step S5706, the information processing apparatus 100 sets coef_p[ip] to th_p, sets a_p + th_p to a_p, and sets ip + 1 to ip (step S5706). Then, the information processing apparatus 100 proceeds to the process of step S5707.

[0268] In step S5707, the information processing apparatus 100 determines whether or not an end condition is satisfied (step S5707). The end condition is (n < n_cut) and (ip < the number of elements of coef_p) and (im < the number of elements of coef_m). Here, if the end condition is not satisfied (step S5707: No), the information processing apparatus 100 increments n and returns to the process of step S5704. On the other hand, if the end condition is satisfied (step S5707: Yes), the information processing apparatus 100 proceeds to the process of step S5708.

[0269] In step S5708, the information processing apparatus 100 determines th_m and th_p as threshold values (step S5708). The information processing apparatus 100 deletes terms having coefficients in the range of [-th_m, th_p] from a predetermined Hamiltonian (step S5709). The information processing apparatus 100 ends the second term deletion process.

[0270] (Third term deletion process procedure) Next, an example of the third term deletion process procedure executed by the information processing apparatus 100 will be described with reference to FIG. 58. The third term deletion 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.

[0271] FIG. 58 is a flowchart showing an example of the third term deletion process procedure. In FIG. 58, the information processing apparatus 100 acquires the processing time t_1iter for one iteration (step S5801). The information processing apparatus 100 calculates the processing time t_run for one quantum simulation (step S5802).

[0272] The information processing apparatus 100 calculates the number N_terms of terms of the Hamiltonian to be left (step S5803). The information processing apparatus 100 deletes one or more terms from a predetermined Hamiltonian so that the number of terms becomes N_terms (step S5804). The information processing apparatus 100 ends the third term deletion process.

[0273] As described above, according to the information processing apparatus 100, it is possible to acquire information regarding the target molecule in quantum chemical calculations. According to the information processing apparatus 100, based on the information regarding the target molecule, it is possible to acquire a list of values that can be specified as the first parallel number, which consists of a combination of the first parallel number and a sample of the processing time for executing one quantum calculation process with the first parallel number. According to the information processing apparatus 100, it is possible to identify the number of arithmetic units available for quantum calculation processing. According to the information processing apparatus 100, based on the list of values that can be specified as the first parallel number, within a range where the product of the first parallel number and the second parallel number does not exceed the specified number, the first parallel number and the second parallel number can be determined such that the processing time for executing multiple quantum calculation processes is reduced. According to the information processing apparatus 100, based on the determined first parallel number and second parallel number, it is possible to control multiple quantum calculation processes. Thereby, the information processing apparatus 100 can reduce the processing time required for quantum calculation processing.

[0274] According to the information processing apparatus 100, it can have a storage unit that stores a list of values that can be specified as the first parallel number in association with the information regarding each molecule of a plurality of molecules. According to the information processing apparatus 100, by referring to the storage unit, it is possible to acquire the list of values that can be specified as the first parallel number associated with the information regarding the target molecule. Thereby, the information processing apparatus 100 can appropriately acquire the list of values that can be specified as the first parallel number according to the target molecule. For this reason, the information processing apparatus 100 can appropriately determine the first parallel number and the second parallel number.

[0275] According to the information processing apparatus 100, based on the execution result of at least one quantum calculation process among multiple quantum calculation processes, the stored content of the storage unit can be updated. Thereby, the information processing apparatus 100 can reflect the value of the processing time when at least one quantum calculation process is actually executed in the stored content of the storage unit, and thereafter, it can be easier to appropriately determine the first parallel number and the second parallel number.

[0276] According to the information processing apparatus 100, when a plurality of values that can be specified for the first parallel number are applied to different quantum computing processes with the second parallel number set to a predetermined value, the execution results of the quantum computing processes for each round can be obtained. According to the information processing apparatus 100, based on the execution results of the quantum computing processes for each round, the stored content of the storage unit can be updated. Thereby, the information processing apparatus 100 can reflect the value of the processing time when the quantum computing process is actually executed in the stored content of the storage unit, and thereafter, it can be made easier to appropriately determine the first parallel number and the second parallel number.

[0277] According to the information processing apparatus 100, by querying a system including a plurality of arithmetic units about the number of arithmetic units available for quantum computing processes, the number of arithmetic units available for quantum computing processes can be obtained. Thereby, the information processing apparatus 100 can improve the operation efficiency of the arithmetic unit 212 according to the number of arithmetic units currently available for quantum computing processes, and it can be made easier to ensure the fairness of use of the arithmetic unit 212.

[0278] According to the information processing apparatus 100, the coefficient of each term among a plurality of terms defining a predetermined Hamiltonian regarding a target molecule in the quantum computing process can be obtained. According to the information processing apparatus 100, based on the obtained coefficients, among the plurality of terms, the terms whose absolute value of the coefficient is less than or equal to a reference value can be deleted from the predetermined Hamiltonian. According to the information processing apparatus 100, using the predetermined Hamiltonian from which the terms whose absolute value of the coefficient is less than or equal to the reference value have been deleted, based on the determined first parallel number and the second parallel number, a plurality of rounds of quantum computing processes can be controlled. Thereby, the information processing apparatus 100 can reduce the processing time required for the quantum computing process.

[0279] According to the information processing apparatus 100, it is possible to receive a specification of the number of terms to be deleted from a predetermined Hamiltonian. According to the information processing apparatus 100, among a plurality of terms, the absolute value of the coefficient of a specific term existing in the order corresponding to the specified number from the ones with smaller absolute values of the coefficients can be set to a reference value. Thereby, the information processing apparatus 100 can reduce the processing time required for the quantum calculation process while suppressing a decrease in the accuracy of the quantum calculation process.

[0280] According to the information processing apparatus 100, it is possible to receive a specification of the upper limit value of the processing time. According to the information processing apparatus 100, it is possible to store information representing a change in the processing time for obtaining the expected value of the Hamiltonian in response to a change in the number of terms defining the Hamiltonian. According to the information processing apparatus 100, based on the information, it is possible to identify the number of terms to be deleted from a predetermined Hamiltonian so that the processing time for obtaining the expected value of the predetermined Hamiltonian is within the specified upper limit value. According to the information processing apparatus 100, among a plurality of terms, the absolute value of the coefficient of a specific term existing in the order corresponding to the identified number from the ones with smaller absolute values of the coefficients can be set to a reference value. Thereby, the information processing apparatus 100 can reduce the processing time required for the quantum calculation process while suppressing a decrease in the accuracy of the quantum calculation process.

[0281] According to the information processing apparatus 100, from a predetermined Hamiltonian, it is possible to delete a first term whose coefficient takes a positive value and whose absolute value of the coefficient is equal to or less than a first reference value, and a second term whose coefficient takes a negative value and whose absolute value of the coefficient is equal to or less than a second reference value among a plurality of terms. Thereby, the information processing apparatus 100 can easily suppress a decrease in the accuracy of the quantum calculation process and can reduce the processing time required for the quantum calculation process.

[0282] According to the information processing apparatus 100, the first term and the second term can be deleted from a predetermined Hamiltonian so that the total value of the absolute values of the coefficients of the first term and the total value of the absolute values of the coefficients of the second term are made closer. Thereby, the information processing apparatus 100 can easily suppress a decrease in the accuracy of the quantum calculation process, and can reduce the processing time required for the quantum calculation process.

[0283] According to the information processing apparatus 100, it is possible to accept designation of the ratio occupied by the number of terms to be deleted from a predetermined Hamiltonian with respect to the number of terms defining the predetermined Hamiltonian. According to the information processing apparatus 100, based on the accepted ratio, among a plurality of terms, the absolute value of the coefficient of a specific term existing in the order corresponding to the term to be deleted from the predetermined Hamiltonian is set to a reference value, starting from the terms with smaller absolute values of the coefficients. Thereby, the information processing apparatus 100 can reduce the processing time required for the quantum calculation process.

[0284] According to the information processing apparatus 100, the coefficient of each of a plurality of terms defining a predetermined Hamiltonian in quantum chemistry calculation by VQE can be acquired. According to the information processing apparatus 100, based on the acquired coefficients, among a plurality of terms, terms whose absolute values of the coefficients are less than or equal to the reference value can be deleted from the predetermined Hamiltonian. According to the information processing apparatus 100, a plurality of quantum calculation processes can be controlled using the predetermined Hamiltonian from which terms whose absolute values of the coefficients are less than or equal to the reference value have been deleted. Thereby, the information processing apparatus 100 can reduce the processing time required for the quantum calculation process.

[0285] Note that the information processing method described in this embodiment can be realized by executing a pre-prepared program on a computer such as a PC or a workstation. The information processing program described in this embodiment is recorded on a computer-readable recording medium and is executed by being read from the recording medium by a computer. The recording medium is a hard disk, a flexible disk, a CD (Compact Disc)-ROM, an MO (Magneto Optical disc), a DVD (Digital Versatile Disc), or the like. Further, the information processing program described in this embodiment may be distributed via a network such as the Internet.

[0286] Regarding the above-described embodiment, the following additional remarks are disclosed.

[0287] (Supplementary Note 1) Based on information about a target molecule in quantum chemical calculations using VQE (Variational Quantum Eigensolver), a value list that can be specified as the first parallel number, which represents how many times the single quantum calculation process among multiple quantum calculation processes in the quantum chemical calculation is to be distributed and executed, and a sample of the processing time for executing the single quantum calculation process with the first parallel number, is obtained. Based on the obtained value list that can be specified as the first parallel number, the first parallel number and the second parallel number, which represents how many times the multiple quantum calculation processes are to be distributed and executed, are determined such that the product of the first parallel number and the second parallel number does not exceed the number of arithmetic units available for the quantum calculation process and the processing time for executing the multiple quantum calculation processes is minimized. Based on the determined first parallel number and the second parallel number, the multiple quantum calculation processes are controlled. An information processing program, characterized in that the computer is caused to execute a process.

[0288] (Supplementary Note 2) The process of obtaining is Referring to a storage unit that stores a list of values that can be specified for the first parallel number in association with information about each of a plurality of molecules, and obtaining the list of values that can be specified for the first parallel number associated with the information about the target molecule. The information processing program according to Supplementary Note 1, characterized in that.

[0289] (Supplementary Note 3) Updating the stored content of the storage unit based on the execution result of at least one quantum calculation process among the plurality of quantum calculation processes. The information processing program according to Supplementary Note 2, characterized in that the computer is caused to execute the process.

[0290] (Supplementary Note 4) The process of updating is as follows. Setting the second parallel number to a predetermined value, and when a plurality of values that can be specified for the first parallel number are applied to different quantum calculation processes among the plurality of quantum calculation processes, updating the stored content of the storage unit based on the execution result of each quantum calculation process among the plurality of quantum calculation processes. The information processing program according to Supplementary Note 3, characterized in that.

[0291] (Supplementary Note 5) Obtaining the number of arithmetic units available for the quantum calculation process by querying a system including a plurality of arithmetic units about the number of arithmetic units available for the quantum calculation process. The information processing program according to Supplementary Note 1, characterized in that the computer is caused to execute the process.

[0292] (Supplementary Note 6) Deleting, from the predetermined Hamiltonian, terms among the plurality of terms that define the predetermined Hamiltonian for the target molecule in the quantum calculation process, where the absolute value of the coefficient of each term is less than or equal to a reference value. Causing the computer to execute the process. The process of controlling is as follows. Using the predetermined Hamiltonian with terms whose absolute value of the coefficient is less than or equal to the reference value, controlling the plurality of quantum calculation processes based on the determined first parallel number and the second parallel number, The information processing program according to any one of Appendices 1 to 5, characterized in that.

[0293] (Appendix 7) Receiving a designation of the number of terms to be deleted from the predetermined Hamiltonian, Among the plurality of terms, setting the absolute value of the coefficient of a specific term existing in the order corresponding to the received number from the ones with smaller absolute value of the coefficient to the reference value, Causing the computer to execute the process, The information processing program according to Appendix 6, characterized in that.

[0294] (Appendix 8) Receiving a designation of an upper limit value of the processing time, Based on information representing a change in the processing time for obtaining the expected value of the Hamiltonian according to a change in the number of terms defining the Hamiltonian, specifying the number of terms to be deleted from the predetermined Hamiltonian so that the processing time for obtaining the expected value of the predetermined Hamiltonian is within the received upper limit value, Among the plurality of terms, setting the absolute value of the coefficient of a specific term existing in the order corresponding to the specified number from the ones with smaller absolute value of the coefficient to the reference value, Causing the computer to execute the process, The information processing program according to Appendix 6, characterized in that.

[0295] (Appendix 9) The deletion process is Deleting, from the predetermined Hamiltonian, a first term whose coefficient takes a positive value and whose absolute value of the coefficient is less than or equal to a first reference value and a second term whose coefficient takes a negative value and whose absolute value of the coefficient is less than or equal to a second reference value among the plurality of terms, The information processing program according to Appendix 6, characterized in that.

[0296] (Appendix 10) The deletion process is The information processing program according to appended note 9, wherein the first term and the second term are deleted from the predetermined Hamiltonian so as to bring the total value of the absolute values of the coefficients of the first term and the total value of the absolute values of the coefficients of the second term closer to each other.

[0297] (Appended note 11) Receiving a designation of the ratio occupied by the number of terms to be deleted from the predetermined Hamiltonian with respect to the number of terms defining the predetermined Hamiltonian, Based on the received ratio, among the plurality of terms, the absolute value of the coefficient of a specific term existing in the order corresponding to the terms to be deleted from the predetermined Hamiltonian, starting from the one with the smaller absolute value of the coefficient, is set to the reference value. The information processing program according to appended note 6, wherein the computer is caused to execute the process.

[0298] (Appended note 12) Based on information regarding a target molecule in quantum chemical calculations by VQE (Variational Quantum Eigensolver), a list of values that can be specified as the first parallel number, which represents how many times one quantum calculation process among the multiple quantum calculation processes in the quantum chemical calculations is distributed and executed, and a sample of the processing time for executing one quantum calculation process with the first parallel number, is obtained. Based on the obtained list of values that can be specified as the first parallel number, the first parallel number and the second parallel number, which represents how many times the multiple quantum calculation processes are distributed and executed, are determined so that the product of the first parallel number and the second parallel number does not exceed the number of arithmetic units available for the quantum calculation process and the processing time for executing the multiple quantum calculation processes is minimized. Based on the determined first parallel number and the second parallel number, the multiple quantum calculation processes are controlled. An information processing method, wherein a computer executes the process.

[0299] (Appendix 13) Based on information about the target molecule in quantum chemistry calculations using VQE (Variational Quantum Eigensolver), among multiple quantum calculation processes in the quantum chemistry calculation, obtain a list of values that can be specified as the first parallel number representing how many times the single quantum calculation process is distributed and executed, and a combination of the first parallel number and a sample of the processing time for executing the single quantum calculation process with the first parallel number. Based on the obtained list of values that can be specified as the first parallel number, within the range where the product of the first parallel number and the second parallel number representing how many times the multiple quantum calculation processes are distributed and executed does not exceed the number of arithmetic units available for the quantum calculation process, determine the first parallel number and the second parallel number so that the processing time for executing the multiple quantum calculation processes is minimized. Based on the determined first parallel number and the second parallel number, control the multiple quantum calculation processes. An information processing apparatus characterized by having a control unit.

[0300] (Appendix 14) Based on the coefficients of each term among a plurality of terms defining a predetermined Hamiltonian in quantum chemistry calculations using VQE (Variational Quantum Eigensolver), delete from the predetermined Hamiltonian the terms among the plurality of terms whose absolute value of the coefficient is less than or equal to a reference value. Control the multiple quantum calculation processes using the predetermined Hamiltonian from which the terms whose absolute value of the coefficient is less than or equal to the reference value have been deleted. An information processing program characterized by causing a computer to execute the process.

[0301] (Appendix 15) Receive a specification of the number of terms to be deleted from the predetermined Hamiltonian. Set the absolute value of the coefficient of a specific term that exists in the order corresponding to the specified number from the ones with smaller absolute values of the coefficients among the plurality of terms to the reference value. The information processing program according to Appendix 14, characterized by causing the computer to execute the process.

[0302] (Appendix 16) Accepting the specification of the upper limit value of the processing time, Based on the information representing the change in the processing time for obtaining the expected value of the Hamiltonian according to the change in the number of terms defining the Hamiltonian, determine the number of terms to be deleted from the predetermined Hamiltonian so that the processing time for obtaining the expected value of the predetermined Hamiltonian is within the upper limit value that has accepted the specification, Among the plurality of terms, set the absolute value of the coefficient of a specific term existing in the order corresponding to the determined number from the one with the smaller absolute value of the coefficient to the reference value, An information processing program according to Appendix 14, characterized in that the processing is executed by the computer.

[0303] (Appendix 17) The deletion process is From the predetermined Hamiltonian, delete a first term in which the coefficient takes a positive value and the absolute value of the coefficient is less than or equal to a first reference value, and a second term in which the coefficient takes a negative value and the absolute value of the coefficient is less than or equal to a second reference value among the plurality of terms. An information processing program according to Appendix 14, characterized by this.

[0304] (Appendix 18) The deletion process is Delete the first term and the second term from the predetermined Hamiltonian so as to approximate the total value of the absolute value of the coefficient of the first term and the total value of the absolute value of the coefficient of the second term. An information processing program according to Appendix 17, characterized by this.

[0305] (Appendix 19) Accept the specification of the ratio that the number of terms to be deleted from the predetermined Hamiltonian occupies with respect to the number of terms defining the predetermined Hamiltonian, Based on the accepted ratio, set the absolute value of the coefficient of a specific term existing in the order corresponding to the terms to be deleted from the predetermined Hamiltonian from the one with the smaller absolute value of the coefficient to the reference value. An information processing program according to Appendix 14, characterized by this.

[0306] (Appendix 20) Based on the coefficients of each term of a plurality of terms defining a predetermined Hamiltonian in quantum chemical calculations using VQE (Variational Quantum Eigensolver), from the predetermined Hamiltonian, among the plurality of terms, terms whose absolute value of the coefficient is less than or equal to a reference value are deleted, Controlling the plurality of quantum calculation processes using the predetermined Hamiltonian from which terms whose absolute value of the coefficient is less than or equal to the reference value have been deleted, An information processing method characterized in that a computer executes the process.

[0307] (Appendix 21) Based on the coefficients of each term of a plurality of terms defining a predetermined Hamiltonian in quantum chemical calculations using VQE (Variational Quantum Eigensolver), from the predetermined Hamiltonian, among the plurality of terms, terms whose absolute value of the coefficient is less than or equal to a reference value are deleted, Controlling the plurality of quantum calculation processes using the predetermined Hamiltonian from which terms whose absolute value of the coefficient is less than or equal to the reference value have been deleted, An information processing apparatus characterized by having a control unit.

Explanation of Signs

[0308] 100 Information processing apparatus 101, 212 Arithmetic unit 110, 500 Storage unit 200 Information processing system 201 Client device 210 Arithmetic system 211 Control device 220 Network 300, 400 Bus 301, 401 CPU 302, 402 Memory 303, 403 Network I / F 304, 404 Recording medium I / F 305, 405 Recording medium 406 Arithmetic housing I / F 407 Quantum arithmetic housing 501 Acquisition Unit 502 Decision Unit 503 Deletion Unit 504 Instruction Unit 505 Update Unit 506 Output Unit 513 Processing Time 610, 630 Quantum State 620 Quantum Circuit 621 Quantum Gate 700 Optimization Algorithm 701 client 702, 802 Control Processing Unit 720 qulacs Software 730 Computing Server 800 VQE Software 801 client Software 810, 811, 812 grpc - server 900, 910 Code 1000, 1010, 1020, 1100, 1110, 1120, 1300, 1400, 1500, 1510, 1600, 1700, 2500, 2800, 3000, 3200, 4100, 4200, 4300, 4800, 5000, 5200, 5300 Table 1200 Relationship Diagram 1800, 1900, 2400 Table 2000, 2100, 2200, 2600, 2700, 2900, 3100, 4400, 4500, 4600, 4700, 4710, 4900, 4910, 5100, 5110, 5400, 5410 Graph 2300 Information 3301, 3401 server Software 3400 Software 3603, 3701 - 3706, 3801 - 3804 S 4000 Hamiltonian

Claims

1. Based on information about the target molecule in quantum chemical calculations by Variational Quantum Eigensolver (VQE), obtain a list of values that can be specified as the first parallel number, which represents how many times each quantum calculation process among multiple quantum calculation processes in the quantum chemical calculation is to be distributed and executed, and a combination with a sample of the processing time for executing one quantum calculation process with the first parallel number, Based on the obtained list of values that can be specified as the first parallel number, determine the first parallel number and the second parallel number, which represents how many times the multiple quantum calculation processes are to be distributed and executed, such that the product of the first parallel number and the second parallel number does not exceed the number of computing devices available for the quantum calculation process and the processing time for executing the multiple quantum calculation processes is minimized, Control the multiple quantum calculation processes based on the determined first parallel number and the second parallel number, An information processing program characterized by causing a computer to execute the process.

2. The obtaining process is To obtain the list of values that can be specified as the first parallel number associated with the information about the target molecule by referring to a storage unit that stores the list of values that can be specified as the first parallel number in association with the information about each of the multiple molecules, The information processing program according to claim 1, characterized in that.

3. Update the stored content of the storage unit based on the execution result of at least one quantum calculation process among the multiple quantum calculation processes, An information processing program characterized by causing the computer to execute the process according to claim 2.

4. The updating process is With the second parallel number set to a predetermined value, when a plurality of values that can be specified as the first parallel number are applied to different quantum calculation processes among the multiple quantum calculation processes, update the stored content of the storage unit based on the execution result of each quantum calculation process among the multiple quantum calculation processes. The information processing program according to claim 3, characterized in that.

5. Obtain the number of computing devices available for the quantum calculation process by querying a system including a plurality of computing devices about the number of computing devices available for the quantum calculation process, An information processing program characterized by causing the computer to execute the process according to claim 1.

6. Based on the coefficients of each term among the plurality of terms defining a predetermined Hamiltonian for the target molecule in the quantum calculation process, from the predetermined Hamiltonian, among the plurality of terms, terms whose absolute value of the coefficient is less than or equal to a reference value are deleted. Cause the computer to execute the process. The process of controlling is as follows. Using the predetermined Hamiltonian from which terms whose absolute value of the coefficient is less than or equal to the reference value have been deleted, based on the determined first parallel number and the second parallel number, control the plurality of quantum calculation processes. The information processing program according to any one of claims 1 to 5, characterized in that.

7. Accept a designation of the number of terms to be deleted from the predetermined Hamiltonian. Among the plurality of terms, set the absolute value of the coefficient of a specific term existing in the order corresponding to the received number from the ones with smaller absolute values of the coefficients to the reference value. Cause the computer to execute the process. The information processing program according to claim 6, characterized in that.

8. Accept a designation of an upper limit value of the processing time. Based on information representing the change in the processing time for obtaining the expected value of the Hamiltonian according to the change in the number of terms defining the Hamiltonian, identify the number of terms to be deleted from the predetermined Hamiltonian so that the processing time for obtaining the expected value of the predetermined Hamiltonian is within the received upper limit value. Among the plurality of terms, set the absolute value of the coefficient of a specific term existing in the order corresponding to the identified number from the ones with smaller absolute values of the coefficients to the reference value. Cause the computer to execute the process. The information processing program according to claim 6, characterized in that.

9. The process of deleting is as follows. From the predetermined Hamiltonian, among the plurality of terms, a first term whose coefficient takes a positive value and whose absolute value of the coefficient is less than or equal to a first reference value, and a second term whose coefficient takes a negative value and whose absolute value of the coefficient is less than or equal to a second reference value are deleted. The information processing program according to claim 6, characterized in that.

10. The process of deleting is as follows. From the predetermined Hamiltonian, the first term and the second term are deleted so as to bring the total value of the absolute value of the coefficient of the first term and the total value of the absolute value of the coefficient of the second term closer. The information processing program according to claim 9, characterized in that.

11. Receiving a designation of the ratio occupied by the number of terms to be deleted from the predetermined Hamiltonian with respect to the number of terms defining the predetermined Hamiltonian, Based on the received ratio, setting the absolute value of the coefficient of a specific term existing in the order corresponding to the terms to be deleted from the predetermined Hamiltonian, starting from the ones with smaller absolute values of the coefficients among the plurality of terms, to the reference value, The information processing program according to claim 6, characterized in that the computer is caused to execute the process.

12. Based on information about a target molecule in quantum chemical calculations by VQE (Variational Quantum Eigensolver), among a plurality of quantum calculation processes in the quantum chemical calculations, obtaining a list of values that can be specified as the first parallel number, which represents how many times the single quantum calculation process is distributed and executed, and a sample of the processing time for executing the single quantum calculation process with the first parallel number, Based on the obtained list of values that can be specified as the first parallel number, within a range where the product of the first parallel number and the second parallel number, which represents how many times the plurality of quantum calculation processes are distributed and executed, does not exceed the number of arithmetic units available for the quantum calculation process, determining the first parallel number and the second parallel number so that the processing time for executing the plurality of quantum calculation processes is minimized, Controlling the plurality of quantum calculation processes based on the determined first parallel number and the second parallel number, An information processing method, characterized in that a computer executes the process.

13. Based on information about a target molecule in quantum chemical calculations by VQE (Variational Quantum Eigensolver), among a plurality of quantum calculation processes in the quantum chemical calculations, obtaining a list of values that can be specified as the first parallel number, which represents how many times the single quantum calculation process is distributed and executed, and a sample of the processing time for executing the single quantum calculation process with the first parallel number, Based on the obtained list of values that can be specified as the first parallel number, within a range where the product of the first parallel number and the second parallel number, which represents how many times the plurality of quantum calculation processes are distributed and executed, does not exceed the number of arithmetic units available for the quantum calculation process, determining the first parallel number and the second parallel number so that the processing time for executing the plurality of quantum calculation processes is minimized, Based on the determined first parallel number and the second parallel number, controlling the plurality of quantum calculation processes. An information processing apparatus characterized by having a control unit. **Claim 14** Based on the coefficients of each of the plurality of terms defining a predetermined Hamiltonian in quantum chemical calculations by VQE (Variational Quantum Eigensolver), deleting, from the predetermined Hamiltonian, those terms among the plurality of terms whose absolute value of the coefficient is less than or equal to a reference value. Controlling the plurality of quantum calculation processes using the predetermined Hamiltonian from which the terms whose absolute value of the coefficient is less than or equal to the reference value have been deleted. An information processing program characterized by causing a computer to execute the process. **Claim 15** Based on the coefficients of each of the plurality of terms defining a predetermined Hamiltonian in quantum chemical calculations by VQE (Variational Quantum Eigensolver), deleting, from the predetermined Hamiltonian, those terms among the plurality of terms whose absolute value of the coefficient is less than or equal to a reference value. Controlling the plurality of quantum calculation processes using the predetermined Hamiltonian from which the terms whose absolute value of the coefficient is less than or equal to the reference value have been deleted. An information processing method characterized by the computer executing the process. **Claim 16** Based on the coefficients of each of the plurality of terms defining a predetermined Hamiltonian in quantum chemical calculations by VQE (Variational Quantum Eigensolver), deleting, from the predetermined Hamiltonian, those terms among the plurality of terms whose absolute value of the coefficient is less than or equal to a reference value. Controlling the plurality of quantum calculation processes using the predetermined Hamiltonian from which the terms whose absolute value of the coefficient is less than or equal to the reference value have been deleted. An information processing apparatus characterized by having a control unit.