Estimation program, information processing device, and machine learning method

A machine learning model estimates the number of iterations for quantum chemical calculations based on molecular information, addressing the variability in existing estimation methods and improving scheduling and resource allocation in molecular simulations.

JP7856925B2Active Publication Date: 2026-05-12FUJITSU LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FUJITSU LTD
Filing Date
2022-09-29
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

The challenge in accurately estimating the number of iterations required for quantum chemical calculation algorithms, which vary significantly based on the molecule being analyzed, complicates job scheduling and resource allocation in molecular simulations.

Method used

A machine learning model is trained to estimate the number of iterations of a quantum chemical calculation algorithm based on molecular information, using the number of iterations of a different algorithm as an explanatory variable and the number of iterations of the quantum chemical calculation as the objective variable, allowing for improved estimation accuracy.

Benefits of technology

This approach enables accurate estimation of the number of iterations and execution time for quantum chemical calculations, enhancing job scheduling and resource utilization efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007856925000013
    Figure 0007856925000013
  • Figure 0007856925000014
    Figure 0007856925000014
  • Figure 0007856925000015
    Figure 0007856925000015
Patent Text Reader

Abstract

The present invention estimates the number of times the algorithm of a quantum chemical calculation is iterated. Among algorithms that calculate the energy corresponding to a molecule by iterative processing, an algorithm (13) that differs from an algorithm (14) in which quantum circuit data is used is executed by a computer on the basis of molecule information (16) indicating the molecule to be analyzed, and an iteration count (17) of the algorithm (13) is identified. The computer inputs the iteration count (17) to a machine learning model (15) having been trained using the iteration count of the algorithm (13) as an explanatory variable and the iteration count of the algorithm (14) as an objective variable. The computer outputs the estimated value of an iteration count (18) for a case in which the algorithm (14) is executed on the basis of molecule information (16) having been calculated by the machine learning model (15).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an estimation program, an information processing device, and a machine learning method. [Background technology]

[0002] Computers sometimes perform molecular simulations to analyze the properties of molecules through numerical calculations. Molecular simulations are used in industrial fields such as materials development and pharmaceutical development. Molecular simulations include quantum chemical calculations that microscopically calculate the energy of molecules based on the electronic state of the molecule and the Schrödinger equation.

[0003] Algorithms for quantum chemical calculations include those that utilize quantum circuit data, such as the Variational Quantum Eigensolver (VQE). Algorithms that use quantum circuit data can also be executed by quantum computers. In addition, there are other algorithms for quantum chemical calculations, such as the Configuration Interaction (CI) method and the Coupled Cluster (CC) method.

[0004] A typical algorithm performs an iterative process, repeatedly calculating the energy of a molecule while changing its electron configuration. The algorithm may continue the iteration until the energy calculation results converge. The algorithm may search for the electron configuration that minimizes the energy and output this minimum energy as the molecule's ground state energy.

[0005] Furthermore, in the configuration interaction method, a quantum chemical calculation system has been proposed that dynamically selects some of the molecular orbitals among the multiple molecular orbitals of a molecule and calculates the energy of the molecule based on the electron configuration limited to the selected molecular orbitals. [Prior art documents] [Patent Documents]

[0006] [Patent Document 1] International Publication No. 2022 / 097298 [Overview of the project] [Problems that the invention aims to solve]

[0007] Computers sometimes need to estimate the number of iterations required for an algorithm that uses quantum circuit data before executing the algorithm. For example, a computer might use this estimated iteration count to schedule a job to calculate the energy of a molecule.

[0008] However, the number of iterations required for an algorithm can vary significantly depending on the molecule being analyzed, making accurate estimation difficult. For example, the number of iterations required for the energy calculation to converge can vary considerably depending on the molecule, and it may not be easy to estimate this solely from the quantum circuit data used by the algorithm. Therefore, in one aspect, the present invention aims to estimate the number of iterations required for a quantum chemical calculation algorithm. [Means for solving the problem]

[0009] In one embodiment, an estimation program is provided that causes a computer to perform the following processes: It executes a first algorithm, different from a second algorithm that uses quantum circuit data, among algorithms that iteratively calculate the energy corresponding to a molecule, based on molecular information representing the molecule to be analyzed, and identifies the first number of iterations of the first algorithm. It inputs the first number of iterations into a first machine learning model, which is trained with the number of iterations of the first algorithm as the explanatory variable and the number of iterations of the second algorithm as the objective variable. It outputs an estimated value of the second number of iterations when the second algorithm is executed based on the molecular information, calculated by the first machine learning model. Furthermore, in one embodiment, an information processing device is provided that includes a storage unit and a control unit.

[0010] In one aspect, a machine learning method is provided, characterized in that a computer executes the following processes. Among algorithms for calculating the energy corresponding to a molecule by iterative processing, a second algorithm using quantum circuit data and a first algorithm different from the second algorithm are each executed based on molecule information indicating the molecules of the samples, and a first number of iterations of the first algorithm and a second number of iterations of the second algorithm are specified. Using training data including the first number of iterations and the second number of iterations, a first machine learning model is trained with the number of iterations of the first algorithm as an explanatory variable and the number of iterations of the second algorithm as an objective variable.

Advantages of the Invention

[0011] In one aspect, the number of iterations of the algorithm for quantum chemical calculation can be estimated. The above and other objects, features, and advantages of the present invention will become apparent from the following description in connection with the accompanying drawings that represent preferred embodiments of the present invention as examples.

Brief Description of the Drawings

[0012] [Figure 1] It is a diagram for explaining an information processing apparatus according to a first embodiment. [Figure 2] It is a diagram showing a hardware example of an information processing apparatus according to a second embodiment. [Figure 3] It is a diagram showing a comparative example of the accuracy and execution time of different algorithms. [Figure 4] It is a diagram showing an example of job scheduling. [Figure 5] It is a diagram showing an example of input / output data of a time model and an iteration model. [Figure 6] It is a block diagram showing a functional example of an information processing apparatus. [Figure 7] It is a flowchart showing an example of a machine learning procedure. [Figure 8] It is a flowchart showing an example of an execution time estimation procedure. [Figure 9]This graph shows an example of the accuracy of execution time estimation. [Modes for carrying out the invention]

[0013] Hereinafter, this embodiment will be described with reference to the drawings. First, the first embodiment will be described. Figure 1 is a diagram illustrating the information processing device of the first embodiment. The information processing device 10 uses a machine learning model to estimate the number of iterations of the quantum chemical calculation algorithm.

[0014] The information processing device 10 may train a machine learning model or execute an algorithm that estimates the number of iterations. The information processing device 10 may also schedule quantum chemical calculation jobs based on the estimated number of iterations. The information processing device 10 may be a client device or a server device. The information processing device 10 may also be called a computer, estimation device, machine learning device, molecular simulation device, or job scheduler.

[0015] The information processing device 10 includes a storage unit 11 and a control unit 12. The storage unit 11 may be a volatile semiconductor memory such as RAM (Random Access Memory), or a non-volatile storage such as an HDD (Hard Disk Drive) or flash memory.

[0016] The control unit 12 is a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a DSP (Digital Signal Processor). However, the control unit 12 may also include electronic circuits such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The processor executes a program stored in memory such as RAM (which may also be the storage unit 11). The collection of processors may be called a multiprocessor or simply a "processor".

[0017] The memory unit 11 stores the trained machine learning model 15. The machine learning model 15 may be a linear regression model, a nonlinear regression model, or any other type of machine learning model. The machine learning model 15 is trained with the number of iterations of algorithm 13 as the explanatory variable and the number of iterations of algorithm 14 as the dependent variable. Therefore, the machine learning model 15 estimates the number of iterations of algorithm 14 from the number of iterations of algorithm 13. The explanatory variable may also include other features related to the molecule, such as the distance between multiple atoms contained in the molecule.

[0018] Algorithms 13 and 14 are algorithms for quantum chemical calculations that iteratively calculate the energy of a molecule. For example, algorithms 13 and 14 repeatedly calculate the energy of a molecule while changing its electron configuration, and calculate the minimum energy of that molecule as the ground energy when the molecule is in a stable state. The iteration continues, for example, until the energy calculation results satisfy a convergence condition. The convergence condition is, for example, that the difference between the latest energy and the previous energy is less than a threshold.

[0019] Algorithm 14 is an algorithm that uses quantum circuit data. Algorithm 14 is, for example, VQE. Algorithm 14 may be executed by a gate-type quantum computer. Alternatively, Algorithm 14 may be executed by a quantum simulator that simulates the operation of a quantum computer on a von Neumann-type classical computer. Algorithm 14 may also be called a quantum algorithm.

[0020] Quantum circuit data is a quantum computing model that defines gate operations on qubits. For example, quantum circuit data defines an Ansatz circuit, which generates a quantum state using one or more qubits, and a measurement circuit, which measures energy by applying a Hamiltonian to the quantum state. Both the Ansatz circuit and the measurement circuit contain one or more quantum gates arranged in series. Examples of quantum gates include controlled knot (CNOT) gates, controlled z (CZ) gates, phase-shift gates, and Hadamard gates.

[0021] Quantum circuit data is generated from molecular information that describes the molecule being analyzed. For example, an Ansatz circuit is generated from basis functions that represent molecular orbitals. A measurement circuit is generated from Pauli matrices that represent Hamiltonians according to the type of molecule. The generation of quantum circuit data is sometimes called preprocessing for algorithm 14.

[0022] Algorithm 13 is a different algorithm from Algorithm 14. For example, Algorithm 13 does not use quantum circuit data. Algorithm 13 is executed by a von Neumann-type classical computer. Algorithm 13 may also be called a classical algorithm. The computational complexity and execution time of Algorithm 13 are preferably sufficiently smaller than those of Algorithm 14. Algorithm 13 is, for example, a configuration interaction method or a coupled cluster method. The configuration interaction method includes CISD (Configuration Interaction Singles and Doubles). The coupled cluster method includes CCSD (Coupled Cluster Singles and Doubles) and CCSD(T) (Coupled Cluster Singles and Doubles (and Triples)).

[0023] The control unit 12 acquires molecular information 16 that indicates the molecule to be analyzed. The molecular information 16 indicates, for example, the type of each of the multiple atoms contained in the molecule. The molecular information 16 also indicates, for example, the position coordinates of each of the multiple atoms contained in the molecule. The molecular information 16 may be input by the user or stored in the memory unit 11. The control unit 12 estimates the number of iterations to be performed when executing the algorithm 14 based on the molecular information 16 before executing the algorithm 14.

[0024] First, the control unit 12 executes algorithm 13 based on molecular information 16. However, the control unit 12 may have another information processing device execute algorithm 13. Algorithm 13 calculates the energy of the molecule indicated by the molecular information 16. At this time, the control unit 12 determines the number of iterations 17 of algorithm 13 for the molecular information 16. The number of iterations 17 is, for example, the number of iterations performed by algorithm 13 until the energy calculated from molecular information 16 converges.

[0025] Next, the control unit 12 inputs the number of iterations 17 to the machine learning model 15. The machine learning model 15 calculates the number of iterations 18 corresponding to the number of iterations 17. The number of iterations 18 is an estimate of the number of iterations when executing the algorithm 14 based on the molecular information 16. For example, the number of iterations 18 is the number of iterations performed by the algorithm 14 until the energy calculated from the molecular information 16 converges. Although the number of iterations 18 often does not coincide with the number of iterations 17, it has a positive correlation with the number of iterations 17. Therefore, the larger the number of iterations 17, the larger the number of iterations 18 tends to be.

[0026] The control unit 12 then outputs the estimated number of iterations 18. The control unit 12 may record the estimated number of iterations 18 in non-volatile storage, display it on a display device, or transmit it to another information processing device.

[0027] Furthermore, the control unit 12 may estimate the execution time of the algorithm 14 on the molecular information 16 using the number of iterations 18. For example, the control unit 12 estimates the execution time as the product of the unit execution time per iteration and the number of iterations 18. The unit execution time may be a fixed value or may be estimated from the scale of the quantum circuit data used by the algorithm 14. The unit execution time may also be estimated using a machine learning algorithm other than the machine learning model 15.

[0028] The control unit 12 may output the estimated execution time. The control unit 12 may record the estimated execution time in non-volatile storage, display it on a display device, or transmit it to another information processing device. The control unit 12 may also control the execution of algorithm 14 based on the estimated execution time.

[0029] The control unit 12 may also schedule jobs to calculate the energy of the molecules indicated by the molecular information 16. For example, the control unit 12 may determine the hardware resources to allocate to the jobs based on the estimated execution time. For example, the control unit 12 may also determine the scheduled disclosure time and completion time of the jobs based on the estimated execution time. For example, the control unit 12 may also perform algorithm selection, deciding whether to use algorithm 14 or another algorithm, based on the estimated execution time.

[0030] As described above, the information processing device 10 of the first embodiment executes algorithm 13 based on molecular information 16 and determines the number of iterations 17 of algorithm 13. The information processing device 10 inputs the number of iterations 17 into a machine learning model 15 that has been trained with the number of iterations of algorithm 13 as the explanatory variable and the number of iterations of algorithm 14 as the target variable. The information processing device 10 outputs an estimated number of iterations 18 calculated by the machine learning model 15 for executing algorithm 14 based on molecular information 16.

[0031] This allows the number of iterations 18 of algorithm 14 to be estimated before the algorithm 14 is executed. Therefore, useful information is provided that can be used for controlling the execution of algorithm 14 and for job scheduling. In addition, since the number of iterations 17 of algorithm 13, which is correlated with the number of iterations 18, is used, the accuracy of estimating the number of iterations 18 is improved. In particular, the estimation accuracy is improved compared to when the number of iterations 18 is estimated only from feature quantities that represent the characteristics of the quantum circuit data.

[0032] Furthermore, the explanatory variables of the machine learning model 15 may also include interatomic distance. The information processing device 10 may input the interatomic distance indicated by the molecular information 16 into the machine learning model 15 in addition to the number of iterations 17. This allows for the calculation of different number of iterations 18 depending on the interatomic distance, even if the types of atoms contained in the molecule are the same. For example, the larger the interatomic distance, the larger the number of iterations 18. Thus, the estimation accuracy of the number of iterations 18 is improved.

[0033] Furthermore, the information processing device 10 may identify the features of the quantum circuit data used when executing the algorithm 14 based on the molecular information 16. The information processing device 10 may also input the identified features into another machine learning model that has been trained with the features of the quantum circuit data as explanatory variables and the unit execution time per iteration included in the iterative process as the objective variable. The information processing device 10 may then output an estimated value of the unit execution time of the algorithm 14 calculated by the other machine learning model. This provides useful information that can be used for execution control of the algorithm 14, job scheduling, and so on.

[0034] Furthermore, the information processing device 10 may estimate the execution time of algorithm 14 based on the estimated number of iterations 18 and the estimated unit execution time. This provides useful information that can be used for controlling the execution of algorithm 14 and for job scheduling. In addition, the accuracy of estimating the execution time of algorithm 14 is improved. In particular, the estimation accuracy is improved compared to when the execution time is estimated only from the features of the quantum circuit data.

[0035] Furthermore, the information processing device 10 may schedule jobs to calculate molecular energy based on the estimated execution time. This allows for job scheduling based on a highly accurate estimated execution time, improving the efficiency of hardware resource utilization, such as server devices and processors. It also results in earlier job completion times.

[0036] Furthermore, algorithm 13 may be an inter-configuration interaction method or a coupled cluster method, and algorithm 14 may be a variational quantum eigenvalue solver method. This allows the number of iterations 18 to be estimated quickly in a time sufficiently shorter than the execution time of algorithm 14. In addition, the number of iterations 17 is positively correlated with the number of iterations 18, improving the accuracy of the estimation of the number of iterations 18.

[0037] Alternatively, the information processing device 10 may train the machine learning model 15 as follows. For example, the information processing device 10 executes algorithms 13 and 14 based on molecular information representing the sample molecules, and identifies the number of iterations of algorithm 13 and algorithm 14. Using the training data including the identified number of iterations, the information processing device 10 trains a machine learning model 15 with the number of iterations of algorithm 13 as the explanatory variable and the number of iterations of algorithm 14 as the target variable.

[0038] For example, the information processing device 10 fits a regression model as a machine learning model 15 and optimizes the parameter values ​​included in the machine learning model 15. This improves the accuracy of estimating the number of iterations of the algorithm 14.

[0039] Next, a second embodiment will be described. In the second embodiment, the information processing device 100 schedules jobs for quantum chemical calculations that calculate the energy of molecules. For scheduling purposes, the information processing device 100 estimates the execution time of the VQE before it is executed.

[0040] The quantum chemical calculation algorithm may be executed by the information processing device 100 or by another information processing device. The machine learning model used for estimating execution time may be trained by the information processing device 100 or by another information processing device. The information processing device 100 may be a client device or a server device. The information processing device 100 may also be called a computer, estimation device, machine learning device, molecular simulation device, or job scheduler. The information processing device 100 corresponds to the information processing device 10 of the first embodiment.

[0041] Figure 2 shows an example of the hardware of an information processing device according to the second embodiment. The information processing device 100 has a CPU 101, RAM 102, HDD 103, GPU 104, input interface 105, media reader 106, and communication interface 107 connected to a bus. The CPU 101 corresponds to the control unit 12 of the first embodiment. The RAM 102 or HDD 103 corresponds to the storage unit 11 of the first embodiment.

[0042] The CPU 101 is a processor that executes program instructions. The CPU 101 loads the program and data stored in the HDD 103 into the RAM 102 and executes the program. The information processing device 100 may have multiple processors.

[0043] RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by CPU 101 and data used for calculations by CPU 101. The information processing device 100 may have a type of volatile memory other than RAM.

[0044] The HDD 103 is a non-volatile storage device that stores software programs such as the operating system (OS), middleware, and application software, as well as data. The information processing device 100 may have other types of non-volatile storage, such as flash memory or an SSD (Solid State Drive).

[0045] The GPU 104 works in conjunction with the CPU 101 to perform image processing and outputs the image to the display device 111 connected to the information processing device 100. The display device 111 is, for example, a CRT (Cathode Ray Tube) display, a liquid crystal display, an organic EL (Electro Luminescence) display, or a projector. Other types of output devices, such as a printer, may also be connected to the information processing device 100.

[0046] Furthermore, the GPU 104 may be used as a GPGPU (General Purpose Computing on Graphics Processing Unit). The GPU 104 can execute programs in response to instructions from the CPU 101. The information processing device 100 may have volatile semiconductor memory other than RAM 102 as GPU memory.

[0047] The input interface 105 receives input signals from an input device 112 connected to the information processing device 100. The input device 112 is, for example, a mouse, a touch panel, or a keyboard. Multiple input devices may be connected to the information processing device 100.

[0048] The media reader 106 is a reading device that reads programs and data recorded on the recording medium 113. The recording medium 113 is, for example, a magnetic disk, an optical disk, or semiconductor memory. Magnetic disks include flexible disks (FD) and HDDs. Optical disks include CDs (Compact Discs) and DVDs (Digital Versatile Discs). The media reader 106 copies the programs and data read from the recording medium 113 to other recording media such as RAM 102 or HDD 103. The read programs may be executed by the CPU 101.

[0049] The recording medium 113 may be a portable recording medium. The recording medium 113 may be used for distributing programs and data. The recording medium 113 and HDD 103 may also be referred to as computer-readable recording media.

[0050] The communication interface 107 communicates with other information processing devices via the network 114. The communication interface 107 may be a wired communication interface connected to a wired communication device such as a switch or router, or a wireless communication interface connected to a wireless communication device such as a base station or access point.

[0051] Next, we will explain the algorithms for quantum chemical calculations. Quantum chemical calculations are a type of molecular simulation that analyzes molecular structure and intermolecular interactions from their electronic states. Quantum chemical calculations are sometimes used to support materials development and drug development. Quantum chemical calculations are microscopic molecular simulations, and while they offer high analytical accuracy, they are computationally intensive.

[0052] Quantum chemical calculations solve the Schrödinger equation HΨ=EΨ, where H is the Hamiltonian, Ψ is the wave function, and E is the energy. The Hamiltonian H depends on the molecular structure of the sample. The wave function Ψ corresponds to the eigenstates of electrons, and the energy E corresponds to the eigenenergy corresponding to Ψ. Quantum chemical calculations calculate the ground energy when the molecular structure is stable. However, directly solving the Schrödinger equation is difficult.

[0053] Therefore, quantum chemical calculations express the wave function Ψ using basis functions. Basis functions are linear combinations of known functions. Each of the multiple terms in a basis function corresponds to a molecular orbital. A molecular orbital is a possible location for any one of the electrons in a molecule. Quantum chemical calculations accept molecular information indicating the position coordinates of multiple atoms in the molecule, a solution algorithm, and a specified basis function, and calculate the ground energy based on the specified information.

[0054] Quantum chemical calculations can generate potential energy curves. These curves show the potential energy corresponding to different interatomic distances. Potential energy is the energy a molecule possesses when each atom is assumed to be at rest. The horizontal axis of the potential energy curve represents the distance between two specific atoms of interest. The vertical axis represents the ground state energy.

[0055] The unit of distance is, for example, the angstrom (Å). The unit of energy is, for example, the Hartree. Energy is calculated for each of several discrete distances within a given range. These distances may be equally spaced. For example, energy may be calculated from 0.5 Å to 3.0 Å at 0.1 Å intervals. A potential energy curve is generated by plotting the calculated energies and connecting them with lines. The minimum point of the potential energy curve may represent the most stable state of the molecule. The maximum point of the potential energy curve may represent the transition state of the molecule.

[0056] Quantum chemistry calculation jobs may include jobs that calculate the energy of different types of molecules. They may also include jobs that calculate the energy of molecules of the same type but with different distance settings. Furthermore, they may include jobs requested by different users.

[0057] Figure 3 shows a comparison of the accuracy and execution time of different algorithms. Algorithms for quantum chemical calculations include classical algorithms, which are assumed to run on a von Neumann-type classical computer, and quantum algorithms, which are assumed to run on a gate-type quantum computer. However, quantum algorithms may be executed using software that simulates the operation of a quantum computer and a classical computer. In the second embodiment, we assume that the quantum algorithm is executed using such a simulator.

[0058] As examples of quantum chemical calculation algorithms, algorithms 31, 32, 33, and 34 are shown in Figure 3. Algorithm 31 is VQE. VQE belongs to the quantum algorithm category. Algorithm 32 is CISD. CISD belongs to the configuration interaction method category. Algorithm 33 is CCSD. Algorithm 34 is CCSD(T). CCSD and CCSD(T) belong to the coupled cluster method category. CISD, CCSD, and CCSD(T) belong to the classical algorithm category.

[0059] VQE generates quantum circuits that produce quantum states using multiple qubits based on a specified basis set. These quantum circuits are sometimes called Ansatz circuits. VQE also generates quantum circuits that measure energy from quantum states based on a Hamiltonian corresponding to specified molecular information. These quantum circuits are sometimes called measurement circuits. A quantum circuit is a quantum computation model described by a combination of quantum gates. The generation of quantum circuits is sometimes called VQE preprocessing.

[0060] When using a quantum computer, quantum circuits are implemented using physical qubits. When using a quantum simulator, pseudo-qubit data is stored in memory, and pseudo-quantum gate operations are implemented using classical programs.

[0061] VQE generates quantum states using an Ansatz circuit and measures their energy using a measurement circuit. Each measurement is affected by noise and fluctuations. VQE generates quantum states and measures their energy multiple times for the same electron configuration and calculates the average value as the expected energy. VQE modifies the parameter values ​​used to generate the quantum states so that the expected energy becomes smaller. Changing the parameter values ​​corresponds to changing the electron configuration. VQE searches for the ground energy by repeating the above process. For example, VQE repeats the above process until the expected energy converges.

[0062] When using a quantum simulator, the memory usage and computational complexity of a classical computer double with each additional qubit. The accuracy of VQE solutions is higher than that of classical algorithms. However, the execution time of VQE is significantly longer than that of classical algorithms; it can be up to 1000 times longer.

[0063] CISD finds an approximate solution to the Schrödinger equation using the Born-Oppenheimer approximation, given the specified molecular information and basis set. CISD considers the influence of one-electron and two-electron excitations on energy, while ignoring the influence of three-electron or more excitations. CISD iteratively calculates the energy while varying the electron configuration, searching for the minimum energy. CISD continues this iteration until the calculated energy converges. For example, CISD compares the solution from the most recent iteration with the solution from the previous iteration, and stops the iteration when the difference between the two falls below a threshold.

[0064] Generally, the accuracy of CISD solutions is lower than that of VQE, CCSD, and CCSD(T). Also, the execution time of CISD is shorter than that of VQE, CCSD, and CCSD(T). CISD has a computational complexity on the order of the sixth power of the number of electrons.

[0065] CCSD is an algorithm based on the Hartree-Fock molecular orbital method that approximates the wave function of multi-electron molecules using an exponential cluster operator that considers electron correlation. Given the specified molecular information and basis set, CCSD uses the approximated wave function to find an approximate solution to the Schrödinger equation. CCSD considers the effects of one-electron and two-electron excitations on energy, while ignoring the effects of three-electron or more excitations. Similar to CISD, CCSD iteratively calculates the energy while varying the electron configuration, searching for the minimum energy. CCSD continues this iterative process until the calculated energy converges.

[0066] Generally, the accuracy of CCSD solutions is lower than VQE and CCSD(T) but higher than CISD. Also, the execution time of CCSD is shorter than VQE and CCSD(T) but longer than CISD. CCSD has a computational complexity on the order of the sixth power of the number of electrons.

[0067] CCSD(T) is an algorithm belonging to the same coupled cluster method as CCSD. However, CCSD(T) considers different electronic excitations than CCSD. CCSD(T) strictly calculates the effect of one-electron and two-electron excitations on energy as electronic states, and determines the effect of three-electron excitations on energy from perturbations. On the other hand, CCSD(T) ignores the effect of four-electron or more electron excitations.

[0068] Generally, the accuracy of CCSD(T) solutions is lower than that of VQE but higher than that of CISD and CCSD. Also, the execution time of CCSD(T) is shorter than that of VQE but longer than that of CISD and CCSD. CCSD(T) has a computational complexity on the order of the seventh power of the number of electrons.

[0069] The molecules being simulated are sometimes referred to as a "system." Execution time is positively correlated with resource usage and may be proportional to resource usage. Hardware resources used in quantum chemical calculations may include processor instruction execution time and memory storage space. Classical algorithms can calculate molecular energy without using quantum circuits.

[0070] Next, job scheduling will be described. As part of job scheduling, the information processing device 100 may allocate resources to two or more VQE jobs belonging to the same user or different users. Two or more VQE jobs may be executed by different computing nodes, or they may be executed by the same computing node at different times.

[0071] At this time, the information processing device 100 estimates the execution time for each of the two or more VQE jobs. Based on the estimated execution time, the information processing device 100 may determine the start time for each VQE job and notify the user of the scheduled end time. The information processing device 100 may also allocate the VQE jobs to multiple computing nodes based on the estimated execution time so as not to unevenly distribute the load among multiple computing nodes. The information processing device 100 may also guarantee that the VQE jobs will be completed by the deadline specified by the user based on the estimated execution time.

[0072] Furthermore, as part of job scheduling, the information processing device 100 may automatically select an algorithm based on the estimated execution time. The algorithm selection involves choosing whether to calculate the energy of a molecule specified by the user using VQE or a classical algorithm. If there are sufficient free resources on the computing node, the information processing device 100 may select the more accurate VQE. On the other hand, if there are insufficient free resources, the information processing device 100 may select a classical algorithm with a shorter execution time. The information processing device 100 may also select an algorithm based on the user-specified deadline and the estimated execution time.

[0073] Figure 4 shows an example of job scheduling. Here, the information processing device 100 determines the schedule for jobs 41, 42, and 43. Jobs 41, 42, and 43 are jobs for the same user and calculate the energy of molecules of the same type but with different interatomic distances. Jobs 41, 42, and 43 are executed by VQE. For simplicity, let's consider the case where jobs 41, 42, and 43 are executed using a single computing node. The computing node executing jobs 41, 42, and 43 may be the information processing device 100 itself.

[0074] The information processing device 100 generates a schedule for the computing nodes to execute jobs 41, 42, and 43 in sequence. At this time, the information processing device 100 estimates the execution time of each of jobs 41, 42, and 43 based on the specified molecular information. Based on the estimated execution times, the information processing device 100 determines the start and end times of each of jobs 41, 42, and 43.

[0075] For example, the information processing device 100 determines the start time of job 41 at T1. The information processing device 100 also determines the start time of job 42 at T2, which is after T1. Time T2 is, for example, time T1 plus the estimated execution time of job 41. The information processing device 100 also determines the start time of job 43 at T3, which is after T2. Time T3 is, for example, time T2 plus the estimated execution time of job 42.

[0076] Furthermore, the information processing device 100 may forcibly stop a job if it does not finish by the start time of the next job. Therefore, the estimated execution times for jobs 41, 42, and 43 may be calculated to be larger than the expected value, taking risk into consideration.

[0077] Next, the estimation of the execution time of VQE will be described. The information processing device 100 estimates the execution time of VQE using a pre-trained machine learning model. The machine learning model may also be called an estimator. The machine learning model in the second embodiment is a Gaussian process regression model generated by a Gaussian process. The information processing device 100 also generates training data using molecular information of a sample and trains the machine learning model using the generated training data.

[0078] The machine learning model includes a time model that estimates the execution time per iteration of VQE and an iteration model that estimates the number of VQE iterations. The execution time per iteration corresponds to the time to calculate the expected energy value corresponding to a single electron configuration. The number of iterations corresponds to the number of trials to change the electron configuration after finding the ground energy. The estimated execution time of VQE is the product of the unit execution time estimated by the time model and the number of iterations estimated by the iteration model.

[0079] Thus, in the second embodiment, the estimation of the execution time of the iterative process is divided into the estimation of the execution time for each iteration and the estimation of the number of iterations. This is because it is difficult to accurately estimate the number of iterations based solely on the scale of the quantum circuit used in VQE. Furthermore, even if the interatomic distance is the same, the number of iterations required for convergence may differ depending on the type of molecule.

[0080] Furthermore, the actual number of iterations can fluctuate due to randomness, and there is a risk that it may exceed the expected value. Also, uncertainty may arise in the estimation results of the iterative model due to the small amount of training data. Therefore, the information processing device 100 may use an iterative model that outputs a number of iterations greater than the expected value, taking into account at least one of randomness and uncertainty. Below, an example of a machine learning model will be explained using mathematical formulas.

[0081] First, we will explain the time model used to estimate the execution time for each iteration. The explanatory variable of the time model is a vector x of order 3, as shown in equation (1). In equation (1), q is the number of qubits, d is the depth of the Ansatz circuit, and l is the number of terms in the Hamiltonian. The depth of the Ansatz circuit is the number of stages of quantum gates arranged in series. The number of terms in the Hamiltonian is the number of terms obtained when the Hamiltonian is decomposed into a sum of Pauli matrices.

[0082]

number

[0083] A time model for calculating the expected value of the execution time for each iteration is defined, for example, as in Equation (2). In Equation (2), y is the target variable indicating the execution time for each iteration, and n is the number of records included in the training data. The training data for training the time model includes records that are pairs of the values of the explanatory variables and the values of the target variable, such as (x1, y1), …, (x n , y n ), and there are n such records.

[0084] [Number]

[0085] Let k be the kernel of the Gaussian process. The kernel k is a function that defines the similarity between vectors. Examples of the kernel k include the RBF (Radial Basis Function) kernel and the Matern kernel. K in Equation (2) n is an n×n square matrix generated from the values of the explanatory variables included in the training data. The component in the i-th row and j-th column of the matrix K n is k(x i , x j ). The matrix K n indicates the similarity between the values of two explanatory variables included in the training data. I n is an n×n identity matrix. k n (x) is a column vector whose i-th row component is k(x i , x). k n (x) indicates the similarity between a certain vector x and each of the values of the n explanatory variables included in the training data. λ is a constant greater than 0.

[0086] The information processing apparatus 100 can also use a time model that takes into account the risk that the actual execution time for each iteration varies from the expected value and the robustness against that risk. First, as shown in Equation (3), Conditional Value at Risk (CVaR) is defined for the execution time for each iteration. In Equation (3), α is a constant greater than 0 and less than or equal to 1. ψν (y) and U are defined as shown in equation (4).

[0087]

number

[0088]

number

[0089] A robust time model can be defined, for example, using the CVaR in equation (3) as shown in equation (5). The estimate calculated by equation (5) reflects the upside risk of execution time per iteration and is assumed to be greater than the expected value calculated by equation (2). If ρ is the distribution of vector x and F is the cumulative distribution function corresponding to distribution ρ, then equation (5) gives the estimate in equation (6).

[0090]

number

[0091]

number

[0092] Furthermore, the information processing device 100 can also take into account the uncertainty in estimating the time model due to insufficient training data and use a time model that takes robustness and uncertainty into account. First, as shown in equation (7), σ is calculated for the execution time per iteration. n (x) is defined. In equation (7), k T n (x) is k n This is the transpose of (x).

[0093]

number

[0094] A time model that takes robustness and uncertainty into account is, for example, σ in equation (7). n It is defined as shown in equation (8) using (x). In equation (8), β is a positive constant. The estimate calculated by equation (8) reflects a further upside risk in execution time per iteration and is greater than the estimate calculated by equation (5).

[0095]

number

[0096] Next, we will describe an iterative model for estimating the number of iterations. The basic structure of the iterative model is the same as that of the time model. However, the meanings of the explanatory and dependent variables differ from those of the time model. The explanatory variable of the iterative model is a vector z of degree 2, as shown in equation (9). In equation (9), m is the number of iterations of the classical algorithm, and s is the interatomic distance.

[0097] A classical algorithm is selected beforehand. For example, one is selected from CISD, CCSD, and CCSD(T). In the following explanation, we assume that CCSD has been selected. Note that the broad definition of "CCSD" is sometimes interpreted as encompassing both the narrow definition of CCSD and CCSD(T). When a molecule contains three or more atoms, the interatomic distance s is the average distance between two atoms. This distance is, for example, the Euclidean distance.

[0098]

number

[0099] An iterative model for estimating the number of iterations is defined, for example, as shown in equation (10). In equation (10), w is the target variable representing the number of iterations of VQE. The training data for training the iterative model includes (z1, w1), ..., (z n ,w n The record contains n records, each being a pair of values ​​for an explanatory variable and an objective variable.

[0100]

number

[0101] Let l be the kernel of the Gaussian process in equation (10). n This is an n×n square matrix generated from the values ​​of the explanatory variables included in the training data. n The element in row i and column j is l(z i ,z j ) is. n (z) is such that the component of the i-th row is l(z i It is a column vector where λ is a constant greater than 0.

[0102] Similar to the time model, the information processing device 100 can also use an iteration model that considers the risk that the actual number of iterations will deviate from the expected value and takes robustness to that risk into account. A robust iteration model can be defined, for example, using the CVaR of equation (3) as shown in equation (11). However, in equations (3) and (4), x is replaced with z, y is replaced with w, and K n is L n It is replaced with k n ga l n It will be replaced with.

[0103]

number

[0104] Furthermore, the information processing device 100 can also use a robust and uncertainty-aware iterative model to further consider the uncertainty in estimating the iterative model due to insufficient training data. A robust and uncertainty-aware iterative model is defined, for example, using equation (7) as shown in equation (12). However, in equation (7), x is replaced with z, and K n is L n It is replaced with k n ga l n It will be replaced with.

[0105]

number

[0106] Figure 5 shows examples of input and output data for the time model and the iterative model. The information processing device 100 acquires data 131 for the molecule to be analyzed. Data 131 shows the type and coordinates of each of the multiple atoms contained in the molecule. During machine learning, the information processing device 100 acquires n sets of sample data equivalent to data 131.

[0107] The information processing device 100 generates data 132 from data 131. Data 132 includes the number of qubits, the depth of the Ansatz circuit, the number of Hamiltonian terms, and the execution time per iteration. The number of qubits, the depth of the Ansatz circuit, and the number of Hamiltonian terms are input data for the time model and are calculated from data 131 by VQE preprocessing. The execution time per iteration is output data for the time model.

[0108] During machine learning, the information processing device 100 generates n sets of data equivalent to data 132 as training data for training a time model. In this case, the execution time for each iteration corresponds to the training data and is measured by running VQE.

[0109] Furthermore, the information processing device 100 generates data 133 from data 131. Data 133 includes the interatomic distance, the number of iterations of the classical algorithm, and the number of iterations of VQE. The interatomic distance and the number of iterations of the classical algorithm are input data for the iterative model. The interatomic distance is calculated from the coordinates of each atom shown in data 131. The number of iterations of the classical algorithm is measured by running the classical algorithm based on data 131. The number of iterations of VQE is output data for the iterative model.

[0110] During machine learning, the information processing device 100 generates n sets of data equivalent to data 133 as training data for training an iterative model. In this case, the number of VQE iterations corresponds to the training data and is measured by running VQE. The information processing device 100 can simultaneously measure the execution time for each iteration and the number of VQE iterations.

[0111] The information processing device 100 generates data 134 from data 132 and 133. Data 134 includes an estimated value of the execution time of VQE. The execution time is the product of the execution time per iteration included in data 132 and the number of VQE iterations included in data 133. Note that one or both of the execution time per iteration output by the time model and the number of VQE iterations output by the iteration count may be expected values, estimates considering robustness, or estimates considering robustness and uncertainty. The user may specify the type of these estimates depending on the intended use of the estimated execution time.

[0112] Next, the functions and processing procedures of the information processing device 100 will be described. Figure 6 is a block diagram showing an example of the functions of the information processing device. The information processing device 100 has a molecular information storage unit 121, a training data storage unit 122, and a model storage unit 123. These storage units are implemented using, for example, RAM 102 or HDD 103. The information processing device 100 also has a CCSD execution unit 124, a VQE execution unit 125, a training data generation unit 126, a machine learning unit 127, an execution time estimation unit 128, and a scheduler 129. These processing units are implemented using, for example, a CPU 101 or a GPU 104 and a program.

[0113] The molecular information storage unit 121 stores molecular information of samples used for machine learning. The molecular information storage unit 121 also stores molecular information indicating the molecules to be analyzed. Molecular information is created by the user. The aforementioned data 131 is stored in the molecular information storage unit 121.

[0114] The training data storage unit 122 stores training data for training a time model that estimates the execution time for each iteration. The training data storage unit 122 also stores training data for training an iteration model that estimates the number of VQE iterations. This training data is generated based on the molecular information of the sample stored in the molecular information storage unit 121. The aforementioned data 132 and 133 are stored in the training data storage unit 122. The model storage unit 123 stores the time model and the iteration model as trained machine learning models.

[0115] The CCSD execution unit 124 executes CCSD as a representative of classical algorithms. However, the information processing device 100 may execute CISD or CCSD(T). The CCSD execution unit 124 executes CCSD based on the molecular information and basis functions of the sample specified by the training data generation unit 126, and iterates until the energy converges. The CCSD execution unit 124 measures the number of iterations and outputs it to the training data generation unit 126.

[0116] Furthermore, the CCSD execution unit 124 performs CCSD based on the molecular information and basis functions of the target of analysis specified by the execution time estimation unit 128, and iterates until the energy converges. The CCSD execution unit 124 measures the number of iterations and outputs it to the execution time estimation unit 128.

[0117] The VQE execution unit 125 executes VQE using a quantum simulator. However, the VQE execution unit 125 may use a quantum computer. The VQE execution unit 125 performs preprocessing based on the molecular information and basis functions of the sample specified by the training data generation unit 126 and generates a quantum circuit corresponding to the sample molecule. The VQE execution unit 125 executes VQE based on the generated quantum circuit and performs iterative processing until the energy converges. The VQE execution unit 125 measures the execution time and number of iterations for each iteration and outputs them to the training data generation unit 126 along with the generated quantum circuit.

[0118] Furthermore, the VQE execution unit 125 performs preprocessing based on the molecular information and basis functions of the target to be analyzed specified by the execution time estimation unit 128, and generates a quantum circuit corresponding to the target molecule. The VQE execution unit 125 outputs the generated quantum circuit to the execution time estimation unit 128. The VQE execution unit 125 also executes VQE based on the generated quantum circuit according to the schedule specified by the scheduler 129.

[0119] The training data generation unit 126 generates training data for training the time model and training data for training the iterative model, and stores them in the training data storage unit 122. For each molecular information of a sample, the training data generation unit 126 obtains a quantum circuit from the VQE execution unit 125, extracts the features of the quantum circuit, and obtains the execution time for each iteration from the VQE execution unit 125. This generates the training data for the time model.

[0120] Furthermore, the training data generation unit 126 calculates the interatomic distance for each molecular information of the sample based on the molecular information, obtains the number of iterations from the CCSD execution unit 124, and obtains the number of iterations from the VQE execution unit 125. This generates training data for the iterative model.

[0121] The machine learning unit 127 uses the training data stored in the training data storage unit 122 to train a time model and an iterative model using a Gaussian process, and stores the trained time model and iterative model in the model storage unit 123. The machine learning unit 127 may train a machine learning model that outputs expected values, or it may train a machine learning model that considers robustness, or it may train a machine learning model that considers robustness and uncertainty. The user may specify to the machine learning unit 127 whether or not to consider robustness and uncertainty.

[0122] The execution time estimation unit 128 uses the machine learning model stored in the model storage unit 123 to estimate the execution time when VQE is performed based on the molecular information of the target of analysis. The execution time estimation unit 128 outputs the estimated execution time to the scheduler 129. The execution time estimation unit 128 obtains quantum circuits from the VQE execution unit 125 for the molecular information of the target of analysis and extracts the features of the quantum circuits. The execution time estimation unit 128 inputs the features of the quantum circuits into a time model and estimates the execution time for each iteration.

[0123] Furthermore, the execution time estimation unit 128 calculates the interatomic distance based on the molecular information of the molecular to be analyzed and obtains the number of iterations from the CCSD execution unit 124. The execution time estimation unit 128 inputs the interatomic distance and the number of CCSD iterations into the iteration model to estimate the number of VQE iterations. Then, the execution time estimation unit 128 multiplies the estimated execution time for each iteration by the number of VQE iterations to estimate the execution time of VQE.

[0124] The scheduler 129 schedules jobs to calculate the energy of the molecule to be analyzed based on the estimated execution time obtained from the execution time estimation unit 128. For example, based on the estimated execution time, the scheduler 129 selects whether to calculate the energy of the molecule to be analyzed using VQE or a classical algorithm (e.g., CCSD(T)). The scheduler 129 also determines the schedules for multiple VQE jobs (e.g., the start time of each VQE job) based on the estimated execution time.

[0125] Figure 7 is a flowchart showing an example of the machine learning procedure. (S10) The training data generation unit 126 acquires molecular information of the sample. The training data generation unit 126 calculates the average interatomic distance from the molecular information.

[0126] (S11) The CCSD execution unit 124 executes a classical algorithm (e.g., CCSD) based on molecular information and basis functions, and measures the number of iterations of the classical algorithm. (S12) The VQE execution unit 125 performs VQE preprocessing based on molecular information and basis functions to generate quantum circuits used in VQE.

[0127] (S13) The training data generation unit 126 determines the number of qubits, the depth of the Ansatz circuit, and the number of Hamiltonian terms from the results of the preprocessing in step S12. (S14) The VQE execution unit 125 executes VQE based on the results of the preprocessing in step S12, and measures the execution time and number of iterations for each iteration of VQE.

[0128] (S15) The training data generation unit 126 generates training data including the number of qubits, the depth of the Ansatz circuit, and the number of Hamiltonian terms identified in step S13, and the execution time per iteration measured in step S14.

[0129] (S16) The training data generation unit 126 generates training data that includes the interatomic distance calculated in step S10, the number of iterations of the classical algorithm measured in step S11, and the number of iterations of VQE measured in step S14.

[0130] (S17) The machine learning unit 127 trains a time model to estimate the execution time for each iteration using the training data generated in step S15. (S18) The machine learning unit 127 trains an iterative model to estimate the number of iterations of VQE using the training data generated in step S16.

[0131] (S19) The machine learning unit 127 stores the time model trained in step S17 and the iterative model trained in step S18 in non-volatile storage. The machine learning unit 127 may also display the trained time model and iterative model on the display device 111 or transmit them to another information processing device.

[0132] Figure 8 is a flowchart showing an example of the execution time estimation procedure. (S20) The execution time estimation unit 128 acquires molecular information indicating the molecules to be analyzed. The execution time estimation unit 128 calculates the average interatomic distance from the molecular information.

[0133] (S21) The CCSD execution unit 124 executes a classical algorithm (e.g., CCSD) based on molecular information and basis functions, and measures the number of iterations of the classical algorithm. (S22) The VQE execution unit 125 performs VQE preprocessing based on molecular information and basis functions to generate quantum circuits used in VQE.

[0134] (S23) The execution time estimation unit 128 determines the number of qubits, the depth of the Ansatz circuit, and the number of Hamiltonian terms from the results of the preprocessing in step S22. (S24) The execution time estimation unit 128 inputs the number of qubits, the depth of the Ansatz circuit, and the number of Hamiltonian terms identified in step S23 into the trained time model and estimates the execution time for each iteration.

[0135] (S25) The execution time estimation unit 128 inputs the interatomic distance calculated in step S20 and the number of iterations of the classical algorithm measured in step S21 into the trained iterative model to estimate the number of iterations of VQE.

[0136] (S26) The execution time estimation unit 128 estimates the execution time of VQE by multiplying the execution time for each iteration estimated in step S24 by the number of iterations estimated in step S25. The execution time estimation unit 128 outputs the estimated execution time to the scheduler 129. The execution time estimation unit 128 may store the estimated execution time in non-volatile storage, display it on the display device 111, or transmit it to another information processing device.

[0137] Figure 9 is a graph showing an example of the accuracy of execution time estimation. Graphs 51, 52, and 53 are scatter plots showing the relationship between the estimated execution time and the actual execution time of VQE. Here, the estimated execution time is the expected value of the execution time. In graphs 51, 52, and 53, the horizontal axis represents the logarithm of the estimated execution time, and the vertical axis represents the logarithm of the actual execution time. Also, the line segment represents the value where estimated execution time = actual execution time. Therefore, the closer a point is to the line segment, the higher the estimation accuracy of the sample.

[0138] Graph 51 shows the simulation results for the H2O molecule. Graph 52 shows the simulation results for the H4 molecule. Graph 53 shows the simulation results for the H6 molecule. The execution time of VQE varies greatly depending on the molecular structure. In contrast, as shown in Graphs 51, 52, and 53, the information processing device 100 can estimate an expected value close to the actual execution time.

[0139] Furthermore, when calculating the estimated execution time considering robustness, or the estimated execution time considering both robustness and uncertainty, the points in graphs 51, 52, and 53 shift to the right. In this case, most points are to the right of the line segment, and only a few points are to the left of the line segment. Therefore, the risk of the VQE execution time exceeding the estimated value is sufficiently suppressed, and the information processing device 100 can perform efficient job scheduling.

[0140] As described above, the information processing device 100 of the second embodiment estimates the execution time of VQE before execution. This allows the information processing device 100 to efficiently schedule quantum chemical calculation jobs based on the estimated execution time. Furthermore, the information processing device 100 divides the execution time estimation into the estimation of execution time per iteration and the estimation of the number of iterations, and estimates both using different machine learning models. This ensures that features suitable for calculating each estimated value are used, improving the accuracy of the execution time estimation.

[0141] Furthermore, the information processing device 100 executes classical algorithms such as CCSD to measure the number of iterations of the classical algorithms, and uses the number of iterations of the classical algorithms to estimate the number of iterations of VQE. Because it uses the number of iterations of the classical algorithms that are correlated with the number of iterations of VQE, the estimation accuracy is improved compared to estimating the number of iterations of VQE solely from the features of the quantum circuit. In addition, since the execution time of the classical algorithms is sufficiently shorter than that of VQE, the information processing device 100 can quickly estimate the execution time of VQE.

[0142] Furthermore, the information processing device 100 estimates the number of VQE iterations using the interatomic distance. This allows the machine learning model to learn that the number of VQE iterations tends to increase as the interatomic distance increases, improving the accuracy of the iteration estimation. The information processing device 100 also considers the risk that the execution time of VQE may exceed the expected value due to randomness in the number of iterations or insufficient training data, and calculates an estimated value that covers this risk. As a result, the information processing device 100 can suppress the risk of the execution time of VQE exceeding the estimated value to an acceptable level, enabling highly reliable job scheduling.

[0143] The above merely illustrates the principle of the present invention. Furthermore, numerous modifications and changes are possible for those skilled in the art, and the present invention is not limited to the exact configurations and applications shown and described above. All corresponding modifications and equivalents are considered to be within the scope of the present invention as defined by the appended claims and their equivalents. [Explanation of symbols]

[0144] 10 Information Processing Devices 11 Storage section 12 Control Unit 13,14 Algorithms 15 Machine Learning Models 16 Molecular information 17, 18 repetitions

Claims

1. Among the algorithms for calculating the energy corresponding to a molecule through iterative processing, a first algorithm, which is different from a second algorithm that uses quantum circuit data, is executed based on molecular information indicating the molecule to be analyzed, and the first number of iterations of the first algorithm is identified. The number of iterations of the first algorithm is used as the explanatory variable, and the number of iterations of the second algorithm is used as the target variable. The number of iterations of the first algorithm is then input into the first machine learning model, which has been trained with the number of iterations of the first algorithm as the explanatory variable. The system outputs an estimate of the second number of iterations when executing the second algorithm based on the molecular information calculated by the first machine learning model. An estimation program characterized by having a computer perform the processing.

2. The explanatory variable further includes the distances between multiple atoms contained in the molecule, and the input of the first iteration count further includes inputting the first distance indicated by the molecular information. The estimation program according to feature 1.

3. A first feature quantity is identified that indicates the characteristics of the first quantum circuit data used when executing the second algorithm based on the molecular information, The first features are input into a second machine learning model, which is trained with the features of the quantum circuit data as explanatory variables and the unit execution time per iteration included in the iterative process of the second algorithm as the objective variable. The system outputs an estimate of the first unit execution time when the second algorithm is executed based on the molecular information calculated by the second machine learning model. The estimation program according to claim 1, characterized in that it causes the computer to perform further processing.

4. Based on the estimated number of iterations in the second iteration and the estimated unit execution time in the first iteration, the execution time when the second algorithm is executed based on the molecular information is estimated. The estimation program according to claim 3, characterized in that it causes the computer to perform further processing.

5. Based on the estimated execution time, a job is scheduled to calculate the energy corresponding to the molecule being analyzed. The estimation program according to claim 4, characterized in that it causes the computer to perform further processing.

6. The first algorithm is an inter-configuration interaction method or a coupled cluster method, and the second algorithm is a variational quantum eigenvalue solver method. The estimation program according to feature 1.

7. A memory unit that stores a first machine learning model, which is trained using an algorithm that iteratively calculates the energy corresponding to a molecule, with the number of iterations of the first algorithm as the explanatory variable and the number of iterations of the second algorithm that uses quantum circuit data as the objective variable. A control unit that executes the first algorithm based on molecular information indicating the molecule to be analyzed, identifies the first number of iterations of the first algorithm, inputs the first number of iterations to the first machine learning model, and outputs an estimated value of the second number of iterations when the second algorithm is executed based on the molecular information, calculated by the first machine learning model. An information processing device characterized by having the following features.

8. Among the algorithms for calculating the energy corresponding to a molecule through iterative processing, a second algorithm that uses quantum circuit data and a first algorithm different from the second algorithm are executed based on molecular information representing the sample molecule, and the first number of iterations of the first algorithm and the second number of iterations of the second algorithm are determined. Using the training data including the number of iterations of the first and second algorithms, a first machine learning model is trained with the number of iterations of the first algorithm as the explanatory variable and the number of iterations of the second algorithm as the dependent variable. A machine learning method characterized by having a computer perform the processing.