Molecular simulation program, molecular simulation method, and information processing device.

The molecular simulation program efficiently calculates molecular energies by strategically selecting quantum and classical algorithms based on estimated execution times, addressing the trade-off between accuracy and time constraints in quantum chemical calculations.

JP7886550B2Active Publication Date: 2026-07-08FUJITSU LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FUJITSU LTD
Filing Date
2022-09-30
Publication Date
2026-07-08

AI Technical Summary

Technical Problem

There is a trade-off between accuracy and execution time in quantum chemical calculation algorithms, and computers often face time constraints, necessitating the efficient selection of appropriate algorithms for multiple interatomic distances.

Method used

A molecular simulation program that estimates the execution time of quantum circuit-based algorithms for each interatomic distance and strategically selects which algorithm to use based on a specified time limit, combining quantum and classical algorithms to efficiently calculate molecular energies across various distances.

Benefits of technology

This approach allows for the efficient calculation of molecular energies corresponding to multiple interatomic distances while balancing accuracy and execution time within user-specified limits, optimizing resource utilization and reducing computational costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007886550000013
    Figure 0007886550000013
  • Figure 0007886550000014
    Figure 0007886550000014
  • Figure 0007886550000015
    Figure 0007886550000015
Patent Text Reader

Abstract

The present invention efficiently calculates molecular energy corresponding to a plurality of interatomic distances. An information processing device (10) estimates, for interatomic distances (16a, 16b, 16c, 16d), execution times (17a, 17b, 17c, 17d) of algorithm (13) for calculating molecular energy using quantum circuit data. The information processing device (10) determines an interatomic distance group (16) on the basis of a limit time (17) and the execution times (17a, 17b, 17c, 17d). The information processing device (10) calculates molecular energies (18c, 18d) by executing the algorithm (13) on the interatomic distances (16c, 16d) included in the interatomic distance group (16). The information processing device (10) outputs: the molecular energies (18c, 18d); and molecular energies (18a, 18b) that correspond to the interatomic distances (16a, 16b) not included in the interatomic distance group (16) and that are calculated by algorithm (14).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a molecular simulation program, a molecular simulation method, and an information processing device. [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 molecular energy based on the electronic state of the molecule and the Schrödinger equation.

[0003] Algorithms for quantum chemistry 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 chemistry calculations, such as the Configuration Interaction (CI) method and the Coupled Cluster (CC) method.

[0004] 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 molecular energy based on the electron configuration limited to the selected molecular orbitals. [Prior art documents] [Patent Documents]

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

[0006] Computers sometimes analyze the relationship between interatomic distance and molecular energy by calculating molecular energy while varying the distance between two atoms of interest. For example, a computer can generate a potential energy curve (PEC) that shows the relationship between interatomic distance and the ground state energy of a molecule.

[0007] However, there is a trade-off between accuracy and execution time in quantum chemical calculation algorithms. Furthermore, computers cannot always dedicate vast amounts of time to quantum chemical calculations, and time limits may be imposed by the user. Therefore, from the perspective of efficiency in quantum chemical calculations, it is crucial to select the appropriate algorithm for multiple interatomic distances. Thus, in one aspect, the present invention aims to efficiently calculate molecular energies corresponding to multiple interatomic distances. [Means for solving the problem]

[0008] In one embodiment, a molecular simulation program is provided that is characterized by having a computer perform the following processes: Based on molecular information indicating the molecule to be analyzed, the execution time of a first algorithm that calculates molecular energy using quantum circuit data for each of several interatomic distances is estimated. Based on a specified time limit and the estimated execution time, an interatomic distance group for which the first algorithm will be executed is determined from among several interatomic distances. The first algorithm is executed for the first interatomic distance included in the determined interatomic distance group to calculate the first molecular energy. The first molecular energy and a second molecular energy corresponding to a second interatomic distance that is not included in the interatomic distance group among several interatomic distances, calculated by a second algorithm different from the first algorithm, are output.

[0009] Furthermore, in one embodiment, a molecular simulation method is provided, characterized by being performed by a computer. Also, in one embodiment, an information processing device is provided, characterized by having a storage unit and a control unit.

Advantages of the Invention

[0010] On one hand, molecular energies corresponding to a plurality of interatomic distances can be efficiently calculated. 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

[0011] [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 graph showing an example of a potential energy curve. [Figure 4] It is a graph showing examples of the accuracy of a classical algorithm and a quantum algorithm. [Figure 5] It is a diagram showing an example of a method for estimating the execution time of a VQE job. [Figure 6] It is a diagram showing an example of the estimation results of the execution time and cost of a VQE job. [Figure 7] It is a diagram showing an example of the relationship between a user-specified upper limit and the number of VQE jobs. [Figure 8] It is a graph showing an example of the relationship between an interatomic distance and the number of iterations of a classical algorithm. [Figure 9] It is a diagram showing an example of adding a VQE job. [Figure 10] It is a block diagram showing an example of the functions of an information processing apparatus. [Figure 11] It is a flowchart showing an example of the procedure of quantum chemical calculation. <000…It is a flowchart showing an example of the procedure of execution time estimation.

Modes for Carrying Out the Invention

[0012] The following description of this embodiment will be made 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 of the first embodiment performs molecular simulations using quantum chemical calculations. The information processing device 10 calculates multiple molecular energies corresponding to multiple interatomic distances and outputs information that associates interatomic distances with molecular energies. For example, the information processing device 10 generates and outputs a potential energy curve. 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, a molecular simulation device, a quantum chemical calculation device, or an algorithm selection device.

[0013] 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.

[0014] 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".

[0015] The memory unit 11 stores molecular information 15 that indicates the molecule to be analyzed. The molecular information 15 shows the molecular structure, for example, the type and coordinates of each of the multiple atoms contained in the molecule. The memory unit 11 also stores multiple interatomic distances for which the molecular energy is to be calculated. The interatomic distance is the distance between two atoms of interest within the molecule. The distance is, for example, the Euclidean distance. The molecular energy is, for example, the ground energy when the molecule is in a stable state. When the interatomic distance changes, the molecular energy changes.

[0016] For example, the memory unit 11 stores interatomic distances 16a, 16b, 16c, and 16d. Interatomic distance 16b is greater than interatomic distance 16a, interatomic distance 16c is greater than interatomic distance 16b, and interatomic distance 16d is greater than interatomic distance 16c. The memory unit 11 also stores a time limit 17. The time limit 17 is an upper limit on the time required for quantum chemical calculations and may be specified by the user. The time limit 17 is, for example, an upper limit on the total execution time for calculating the total molecular energies of multiple molecules corresponding to multiple interatomic distances.

[0017] The control unit 12 calculates and outputs multiple molecular energies corresponding to multiple interatomic distances. At this time, the control unit 12 uses algorithms 13 and 14 depending on the interatomic distance. Algorithms 13 and 14 are different algorithms for quantum chemical calculations and calculate molecular energies based on molecular information 15. Note that the information processing device 10 may have another information processing device execute algorithm 13 instead of executing it itself. Similarly, the information processing device 10 may have another information processing device execute algorithm 14 instead of executing it itself.

[0018] Algorithm 13 calculates molecular energy using quantum circuit data. Algorithm 13 is a quantum algorithm such as VQE. Quantum circuit data is a quantum computing model that defines gate operations on qubits. Algorithm 13 may be executed by a gate-type quantum computer. Alternatively, Algorithm 13 may be executed by a von Neumann-type classical computer using software that simulates the operation of a quantum computer.

[0019] Quantum circuit data includes, for example, an Ansatz circuit and a measurement circuit. An Ansatz circuit generates a quantum state using one or more qubits, and is generated based on a basis function that approximates the wave function of the Schrödinger equation. A measurement circuit measures molecular energy from the quantum state, and is generated based on the Hamiltonian of the Schrödinger equation, depending on the type of molecule.

[0020] Algorithm 13 calculates the expected molecular energy for a given electron configuration by generating quantum states and measuring molecular energy multiple times. Algorithm 13 repeatedly calculates the expected molecular energy while changing the electron configuration to search for the minimum molecular energy. Algorithm 13 outputs the minimum molecular energy as the ground state energy. The larger the interatomic distance, the greater the influence of the outer molecular orbitals, which can make the search for the minimum molecular energy take a long time, and the execution time of Algorithm 13 until the molecular energy converges may be long.

[0021] Algorithm 14 calculates molecular energy using a different method than Algorithm 13. Algorithm 14 is, for example, a classical algorithm that does not use quantum circuit data and is expected to be executed by a classical computer. Algorithm 14 may be a configuration interaction method such as CISD (Configuration Interaction Singles and Doubles), or a coupled cluster method such as CCSD (Coupled Cluster Singles and Doubles) or CCSD(T) (CCSD (and Triples)).

[0022] The computational complexity and execution time of algorithm 14 are preferably significantly smaller than those of algorithm 13. However, the accuracy of algorithm 14 may be lower than that of algorithm 13. In particular, the accuracy of algorithm 14 may decrease as the interatomic distance increases due to the greater influence of higher-order electronic excitations.

[0023] Algorithm 14 generates a certain calculation formula based on a basis function that approximates the wave function, for example, and calculates the molecular energy for a given electron configuration. In this case, to reduce the computational cost, algorithm 14 may ignore higher-order electron excitations of 3 electrons or more or 4 electrons or more. Algorithm 14 repeatedly calculates the molecular energy while changing the electron configuration and searches for the minimum molecular energy. Algorithm 14 outputs the minimum molecular energy as the ground state energy. As the interatomic distance increases, the number of iterations of algorithm 14 required to converge to the molecular energy may increase due to the effect of decreased accuracy.

[0024] In deciding which algorithms 13 and 14 to use, the control unit 12 estimates the execution time of algorithm 13 for each of the multiple interatomic distances without actually executing algorithm 13, based on the molecular information 15. As an example, the control unit 12 estimates the execution times 17a, 17b, 17c, and 17d corresponding to interatomic distances 16a, 16b, 16c, and 16d.

[0025] For example, the control unit 12 executes algorithm 14 for each of the multiple interatomic distances and estimates the execution time of algorithm 13 from the execution result of algorithm 14. The execution result of algorithm 14 may be the number of iterations of algorithm 14. The control unit 12 may also use the feature quantities of the quantum circuit data used in algorithm 13 to estimate the execution time. Alternatively, the control unit 12 may estimate the execution time of algorithm 13 using a trained machine learning model. The machine learning model may be a regression model.

[0026] The control unit 12 determines an interatomic distance group 16 from among multiple interatomic distances based on the estimated execution time of each interatomic distance and the time limit 17, in which case algorithm 13 will be executed. For example, the control unit 12 classifies as many interatomic distances as possible into the interatomic distance group 16, provided that the sum of the estimated execution times of the interatomic distances included in the interatomic distance group 16 does not exceed the time limit 17. For example, the control unit 12 prioritizes classifying larger interatomic distances into the interatomic distance group 16. Alternatively, for example, the control unit 12 prioritizes classifying interatomic distances with a high number of iterations of algorithm 14 into the interatomic distance group 16. As an example, the control unit 12 classifies interatomic distances 16c and 16d into the interatomic distance group 16.

[0027] The control unit 12 calculates the molecular energy for each interatomic distance included in the determined interatomic distance group 16 by executing algorithm 13. As an example, the control unit 12 calculates the molecular energies 18c and 18d corresponding to interatomic distances 16c and 16d.

[0028] Furthermore, the control unit 12 calculates the molecular energy for each interatomic distance not included in the interatomic distance group 16 by executing algorithm 14. For example, the control unit 12 calculates the molecular energies 18a and 18b corresponding to interatomic distances 16a and 16b. However, when estimating execution times 17a and 17b, the molecular energies 18a and 18b may have already been calculated by executing algorithm 14. In that case, the control unit 12 does not need to recalculate the molecular energies 18a and 18b.

[0029] The control unit 12 then outputs the molecular energies 18a and 18b for interatomic distances 16a and 16b calculated by algorithm 14, and the molecular energies 18c and 18d for interatomic distances 16c and 16d calculated by algorithm 13. For example, the control unit 12 outputs a potential energy curve that correlates interatomic distances with molecular energies. The control unit 12 may store the calculated molecular energies in non-volatile storage, display them on a display device, or transmit them to another information processing device.

[0030] As described above, the information processing device 10 of the first embodiment estimates the execution time of the algorithm 13 using quantum circuit data for each of the multiple interatomic distances based on molecular information 15. Based on the specified time limit 17 and the estimated execution time, the information processing device 10 determines the interatomic distance group 16 on which to execute the algorithm 13. The information processing device 10 calculates the molecular energy by executing the algorithm 13 for the interatomic distances included in the interatomic distance group 16. The information processing device 10 outputs the molecular energy of the interatomic distances included in the interatomic distance group 16 calculated by the algorithm 13, and the molecular energy of the other interatomic distances calculated by the algorithm 14.

[0031] As a result, the information processing device 10 can use algorithms 13 and 14 appropriately, taking into account the trade-off between accuracy and execution time, within the specified time limit 17, and efficiently calculate multiple molecular energies corresponding to multiple interatomic distances.

[0032] Furthermore, the information processing device 10 may estimate the execution cost of algorithm 13 for each of the multiple interatomic distances, and may determine the interatomic distance group 16 by further considering the specified limit cost and the estimated execution cost. This makes the calculation of molecular energy more efficient while taking into account execution costs such as expenses.

[0033] Furthermore, the information processing device 10 may estimate the execution time of algorithm 13 based on the execution result of algorithm 14. This improves the accuracy of the execution time estimation. Also, the information processing device 10 may determine the interatomic distance groups 16 such that the total execution time of each interatomic distance group 16 does not exceed the time limit 17. This allows the information processing device 10 to output the molecular energy by the time desired by the user.

[0034] Furthermore, the information processing device 10 may preferentially classify interatomic distances into interatomic distance group 16, starting with larger interatomic distances. This will prioritize improving the accuracy of interatomic distances where algorithm 14 is likely to have low accuracy. Alternatively, the information processing device 10 may preferentially classify interatomic distances into interatomic distance group 16, starting with those where algorithm 14 has a high number of iterations. This will prioritize recalculating the molecular energy by algorithm 13 for interatomic distances where algorithm 14 has low accuracy, thereby improving accuracy.

[0035] Furthermore, if algorithm 13 finishes before the estimated execution time has elapsed, the information processing device 10 may additionally execute algorithm 13 for some interatomic distances not included in the interatomic distance group 16. This allows the information processing device 10 to utilize the available computational resources to improve the accuracy of molecular energy. Algorithm 13 may also be VQE, and algorithm 14 may be the coupled cluster method. This allows for a balance between accuracy and execution time across multiple interatomic distances.

[0036] Next, a second embodiment will be described. In the second embodiment, the information processing device 100 generates a potential energy curve showing the relationship between the distance between two atoms of interest and the ground state energy of the molecule by quantum chemical calculations. The information processing device 100 can execute multiple algorithms. However, some or all of the algorithms may be executed by other information processing devices. The other information processing devices may be quantum computers.

[0037] The information processing device 100 may be a client device or a server device. Furthermore, the information processing device 100 may be installed in a data center or be included in a cloud system. The cloud system may receive requests for quantum chemical calculation jobs via a network and return the generated potential energy curves. The information processing device 100 may also be called a computer, a molecular simulation device, or a quantum chemical calculation device. The information processing device 100 corresponds to the information processing device 10 of the first embodiment.

[0038] 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.

[0039] 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.

[0040] 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.

[0041] 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).

[0042] 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.

[0043] 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.

[0044] 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.

[0045] 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.

[0046] 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.

[0047] 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.

[0048] Next, we will explain quantum chemical calculations and their solution algorithms. 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.

[0049] 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.

[0050] 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 receive molecular information indicating the positions of multiple atoms in the molecule, a solution algorithm, and a specified basis function from the user, and calculate the ground energy based on the specified information. However, in the second embodiment, the solution algorithm does not need to be specified. The information processing device 100 generates a potential energy curve by quantum chemical calculations.

[0051] Figure 3 is a graph showing an example of a potential energy curve. Curve 31 is the potential energy curve. The potential energy curve shows 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 interatomic distance. The vertical axis of the potential energy curve represents the ground state energy.

[0052] 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.5 Å 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.

[0053] Figure 4 is a graph showing examples of the accuracy of classical and quantum algorithms. In the second embodiment, we consider using CCSD(T) and VQE as the algorithms for quantum chemical calculations. However, CISD or CCSD may be used instead of CCSD(T). Also, Figure 4 shows FCI (Full Configuration Interaction) as an algorithm with extremely high accuracy.

[0054] Curve 32 is the potential energy curve generated by FCI alone. Curve 33 is the potential energy curve generated by CCSD(T) alone. Curve 34 is the potential energy curve generated by VQE alone.

[0055] FCI is a classical algorithm designed for execution on classical computers. FCI finds the exact energy solution given the specified molecular information and basis functions. Therefore, while FCI provides highly accurate solutions, it is time-consuming. FCI has a computational complexity on the order of the factorial of the number of molecular orbitals. For this reason, it is difficult to calculate the energy of large molecules using FCI. Due to the nature of FCI, which seeks the exact solution, the energy calculated by FCI is sometimes interpreted as the correct energy.

[0056] CCSD(T) is a classical algorithm intended for execution on classical computers. CCSD(T) finds an approximate energy solution given given molecular information and basis functions. Therefore, CCSD(T) has lower solution accuracy and shorter execution time than FCI. CCSD(T) has a computational complexity on the order of the seventh power of the number of molecular orbitals. Note that CCSD has even lower solution accuracy and shorter execution time than CCSD(T).

[0057] CCSD(T) precisely calculates the effects of one-electron and two-electron excitations on energy as electronic states, and determines the effect of three-electron excitations on energy from perturbations. CCSD(T) ignores the effects of higher-order electronic excitations of four electrons or more. CCSD(T) iteratively calculates the energy while changing the electron configuration and searches for the minimum energy. CCSD(T) performs iterative calculations until the calculated energy converges. For example, CCSD(T) compares the latest energy with the energy calculated in the previous iteration, and stops the iteration when the difference between the two falls below a threshold.

[0058] CCSD(T) often yields relatively good approximate solutions for FCI when interatomic distances are small. On the other hand, CCSD(T) may yield less accurate approximate solutions when interatomic distances are large. This is because, when interatomic distances are large, the influence of outer molecular orbitals on energy is significant, and CCSD(T), which ignores the effects of higher-order electronic excitations of 4 electrons or more, experiences a large error in its approximate solution. Furthermore, with CCSD(T), if the accuracy of the final output energy is low, the number of iterations required for convergence tends to increase. This is because even with repeated calculations, the approximate solution may continue to fluctuate near the correct value, and may not stably converge towards the correct value.

[0059] VQE is a quantum algorithm intended for execution on gate-type quantum computers. However, it is also possible to execute VQE on classical computers using a quantum simulator. A quantum simulator simulates the operation of a quantum computer using software. In this case, for every increase of one qubit, the memory usage and computational load on a classical computer double. In the second embodiment, it is assumed that VQE is executed using a quantum simulator. The accuracy and execution time of the VQE solution are intermediate between FCI and CCSD(T). That is, the accuracy of the solution is lower than FCI and higher than CCSD(T). The execution time is shorter than FCI and longer than CCSD(T).

[0060] VQE forms quantum circuits that generate quantum states using multiple qubits based on a specified basis function. These quantum circuits are sometimes called Ansatz circuits. VQE also forms 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 computing model described by a combination of quantum gates. In a quantum computer, quantum circuits are implemented using physical qubits. In 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] Note that a "classical computer" is, for example, a von Neumann-type computer, which is contrasted with a "quantum computer." A "classical algorithm" is, for example, an algorithm, which is contrasted with a "quantum algorithm," and does not use quantum circuits.

[0063] As shown in curves 33 and 34, the accuracy of CCSD(T) can be significantly lower than that of VQE depending on the distance. On the other hand, the execution time of VQE is significantly longer than that of CCSD(T). For example, the execution time of VQE can be more than 1000 times longer than that of CCSD(T). In this respect, the information processing device 100 cannot ignore the execution time and cost required to generate the potential energy curve, and it may be required to generate the potential energy curve within an upper limit specified by the user. The cost is, for example, the fee incurred by the user for using the information processing device 100.

[0064] Therefore, the information processing device 100 generates a potential energy curve with the highest possible accuracy within the limits of the upper execution time and upper cost specified by the user, by automatically selecting an algorithm. The algorithm is selected for each distance.

[0065] In the second embodiment, the information processing device 100 first performs CCSD(T) for all distances. Next, the information processing device 100 estimates the execution time and cost of VQE for each of the multiple distances by referring to the execution results of CCSD(T). Then, the information processing device 100 selects additional distances for which VQE will be performed based on the estimated execution time, estimated cost, upper limit execution time, and upper limit cost. When generating the potential energy curve, the information processing device 100 uses the energy calculated by VQE for the selected distances, and the energy calculated by CCSD(T) for the other distances.

[0066] 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 machine learning to train this machine learning model may be performed by the information processing device 100 or by another information processing device.

[0067] 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. The estimated execution time of VQE is the product of the execution time estimated by the time model and the number of iterations estimated by the iteration model.

[0068] However, the actual number of iterations can fluctuate due to randomness, and there is a risk that it may exceed the expected value. Furthermore, uncertainty may arise in the estimation results of the iterative model due to the limited 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. An example of a machine learning model is explained below using mathematical formulas.

[0069] 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.

[0070]

number

[0071] The 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 n records that are pairs of the values of the explanatory variable and the target variable, such as (x1, y1), …, (x

[0074] , , i , , n , y n ).

[0072]

Number

[0073] 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 [[ID=三十一]](x) is a column vector whose i-th row component is k(x[[ID=三十二]] i [[ID=三十三]], x). k[[ID=三十四]] n [[ID=三十五]](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. [[ID=三十六]] [[ID=三十七]]

[0074] [[ID=三十八]] The information processing device 100 can also use a time model that considers the risk of the actual execution time for each iteration deviating from the expected value, and that is robust to that risk. First, as shown in equation (3), the CVaR (Conditional Value at Risk) 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).

[0075]

number

[0076]

number

[0077] 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).

[0078]

number

[0079]

number

[0080] 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).

[0081]

number

[0082] 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).

[0083]

number

[0084] 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.

[0085] In the second embodiment, the classical algorithm is CCSD(T). However, the classical algorithm may be CISD or CCSD. Note that the broad definition of "CCSD" is sometimes interpreted to encompass both the narrow definition of CCSD and CCSD(T).

[0086]

number

[0087] 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.

[0088]

number

[0089] 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.

[0090] 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.

[0091]

number

[0092] 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.

[0093]

number

[0094] Figure 5 shows an example of a method for estimating the execution time of a VQE job. Hereafter, the process of calculating the energy corresponding to a distance using VQE may be referred to as a VQE job. The information processing device 100 acquires data 131 for the molecule to be analyzed. Data 131 shows the type and coordinate of each of the multiple atoms contained in the molecule. In machine learning, n sets of data equivalent to data 131 are used as sample data.

[0095] 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.

[0096] In machine learning, n sets of data equivalent to data 132 are used as training data to train a time model. In this case, the execution time for each iteration corresponds to the training data and is measured by performing VQE on the molecular information of the sample.

[0097] 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 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.

[0098] In machine learning, n sets of data equivalent to Data 133 are used as training data to train an iterative model. In this case, the number of VQE iterations corresponds to the training data and is measured by running VQE.

[0099] 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, estimated values ​​considering robustness, or estimated values ​​considering robustness and uncertainty. The information processing device 100 may switch the type of estimated value according to instructions from the user.

[0100] Once the execution time for each distance is estimated, the information processing device 100 estimates the cost of each distance based on the estimated execution time. The cost is proportional to the execution time. For example, the estimated cost is the product of a coefficient, the estimated execution time, and the number of computing nodes used. If the unit of execution time is seconds and the unit of cost is yen, for example, the coefficient is 0.1. However, for the sake of simplicity, we will assume below that the user uses only one computing node.

[0101] Next, we will explain the selection of distances to be targeted by the VQE job. The information processing device 100 starts the VQE job such that the total estimated execution time is less than or equal to the user-specified upper limit execution time, and the total estimated cost is less than or equal to the user-specified upper limit cost. We assume that the execution time of the classical algorithm is negligibly small.

[0102] In this case, the information processing device 100 prioritizes selecting distances where the accuracy improvement effect of VQE is large, that is, distances where the accuracy of the classical algorithm is low. As mentioned above, with the classical algorithm, the risk of accuracy deterioration increases as the distance increases. Therefore, one possible method of distance selection is to select as many distances as possible, starting from the largest ones.

[0103] Figure 6 shows an example of estimated execution time and cost for a VQE job. Here, 11 distances from 1.0 Å to 2.0 Å are candidates for the VQE job. Table 135 correlates the distance with the estimated execution time and estimated cost. This estimated execution time is preferably a robust and uncertain estimate to mitigate the risk that the VQE job execution time will exceed the estimate and fail to meet the upper limits on execution time or cost.

[0104] The estimated execution time for a VQE job at a distance of 1.0 Å is 20 seconds, and the estimated cost is 2 yen. The estimated execution time for a VQE job at a distance of 1.1 Å is 30 seconds, and the estimated cost is 3 yen. The estimated execution time for a VQE job at a distance of 1.2 Å is 40 seconds, and the estimated cost is 4 yen. The estimated execution time for VQE jobs at distances of 1.3 Å, 1, and 4 Å is 50 seconds, and the estimated cost is 5 yen. The estimated execution time for VQE jobs at distances of 1.5 Å and 1.6 Å is 60 seconds, and the estimated cost is 6 yen. The estimated execution time for VQE jobs at distances of 1.7 Å and 1.8 Å is 70 seconds, and the estimated cost is 7 yen. The estimated execution time for VQE jobs at distances of 1.9 Å and 2.0 Å is 80 seconds, and the estimated cost is 8 yen.

[0105] Data 136 shows the user-specified maximum execution time and maximum cost. Here, the maximum execution time is 500 seconds and the maximum cost is 40 yen. If we select as many distances as possible in descending order while not exceeding the maximum execution time, distances from 1.4 Å to 2.0 Å are selected. Similarly, if we select as many distances as possible in descending order while not exceeding the maximum cost, distances from 1.6 Å to 2.0 Å are selected. Therefore, the distance that can satisfy both the maximum execution time and maximum cost is 1.6 Å to 2.0 Å.

[0106] In this distance selection method, the higher the maximum execution time and cost specified by the user, the more distances will be selected as targets for the VQE job in descending order. Depending on the maximum execution time and cost, it is possible that no distances will be selected as targets for the VQE job, or that all distances will be selected.

[0107] Figure 7 shows an example of the relationship between user-specified limits and the number of VQE jobs. Table 137 shows the relationship between the upper limit execution time, upper limit cost, number of VQE jobs, execution time, and error. The upper limit execution time and upper limit cost are specified by the user. The number of VQE jobs is the number of distances selected as targets for VQE execution. Execution time is the measured total execution time of VQE. Error is the error of the entire potential energy curve, for example, the difference from the energy calculated by FCI.

[0108] This example corresponds to the potential energy curve in Figure 3. When the maximum execution time is 10 seconds and the maximum cost is 30 yen, there are no distances that can be targeted by the VQE job. When the maximum execution time is 300 seconds and the maximum cost is 50 yen, there are 5 distances that can be targeted by the VQE job. When the maximum execution time is 500 seconds and the maximum cost is 100 yen, there are 8 distances that can be targeted by the VQE job. When the maximum execution time is 1000 seconds and the maximum cost is 1000 yen, there are 20 distances that can be targeted by the VQE job. When the maximum execution time is 1500 seconds and the maximum cost is 1000 yen, there are 30 distances that can be targeted by the VQE job.

[0109] Thus, the larger the upper limit of execution time and the upper limit of cost, the more distances that can be selected. As a result, although the user wait time increases with higher upper limits of execution time and cost, the accuracy of the potential energy curve improves.

[0110] Next, we will explain other distance selection methods. As mentioned above, the lower the accuracy of the calculated energy, the more iterations the classical algorithm requires. Therefore, the information processing device 100 can also consider a method of preferentially selecting distances that require more iterations of the classical algorithm.

[0111] Figure 8 is a graph showing an example of the relationship between interatomic distance and the number of iterations of a classical algorithm. Curve 35 shows the relationship between interatomic distance and the number of iterations of CCSD(T). The information processing device 100 may select as many distances as possible, prioritizing those with a higher number of iterations, within the limits of the upper execution time and upper cost. Alternatively, instead of selecting as many distances as possible, the information processing device 100 may select distances with a number of iterations exceeding a threshold.

[0112] Alternatively, instead of selecting as many distances as possible in descending order, the information processing device 100 may analyze a sequence of iteration counts of the classical algorithm to detect a boundary distance at which the accuracy of the energy begins to decrease sharply, and then select distances beyond that boundary distance.

[0113] For example, the information processing device 100 scans the iteration counts in ascending order of distance and calculates the slope of the fitted line segment by performing the least squares method on the most recent fixed number of distances (e.g., 5) and iteration counts. The information processing device 100 monitors the change in the slope of the line segment in ascending order of distance, and when the slope increases for a fixed number of consecutive times (e.g., 3 times), it determines that the iteration count has started to increase rapidly and detects the distance at that time as the boundary distance. The information processing device 100 selects each distance after the boundary distance as the target for the VQE job.

[0114] Next, we will explain the scheduling of VQE jobs. Once the distances to be executed for VQE are selected, the information processing device 100 allocates computing resources to the VQE jobs corresponding to each distance. If the user has only one computing node, two or more VQE jobs corresponding to two or more selected distances will be executed sequentially on that computing node.

[0115] At this time, the information processing device 100 determines the start time of each VQE job based on the estimated execution time of each distance. In order to mitigate the risk that the previous VQE job will not be completed by the start time of the next VQE job, it is preferable that the estimated execution time referenced in scheduling is an estimate that takes robustness and uncertainty into account.

[0116] However, the estimated execution time, taking robustness and uncertainty into account, is larger than the expected value, and VQE jobs may finish unexpectedly early, resulting in a large amount of idle time. Therefore, the information processing device 100 additionally performs VQE for some of the distances that were not selected as targets for VQE execution, utilizing the idle time of the computing nodes.

[0117] Figure 9 shows an example of adding VQE jobs. VQE job 41 calculates the energy corresponding to a distance of 3.5 Å. VQE job 42 calculates the energy corresponding to a distance of 3.4 Å. The start time of VQE job 41 is T1, and the scheduled end time is T2. T2 is, for example, T1 plus the estimated execution time for a distance of 3.5 Å. The start time of VQE job 42 is T2, and the scheduled end time is T3. T3 is, for example, T2 plus the estimated execution time for a distance of 3.4 Å.

[0118] Since this estimated execution time is an estimate that takes robustness and uncertainty into account, the VQE job 41 may finish well before time T2. In this case, the information processing device 100 additionally selects one distance from among the distances not selected as targets for VQE execution and uses the available time until time T2 to execute an additional VQE job.

[0119] Table 138 shows the distances that have not been selected for VQE execution. Table 138 associates priority, distance, number of iterations, and estimated execution time. The number of iterations is the number of iterations of the classical algorithm. The estimated execution time is the execution time of VQE estimated by the method described above. Priority is ranked in order of the greatest accuracy improvement effect from performing VQE. Priority can be, for example, in descending order of distance or descending order of iterations.

[0120] When VQE job 41 finishes, the information processing device 100 calculates the available time until time T2 when VQE job 42 will start. The information processing device 100 searches table 138 for distances whose estimated execution time is less than or equal to the available time, according to priority. The information processing device 100 additionally selects the distance with the highest priority among those whose estimated execution time is less than or equal to the available time as a target for VQE jobs. The information processing device 100 then executes the VQE jobs corresponding to the additionally selected distances using the available time.

[0121] Next, the functions and processing procedures of the information processing device 100 will be described. Figure 10 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 control data storage unit 122, and an estimation model storage unit 123. These storage units are implemented using, for example, RAM 102 or HDD 103.

[0122] Furthermore, the information processing device 100 includes a CCSD execution unit 124, a VQE execution unit 125, an algorithm control unit 126, and an energy visualization unit 127. These processing units are implemented, for example, using a CPU 101 and a program. Note that one or both of the CCSD execution unit 124 and the VQE execution unit 125 may be separated into other information processing devices.

[0123] The molecular information storage unit 121 stores molecular information. This molecular information includes the types and positional coordinates of atoms contained in the molecule being simulated. The positional coordinates of each atom are modified according to the distance between two atoms of interest. The molecular information storage unit 121 also stores user-specified basis functions. These basis functions are typically selected by the user from a set of known basis functions, depending on the type of molecule and the purpose of the molecular simulation.

[0124] The control data storage unit 122 stores multiple distances for which energy is calculated. The control data storage unit 122 also stores the energy calculated by the classical algorithm and the number of iterations of the classical algorithm for each of the multiple distances. Furthermore, the control data storage unit 122 stores the estimated execution time and estimated cost for each of the multiple distances. Finally, the control data storage unit 122 stores the energy calculated by VQE for each distance selected as the target of VQE.

[0125] The estimation model storage unit 123 stores a time model that estimates the execution time for each iteration from the features of the quantum circuit. The estimation model storage unit 123 also stores an iteration model that estimates the number of VQE iterations from the interatomic distance and the number of iterations of the classical algorithm. The time model and the iteration model are trained by the information processing unit 100 or other information processing units.

[0126] The CCSD execution unit 124 executes CCSD(T) based on the specified molecular information and basis functions in response to instructions from the algorithm control unit 126. However, the CCSD execution unit 124 may also execute CCSD. The CCSD execution unit 124 calculates the ground energy for each piece of molecular information corresponding to a distance and outputs it to the algorithm control unit 126. The CCSD execution unit 124 also measures the number of iterations and notifies the algorithm control unit 126 of this.

[0127] The VQE execution unit 125 performs VQE based on the specified molecular information and basis functions in response to instructions from the algorithm control unit 126. The VQE execution unit 125 repeatedly generates quantum circuits and measures energy based on the molecular information and basis functions. For each piece of molecular information corresponding to a distance, the VQE execution unit 125 calculates the ground energy and outputs it to the algorithm control unit 126.

[0128] The algorithm control unit 126 receives a specification from the user for the maximum execution time and maximum cost. The algorithm control unit 126 selects the distance over which to perform VQE in order to achieve the highest accuracy within the specified maximum execution time and maximum cost range.

[0129] First, the algorithm control unit 126 instructs the CCSD execution unit 124 to calculate the energy for all distances and obtains the energy and iteration count of the classical algorithm. The algorithm control unit 126 also instructs the VQE execution unit 125 to perform preprocessing to generate quantum circuits and obtains quantum circuit features for all distances. Using the machine learning model stored in the estimation model storage unit 123, the algorithm control unit 126 estimates the execution time and cost of VQE for each distance from the quantum circuit features and the iteration count of the classical algorithm.

[0130] The algorithm control unit 126 selects the distance for which to perform VQE according to a certain selection method, based on the estimated execution time and estimated cost for each distance, and the upper limit execution time and upper limit cost specified by the user. The distance selection method may be specified by the user. The algorithm control unit 126 causes the VQE execution unit 125 to calculate the energy for the selected distance.

[0131] The energy visualization unit 127 reads multiple energies corresponding to multiple distances from the control data storage unit 122 and generates a potential energy curve by plotting the read energies. At this time, the energy visualization unit 127 uses the energy obtained from VQE for distances where VQE has been performed, and uses the energy obtained from the classical algorithm for distances where VQE has not been performed.

[0132] The energy visualization unit 127 outputs the generated potential energy curve. The energy visualization unit 127 may store the potential energy curve in non-volatile storage, display it on the display device 111, or transmit it to another information processing device.

[0133] Figure 11 is a flowchart showing an example of the procedure for quantum chemical calculations. (S10) The algorithm control unit 126 obtains molecular information, basis functions, distance list, upper limit execution time, and upper limit cost. The distance list shows multiple distances for which to calculate energy.

[0134] (S11) The CCSD execution unit 124 calculates the energy for each of the multiple distances indicated by the distance list using a classical algorithm such as CCSD(T). At this time, the CCSD execution unit 124 measures the number of iterations until the energy converges.

[0135] (S12) The algorithm control unit 126 records the energy and number of iterations of the classical algorithm calculated in step S11 for each distance shown in the distance list. (S13) The algorithm control unit 126 estimates the execution time of VQE for each distance indicated in the distance list. Details of the execution time estimation will be described later.

[0136] (S14) The algorithm control unit 126 estimates the cost of VQE for each distance shown in the distance list from the estimated execution time calculated in step S13. (S15) The algorithm control unit 126 selects the distances to be targeted for VQE from among the multiple distances shown in the distance list, based on the estimated execution time for each distance, the estimated cost for each distance, the upper limit execution time, and the upper limit cost. For example, the algorithm control unit 126 selects as many distances as possible, prioritizing those with the larger upper limit execution time and upper limit cost.

[0137] (S16) The VQE execution unit 125 calculates the energy for each distance selected in step S15 using VQE. (S17) The energy visualization unit 127 replaces the energy corresponding to the distance selected in step S15 from the energy calculated by the classical algorithm in step S11 with the energy calculated by VQE in step S16.

[0138] (S18) The energy visualization unit 127 generates a potential energy curve from multiple energies corresponding to multiple distances after the substitution in step S17. The energy visualization unit 127 displays the generated potential energy curve.

[0139] Figure 12 is a flowchart showing an example of the execution time estimation procedure. (S20) The VQE execution unit 125 generates quantum circuits used in VQE based on molecular information. (S21) The algorithm control unit 126 determines the number of qubits, the depth of the Ansatz circuit, and the number of Hamiltonian terms from the generated quantum circuit.

[0140] (S22) The algorithm control unit 126 estimates the execution time per iteration in VQE by inputting the number of qubits, the depth of the Ansatz circuit, and the number of Hamiltonian terms into a trained time model. This execution time per iteration is an estimate that takes into account robustness and uncertainty, for example.

[0141] (S23) The algorithm control unit 126 estimates the number of iterations of VQE by inputting the interatomic distance and the number of iterations of the classical algorithm into a trained iterative model. This number of iterations is an estimate that takes robustness and uncertainty into account, for example.

[0142] (S24) The algorithm control unit 126 estimates the execution time of VQE by multiplying the execution time for each iteration in step S22 by the number of iterations in step S23. As described above, the information processing device 100 of the second embodiment generates a potential energy curve showing the relationship between interatomic distance and the ground state energy of the molecule through quantum chemical calculations. This allows the information processing device 100 to provide useful information about the properties of molecules, thereby supporting research and development in areas such as materials development and pharmaceutical development.

[0143] Furthermore, the information processing device 100 calculates the energy for all interatomic distances using CCSD(T), which has a short execution time, and then recalculates the energy for some interatomic distances using VQE, which has higher accuracy. This allows the information processing device 100 to efficiently generate potential energy curves while balancing accuracy and execution time.

[0144] Furthermore, the information processing device 100 estimates the execution time and cost of VQE for each interatomic distance, and selects the interatomic distances to be targeted for VQE within a range where the total estimated execution time does not exceed the user-specified upper limit execution time, and the total estimated cost does not exceed the user-specified upper limit cost. In this way, the information processing device 100 can generate a potential energy curve with the highest possible accuracy while satisfying the user's desired conditions.

[0145] Furthermore, the information processing device 100 prioritizes selecting interatomic distances with large interatomic distances or a high number of CCSD(T) iterations as targets for VQE. This increases the accuracy improvement effect achieved by performing VQE. The information processing device 100 also estimates the number of VQE iterations from the number of CCSD(T) iterations. This improves the accuracy of the execution time estimation. In addition, the information processing device 100 calculates an estimated execution time that takes robustness and uncertainty into account. This reduces the risk that the actual total execution time will exceed the upper limit execution time, and the risk that the actual total cost will exceed the upper limit cost.

[0146] Furthermore, if the actual execution time of VQE is shorter than the estimated execution time, resulting in idle time on the computing node, the information processing device 100 additionally selects interatomic distances to be targeted for VQE. In this case, the information processing device 100 prioritizes selecting interatomic distances for which the estimated execution time is less than or equal to the idle time, and which offer a high accuracy improvement effect from performing VQE. This allows the information processing device 100 to effectively utilize computing resources and efficiently improve the accuracy of the potential energy curve.

[0147] 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]

[0148] 10 Information Processing Devices 11 Storage section 12 Control Unit 13,14 Algorithms 15 Molecular information 16 Interatomic distance group 16a,16b,16c,16d Interatomic distance 17. Time limit 17a, 17b, 17c, 17d Execution time 18a, 18b, 18c, 18d Molecular energy

Claims

1. Based on molecular information representing the molecule to be analyzed, the execution time of the first algorithm, which calculates the molecular energy using quantum circuit data for each of multiple interatomic distances, is estimated. Based on the specified time limit and the estimated execution time, the group of interatomic distances on which to execute the first algorithm is determined from among the plurality of interatomic distances. For the first interatomic distance included in the determined interatomic distance group, the first molecular energy is calculated by executing the first algorithm. The system outputs the first molecular energy and a second molecular energy corresponding to a second interatomic distance among the plurality of interatomic distances that is not included in the interatomic distance group, calculated by a second algorithm different from the first algorithm. A molecular simulation program characterized by having a computer perform the processing.

2. The estimation of the execution time includes a process of estimating the execution cost of the first algorithm for each of the plurality of interatomic distances. The interatomic distance group is determined based on the specified limit time and the specified limit cost, and the estimated execution time and the estimated execution cost. The molecular simulation program according to feature 1.

3. The estimation of the execution time includes the process of executing the second algorithm based on the molecular information for each of the plurality of interatomic distances, The execution time is estimated based on the execution result of the second algorithm. The molecular simulation program according to feature 1.

4. The interatomic distance groups are determined such that the sum of the execution times within the interatomic distance groups does not exceed the limit time. The molecular simulation program according to feature 1.

5. The determination of the interatomic distance group includes a process of classifying the multiple interatomic distances into the interatomic distance group in order of increasing interatomic distance. The molecular simulation program according to feature 4.

6. The estimation of the execution time includes the process of executing the second algorithm based on the molecular information for each of the plurality of interatomic distances, The determination of the interatomic distance group includes a process of classifying interatomic distances into the interatomic distance group in order of the number of iterations of the second algorithm. The molecular simulation program according to feature 4.

7. The calculation of the first molecular energy includes, if the first algorithm is completed before the estimated execution time has elapsed, the process of executing the first algorithm for a third interatomic distance among the plurality of interatomic distances that is not included in the interatomic distance group, The molecular simulation program according to feature 1.

8. The first algorithm described above is a variational quantum eigenvalue solver method, The second algorithm is the combined cluster method. The molecular simulation program according to feature 1.

9. Based on molecular information representing the molecule to be analyzed, the execution time of the first algorithm, which calculates the molecular energy using quantum circuit data for each of multiple interatomic distances, is estimated. Based on the specified time limit and the estimated execution time, the group of interatomic distances on which to execute the first algorithm is determined from among the plurality of interatomic distances. For the first interatomic distance included in the determined interatomic distance group, the first molecular energy is calculated by executing the first algorithm. The system outputs the first molecular energy and a second molecular energy corresponding to a second interatomic distance among the plurality of interatomic distances that is not included in the interatomic distance group, calculated by a second algorithm different from the first algorithm. A molecular simulation method characterized by the processing being performed by a computer.

10. A memory unit that stores molecular information indicating the molecule to be analyzed and multiple interatomic distances, A control unit that, based on the molecular information, estimates the execution time of a first algorithm that calculates molecular energy using quantum circuit data for each of the plurality of interatomic distances, determines an interatomic distance group from the plurality of interatomic distances to execute the first algorithm based on a specified time limit and the estimated execution time, executes the first algorithm for the first interatomic distance included in the determined interatomic distance group to calculate the first molecular energy, and outputs the first molecular energy and a second molecular energy corresponding to a second interatomic distance among the plurality of interatomic distances that is not included in the interatomic distance group, calculated by a second algorithm different from the first algorithm, An information processing device characterized by having the following features.