Molecular simulation program, molecular simulation method, and information processing device.
The molecular simulation program efficiently calculates molecular energies by estimating execution times and iterations for quantum chemical calculations, addressing the trade-off between accuracy and time in quantum chemical algorithms, ensuring high accuracy within user-defined limits.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- FUJITSU LTD
- Filing Date
- 2022-10-28
- Publication Date
- 2026-07-08
AI Technical Summary
There is a trade-off between accuracy and execution time in quantum chemical calculation algorithms, with algorithms like VQE providing high accuracy but requiring long execution times, which may exceed user-set time limits.
A molecular simulation program estimates the execution time and number of iterations for quantum chemical calculations at multiple interatomic distances, determining the number of iterations based on a specified time limit to efficiently calculate molecular energies while balancing accuracy and time constraints.
The solution allows for high-accuracy molecular energy calculations within user-defined time limits, reducing total execution time and maintaining accuracy by adjusting iterations and algorithm selection based on interatomic distance.
Smart Images

Figure 0007886551000013 
Figure 0007886551000014 
Figure 0007886551000015
Abstract
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, a system has been proposed that generates quantum states using control parameters, measures the energy corresponding to the quantum state, updates the control parameters to decrease the energy, and repeats the above process until the lowest energy is found. Additionally, a method for determining the energy level of a physical system using a quantum computer has been proposed. Finally, an information processing device that searches for the ground state energy of molecules by controlling multiple quantum computers has been proposed. [Prior art documents] [Patent Documents]
[0005] [Patent Document 1] International Publication No. 2019 / 057317 [Patent Document 2] International Publication No. 2019 / 150090 [Patent Document 3] International Publication No. 2022 / 107298 [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, computers may 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. Algorithms that use quantum circuit data, such as VQE, can calculate molecular energies with high accuracy, but they can require long execution times. On the other hand, computers do not always have the capacity to dedicate vast amounts of time to quantum chemical calculations, and there may be time limits set by the user or others. Therefore, 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 aspect, there is provided a molecular simulation program that causes a computer to execute the following processes. Based on molecular information indicating a molecule to be analyzed, for each of a plurality of interatomic distances, an estimated execution time of a first algorithm for calculating molecular energy using quantum circuit data and an estimated number of iterations of an iterative process performed during the estimated execution time are estimated. Based on a specified time limit, the estimated execution time, and the estimated number of iterations for each of the plurality of interatomic distances, the number of iterations for each of the plurality of interatomic distances is determined. Based on the determined number of iterations, the molecular energy for each of the plurality of interatomic distances is calculated by executing the first algorithm.
[0009] Also, in one aspect, there is provided a molecular simulation method characterized in that a computer executes it. Also, in one aspect, there is provided an information processing apparatus characterized in that it has a storage unit and a control unit.
Advantages of the Invention
[0010] In one aspect, the molecular energy 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 diagram showing an example of the accuracy of a potential energy curve. [Figure 4] It is a diagram showing an example of the relationship between interatomic distance and the number of iterations of a classical algorithm. [Figure 5] It is a diagram showing an example of the error of a classical algorithm and the slope of the number of iterations. [Figure 6]This figure shows an example of VQE execution time estimation. [Figure 7] This figure shows the first example of adjusting the execution time of VQE. [Figure 8] This figure shows a second example of adjusting the execution time of VQE. [Figure 9] This figure shows a third example of adjusting the execution time of VQE. [Figure 10] This figure shows an example of the accuracy of the potential energy curve when execution time is reduced. [Figure 11] This figure shows an example of VQE error. [Figure 12] This is a block diagram showing examples of functions of an information processing device. [Figure 13] This flowchart shows an example of a procedure for quantum chemical calculations. [Figure 14] This is a flowchart (continued) showing an example of the procedure for quantum chemical calculations. [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, or a quantum chemical calculation 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 13 that indicates the molecule to be analyzed. The molecular information 13 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 using a certain algorithm. 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 14a, 14b, and 14c. Interatomic distance 14b is longer than interatomic distance 14a, and interatomic distance 14c is longer than interatomic distance 14b. The memory unit 11 also stores a time limit 17. The time limit 17 is the upper limit of the time required for the quantum chemical calculation and may be specified by the user. The time limit 17 is, for example, the upper limit of the total execution time for calculating all of the multiple molecular energies corresponding to the multiple interatomic distances stored in the memory unit 11 using the algorithm described above.
[0017] The algorithm described above calculates molecular energy using quantum circuit data, and is a quantum algorithm such as VQE. Quantum circuit data is a quantum computation model that defines gate operations on qubits.
[0018] The above algorithm may be executed on a gate-type quantum computer. Alternatively, the algorithm may be executed on a von Neumann-type classical computer using software that simulates the operation of a quantum computer. The information processing device 10 may execute the algorithm itself, or it may have another information processing device execute it.
[0019] Quantum circuit data includes, for example, Ansatz circuits and measurement circuits. An Ansatz circuit generates quantum states using one or more qubits and is generated based on basis functions that approximate the wave function of the Schrödinger equation. A measurement circuit measures molecular energy from quantum states and is generated based on the Hamiltonian of the Schrödinger equation, depending on the type of molecule.
[0020] The algorithm described above calculates the expected molecular energy for a given electron configuration by repeatedly generating quantum states and measuring the molecular energy. The algorithm then repeatedly calculates the expected molecular energy while changing the electron configuration, searching for the minimum molecular energy. The algorithm outputs this minimum molecular energy as the ground state energy.
[0021] The information processing device 10 may calculate other molecular energies corresponding to other interatomic distances using algorithms other than the algorithm described above. These other interatomic distances may be shorter than the interatomic distances stored in the storage unit 11. The storage unit 11 may further store such other interatomic distances.
[0022] Other algorithms calculate molecular energy using methods different from those described above. These other algorithms are, for example, classical algorithms that do not use quantum circuit data and are expected to be executed by classical computers. These other algorithms may be configuration interaction methods such as CISD (Configuration Interaction Singles and Doubles), or coupled cluster methods such as CCSD (Coupled Cluster Singles and Doubles) or CCSD(T) (CCSD (and Triples)).
[0023] Other algorithms, for example, generate a fixed formula based on a basis function that approximates the wave function, and calculate the molecular energy for a given electron configuration. In this case, other algorithms may ignore higher-order electron excitations of 3 or more electrons or 4 or more electrons in order to reduce computational complexity. Other algorithms repeatedly calculate the molecular energy while changing the electron configuration, searching for the minimum molecular energy. Other algorithms output the minimum molecular energy as the ground state energy.
[0024] The control unit 12 estimates the estimated execution times 15a, 15b, 15c and the estimated number of iterations 16a, 16b, 16c for interatomic distances 14a, 14b, 14c based on the molecular information 13. The estimated execution time 15a and estimated number of iterations 16a correspond to the interatomic distance 14a. The estimated execution time 15b and estimated number of iterations 16b correspond to the interatomic distance 14b. The estimated execution time 15c and estimated number of iterations 16c correspond to the interatomic distance 14c.
[0025] The estimated execution times 15a, 15b, and 15c are the times it takes for the algorithm to output one final molecular energy corresponding to one interatomic distance. Each of these estimated execution times includes the time required for the iteration process until the molecular energy converges. The estimated number of iterations 16a, 16b, and 16c are the number of iterations of the above process. The estimated execution times 15a, 15b, and 15c and the estimated number of iterations 16a, 16b, and 16c are estimates assuming no limit on the number of iterations of the algorithm; for example, they are estimates of the maximum execution time and the maximum number of iterations.
[0026] The control unit 12 may generate quantum circuit data from molecular information 13 for each of the multiple interatomic distances, and may estimate the estimation execution time using structural features of the quantum circuit data. Furthermore, the control unit 12 may execute other algorithms, such as the configuration interaction method or the coupled cluster method, for each of the multiple interatomic distances, and may estimate the number of iterations based on the results of the other algorithms. The results of the other algorithms may be measured values of the number of iterations of the iterative processes performed by the other algorithms.
[0027] The control unit 12 determines the number of iterations 18a, 18b, and 18c for the interatomic distances 14a, 14b, and 14c based on the time limit 17, estimated execution times 15a, 15b, and 15c, and estimated number of iterations 16a, 16b, and 16c. The number of iterations 18a corresponds to the interatomic distance 14a, the number of iterations 18b corresponds to the interatomic distance 14b, and the number of iterations 18c corresponds to the interatomic distance 14c.
[0028] The iteration counts 18a, 18b, and 18c are, for example, upper limits on the number of iterations of the algorithm described above, and correspond to the limited number of iterations. The iteration counts 18a, 18b, and 18c may be less than or equal to the corresponding estimated number of iterations, and at least some of the iteration counts 18a, 18b, and 18c may be less than the corresponding estimated number of iterations. For example, if the sum of the estimated execution times 15a, 15b, and 15c is less than or equal to the time limit of 17, the control unit 12 does not limit the number of iterations for any of the interatomic distances. On the other hand, if the sum of the estimated execution times 15a, 15b, and 15c exceeds the time limit of 17, the control unit 12 limits the number of iterations for at least one interatomic distance.
[0029] For example, the control unit 12 calculates a ratio from the sum of the estimated execution times 15a, 15b, and 15c to the time limit 17, and multiplies the estimated number of iterations 16a, 16b, and 16c by the calculated ratio to calculate the number of iterations 18a, 18b, and 18c. The ratio may be common to the interatomic distances 14a, 14b, and 14c, or it may be the time limit 17 divided by the sum of the estimated execution times 15a, 15b, and 15c. Also, the ratio may differ depending on the interatomic distance. For example, the control unit 12 weights the ratio such that the ratio of the number of iterations after the limit to the estimated number of iterations becomes smaller as the interatomic distance increases.
[0030] The control unit 12 calculates the molecular energies 19a, 19b, and 19c corresponding to the interatomic distances 14a, 14b, and 14c, based on the number of iterations 18a, 18b, and 18c, by executing the above algorithm. For example, the control unit 12 allows the algorithm to be iterated up to the number of iterations 18a, 18b, and 18c, and when it reaches the number of iterations 18a, 18b, and 18c, it forcibly stops the iteration process even if the molecular energies have not yet converged. In this case, the control unit 12 may output the molecular energies based on the results of the iterations up to the time of cessation, or it may output the molecular energies calculated in the last iteration.
[0031] The control unit 12 outputs molecular energies 19a, 19b, and 19c in association with interatomic distances 14a, 14b, and 14c. The control unit 12 may store the molecular energies 19a, 19b, and 19c in non-volatile storage, display them on a display device, or transmit them to another information processing device. The control unit 12 may also output other molecular energies corresponding to other interatomic distances calculated using other algorithms, together with the molecular energies 19a, 19b, and 19c. The information associating multiple interatomic distances with multiple molecular energies may take the form of a potential energy curve.
[0032] As described above, the information processing device 10 of the first embodiment estimates the estimated execution time and estimated number of iterations of an algorithm that calculates molecular energy using quantum circuit data for each of the multiple interatomic distances, based on the molecular information 13. Based on the time limit 17 and the estimated execution time and estimated number of iterations for each interatomic distance, the information processing device 10 determines the number of iterations for each interatomic distance. Based on the determined number of iterations, the information processing device 10 calculates the molecular energy for each interatomic distance by executing the algorithm.
[0033] As a result, the information processing device 10 can calculate molecular energies with high accuracy while taking into account the specified time limit 17, and can strike a balance between the time limit 17 and the accuracy of the molecular energies. Therefore, the information processing device 10 can efficiently calculate molecular energies corresponding to multiple interatomic distances in quantum chemical calculations.
[0034] Furthermore, the number of iterations determined for at least some interatomic distances may be less than the estimated number of iterations. This reduces the total execution time for multiple interatomic distances. For example, the total execution time can be kept below the time limit of 17. In addition, the molecular energies for many interatomic distances are calculated using an algorithm that utilizes quantum circuit data.
[0035] Furthermore, the information processing device 10 may determine an upper limit on the execution time for each interatomic distance based on the total estimated execution time and the time limit, and may also determine an upper limit on the number of iterations from the determined upper limit on execution time. This allows the number of iterations to be appropriately adjusted so that the execution time falls within a desired range by utilizing the proportional relationship between execution time and the number of iterations.
[0036] Furthermore, the ratio of the determined number of iterations to the estimated number of iterations may differ among several interatomic distances. This allows the information processing device 10 to utilize differences in trends to suppress a decrease in the accuracy of molecular energy when the trend of improvement in the accuracy of molecular energy with increasing iterations differs depending on the interatomic distance. Also, the ratio may be smaller as the interatomic distance increases. This allows the information processing device 10 to reduce execution time while suppressing a decrease in accuracy when the time required for molecular energy to reach near the convergence value and then converge completely is longer as the interatomic distance increases.
[0037] Furthermore, the information processing device 10 may forcibly stop the algorithm when the number of iterations performed reaches a predetermined number of iterations, and may output the molecular energy based on the results of the iterations up to the stop. This ensures that the molecular energy is output with the highest possible accuracy within the specified time limit 17.
[0038] Furthermore, the information processing device 10 may calculate molecular energies for other interatomic distances by executing other algorithms, and may output potential energy curve information that includes the molecular energies calculated by those other algorithms. This allows the information processing device 10 to efficiently generate potential energy curve information by using multiple algorithms. For example, if other algorithms can calculate molecular energies with sufficient accuracy in a short time for other interatomic distances (e.g., short interatomic distances), the algorithm described above will be executed only for those interatomic distances.
[0039] 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.
[0040] 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.
[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 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.
[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 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.
[0054] Potential energy 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 interatomic distance. The vertical axis of the potential energy curve represents 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 can be calculated from 0.8 Å to 2.8 Å 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] Figure 3 shows an example of the accuracy of the potential energy curve. 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 3 shows FCI (Full Configuration Interaction) as an algorithm with extremely high accuracy.
[0057] Curve 31 is the potential energy curve generated by FCI alone. Curve 32 is the potential energy curve generated by CCSD(T) alone. Curve 33 is the potential energy curve generated by VQE alone.
[0058] 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.
[0059] 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).
[0060] 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.
[0061] CCSD(T) often yields relatively good approximate solutions for FCI when interatomic distances are short. On the other hand, CCSD(T) may yield less accurate approximate solutions when interatomic distances are long. This is because, when interatomic distances are long, 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 larger errors in its approximate solutions. 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 true value, and may not stably converge towards the true value.
[0062] 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).
[0063] 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.
[0064] 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.
[0065] 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.
[0066] As shown in curves 32 and 33, the accuracy of CCSD(T) can be significantly lower than that of VQE when the interatomic distance is long. 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 that of CCSD(T). In this respect, the information processing device 100 cannot ignore the execution time required to generate the potential energy curve, and it is sometimes required to generate the potential energy curve within or below the time limit specified by the user.
[0067] Therefore, the information processing device 100 generates a potential energy curve with the highest possible accuracy within a time limit specified by the user, by automatically selecting an algorithm. The information processing device 100 uses the CCSD(T) energy for short distances and the VQE energy for long distances. At this time, the distance at which the accuracy of CCSD(T) begins to decrease significantly differs depending on the type of molecule. Therefore, the information processing device 100 automatically selects the distance to be used for VQE based on the results of the CCSD(T) execution.
[0068] In the second embodiment, the information processing device 100 first performs CCSD(T) for all distances. It is assumed that the execution time of CCSD(T) is negligibly short. Next, the information processing device 100 analyzes the number of CCSD(T) iterations for each distance, detects boundary points where the accuracy of CCSD(T) begins to decrease, and selects the distances after the boundary points as targets for VQE. The information processing device 100 then performs additional VQE for the selected distances.
[0069] At this time, the information processing device 100 estimates the execution time and number of iterations that VQE normally requires for each selected distance until the energy converges. If the total execution time exceeds the time limit when VQE is performed normally for all selected distances, the information processing device 100 complies with the time limit by limiting the number of VQE iterations. When the number of VQE iterations is limited, VQE may be terminated before the energy converges.
[0070] Next, we will explain boundary point detection. Figure 4 shows an example of the relationship between interatomic distance and the number of iterations of the classical algorithm. Curve 34 shows the relationship between interatomic distance and the number of iterations of CCSD(T). As mentioned above, the longer the distance, the lower the accuracy of CCSD(T), and the longer the distance, the more iterations of CCSD(T) are required. When the accuracy of CCSD(T) begins to decrease, the number of iterations of CCSD(T) increases significantly.
[0071] Therefore, the information processing device 100 measures and records the number of iterations of CCSD(T) as it outputs energy for each distance. The information processing device 100 scans the number of iterations of CCSD(T) in ascending order of distance, and when it detects a significant increase in the number of iterations, it determines that the accuracy of CCSD(T) has begun to decline.
[0072] For example, the information processing device 100 fits a regression line using the least squares method from a fixed number of recent distances and iterations (for example, the last 5 distances and iterations) and calculates the slope of the regression line. The information processing device 100 determines whether the latest slope is greater than the slope calculated at the time of the previous distance. If the slope increases for a fixed number of consecutive times (for example, if it increases for 3 consecutive times), the information processing device 100 considers the distance at that point as a boundary point. The information processing device 100 selects the boundary point and each distance greater than it as VQE targets. However, the boundary point may be excluded from the VQE targets, and the information processing device 100 may select each distance greater than the boundary point as a VQE target.
[0073] In the example of curve 34, at a distance of 1.4 Å, a regression line with a slope of 0 is calculated from the number of iterations from 1.0 Å to 1.4 Å. At a distance of 1.5 Å, a regression line with a positive slope is calculated from the number of iterations from 1.1 Å to 1.5 Å. At a distance of 1.6 Å, a regression line with a greater slope than that at 1.5 Å is calculated from the number of iterations from 1.2 Å to 1.6 Å. At a distance of 1.7 Å, a regression line with a greater slope than that at 1.6 Å is calculated from the number of iterations from 1.3 Å to 1.7 Å. Therefore, the information processing device 100 selects each distance from 1.7 Å onwards (or from 1.8 Å onwards) as a target for VQE.
[0074] Figure 5 shows an example of the error and the slope of the number of iterations for a classical algorithm. Curve 35 shows the absolute value of the error in the energy calculated by CCSD(T) relative to the energy calculated by FCI. As shown in curve 35, the error of CCSD(T) increases sharply from a distance of 1.5 Å to a distance of 2.0 Å. Curve 36 shows the slope of the number of iterations for the five most recent points. As shown in curve 36, the slope of the number of iterations for CCSD(T) increases continuously from a distance of 1.5 Å to a distance of 2.0 Å. Therefore, the information processing device 100 can detect that the error has begun to increase significantly by monitoring the slope of the number of iterations.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] 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.
[0079]
number
[0080] A time model that calculates the expected execution time per iteration is defined, for example, as shown in equation (2). In equation (2), y is the target variable representing the execution time per iteration, and n is the number of records included in the training data. The training data for training the time model includes (x1, y1), ..., (x n ,y n The record contains n records, each being a pair of values for an explanatory variable and an objective variable.
[0081] [Mathematics]
[0082] 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. The \(K\) in Equation (2) n is an \(n\times n\) square matrix generated from the values of the explanatory variables included in the training data. The \(i\)-th row and \(j\)-th column component 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\times 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. \(\lambda\) is a constant greater than 0.
[0083] The information processing apparatus 100 can also use a time model that takes into account the risk that the execution time for each actual iteration fluctuates 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), \(\alpha\) is a constant greater than 0 and less than or equal to 1. \(\psi\) ν (\(y\)) and \(U\) are defined as in Equation (4).
[0084] [Mathematics]
[0085] [Mathematics]
[0086] 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).
[0087]
number
[0088]
number
[0089] 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).
[0090]
number
[0091] 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).
[0092]
number
[0093] 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.
[0094] 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).
[0095]
number
[0096] 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.
[0097]
number
[0098] 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(zi It is a column vector where λ is a constant greater than 0.
[0099] 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.
[0100]
number
[0101] 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.
[0102]
number
[0103] Figure 6 shows an example of VQE execution time estimation. Hereafter, the process of calculating the energy corresponding to a single 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.
[0104] 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.
[0105] 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 correct label and is measured by performing VQE on the molecular information of the sample.
[0106] 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. In the second embodiment, the number of iterations of the classical algorithm is, for example, the number of iterations of CCSD(T). The number of iterations of VQE is output data for the iterative model.
[0107] 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 correct label and is measured by running VQE.
[0108] 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.
[0109] In this way, the information processing device 100 calculates the estimated execution time and estimated number of VQE iterations for each VQE target distance before performing VQE. Next, the adjustment of the VQE execution time will be explained. The information processing device 100 sets an upper limit on the number of VQE iterations for each distance so that all of the energy for the VQE target distance can be calculated within the time limit, thereby adjusting the VQE execution time for each distance.
[0110] Figure 7 shows a first example of adjusting the execution time of VQE. Execution time adjustment table 135 shows the reduction in execution time and the reduction in the number of iterations for each distance. The reduction in execution time may also be called execution time reduction, and the reduction in the number of iterations may also be called iteration reduction. For simplicity, we assume here that three distances, 2.1 Å, 2.2 Å, and 2.3 Å, are selected as the distances to be targeted by VQE.
[0111] The estimated execution time for a distance of 2.1 Å is 2400 seconds, and the estimated number of iterations for a distance of 2.1 Å is 60. The estimated execution time for a distance of 2.2 Å is 2800 seconds, and the estimated number of iterations for a distance of 2.2 Å is 70. The estimated execution time for a distance of 2.3 Å is 3200 seconds, and the estimated number of iterations for a distance of 2.3 Å is 80. Therefore, the estimated execution time per iteration is 40 seconds, which is common to distances of 2.1 Å, 2.2 Å, and 2.3 Å. However, the estimated execution time per iteration may differ depending on the distance.
[0112] In contrast, let's assume that the time limit specified by the user is 4800 seconds. The total estimated execution time is 8400 seconds, and if VQE is executed normally, there is a high probability that VQE will not finish within the time limit. Therefore, the information processing device 100 determines the reduced execution time for each distance by referring to the estimated execution time. Then, the information processing device 100 determines the number of reduced iterations from the estimated number of iterations according to the ratio of the reduced execution time to the estimated execution time. This number of reduced iterations is set as the upper limit for the number of VQE iterations.
[0113] For example, the information processing device 100 determines the reduced execution time for a distance of 2.1 Å to be 1200 seconds, for a distance of 2.2 Å to be 1600 seconds, and for a distance of 2.3 Å to be 2000 seconds. The total reduced execution time is 4800 seconds, which fits within the time limit. For a distance of 2.1 Å, the information processing device 100 multiplies the estimated number of iterations by the ratio of the reduced execution time to the estimated execution time, which is 50%, to determine the number of reduced iterations to be 30.
[0114] Furthermore, for a distance of 2.2 Å, the information processing device 100 determines the number of reduced iterations to be 40 by multiplying the estimated number of iterations by the ratio of the reduced execution time to the estimated execution time, which is 57%. Similarly, for a distance of 2.3 Å, the information processing device 100 determines the number of reduced iterations to be 50 by multiplying the estimated number of iterations by the ratio of the reduced execution time to the estimated execution time, which is 63%. However, the information processing device 100 may also calculate the number of reduced iterations by dividing the reduced execution time by the estimated execution time for each iteration.
[0115] Next, we will explain how to allocate reduced execution time among multiple VQE target distances. One example of an allocation method is a uniform allocation where the ratio of reduced execution time to estimated execution time is the same for all VQE target distances. Another example of an allocation method is a gradual allocation where the ratio of reduced execution time to estimated execution time is changed according to the VQE target distance.
[0116] Figure 8 shows a second example of adjusting the execution time of VQE. Execution time adjustment table 136 shows the reduction in execution time for each distance. Here, five distances from 2.1 Å to 2.5 Å are selected as VQE target distances.
[0117] The estimated execution time for a distance of 2.1 Å is 500 seconds, for 2.2 Å it is 600 seconds, for 2.3 Å it is 700 seconds, for 2.4 Å it is 800 seconds, and for 2.5 Å it is 900 seconds. Therefore, the total estimated execution time is 3500 seconds. Against this, we assume that the time limit specified by the user is 2500 seconds. Furthermore, the information processing device 100 determines the reduced execution time for each distance by uniform allocation.
[0118] In this case, the information processing device 100 calculates a common ratio α of 0.7 for all VQE target distances by dividing the time limit by the sum of the estimated execution times. The information processing device 100 determines the reduced execution time by multiplying the estimated execution time for each distance by the ratio α. Therefore, the reduced execution time for a distance of 2.1 Å is 350 seconds, for a distance of 2.2 Å it is 420 seconds, for a distance of 2.3 Å it is 490 seconds, for a distance of 2.4 Å it is 560 seconds, and for a distance of 2.5 Å it is 630 seconds. The total reduced execution time is 2450 seconds, which is within the time limit of 2500 seconds specified by the user.
[0119] Figure 9 shows a third example of adjusting the execution time of VQE. The execution time adjustment table 137 shows the reduction in execution time for each distance. The VQE target distance, estimated execution time, and time limit are the same as in the case of execution time adjustment table 136. However, the information processing device 100 determines the reduced execution time by a tiered allocation rather than a uniform allocation.
[0120] In VQE, the longer the interatomic distance, the longer the waiting time for the energy to completely converge after it approaches the convergence value tends to be. Therefore, the longer the interatomic distance, the smaller the ratio α of the reduced execution time to the estimated execution time, but this has less impact on the accuracy of the calculated energy. Accordingly, the information processing device 100 determines the reduced execution time such that the ratio α becomes smaller as the VQE target distance increases.
[0121] As an example, the information processing device 100 calculates the ratio α of each of the multiple VQE target distances using the linear form 0.9 - β × x. However, the ratio α may also be calculated using a nonlinear formula. x is a non-negative integer index indicating the order of the multiple VQE target distances. For the smallest VQE target distance, x = 0, and for the next smallest VQE target distance, x = 1. Thereafter, for each step in the length of the VQE target distance, x increases by 1. β is a non-negative coefficient determined from the relationship between the estimated execution time and the time limit.
[0122] For example, the information processing device 100 starts with β=0 and gradually increases β while comparing the total execution time after reduction with the time limit. The larger β is, the smaller the total execution time after reduction becomes. The information processing device 100 searches for the smallest β that makes the total execution time after reduction less than or equal to the time limit, and uses that β to determine the execution time after reduction for each VQE target distance. As an example, the information processing device 100 determines β=0.1.
[0123] Then, at a distance of 2.1 Å, the ratio α is 0.9, and the reduced execution time is 450 seconds. At a distance of 2.2 Å, the ratio α is 0.8, and the reduced execution time is 480 seconds. At a distance of 2.3 Å, the ratio α is 0.7, and the reduced execution time is 490 seconds. At a distance of 2.4 Å, the ratio α is 0.6, and the reduced execution time is 480 seconds. At a distance of 2.5 Å, the ratio α is 0.5, and the reduced execution time is 450 seconds. The total reduced execution time is 2350 seconds, which is within the user-specified time limit of 2500 seconds.
[0124] Figure 10 shows an example of the accuracy of the potential energy curve when execution time is reduced. Curve 41 is the potential energy curve that shows the energy calculated by FCI and is interpreted as the correct potential energy curve.
[0125] Curve 42 is the potential energy curve showing the energy calculated by VQE with the total execution time limited to 50% of the normal time. The potential energy curve showing the energy calculated by VQE without execution time limitations is similar to curve 42 and is therefore omitted from Figure 10. Curve 43 is the potential energy curve showing the energy calculated by VQE with the total execution time limited to 30% of the normal time.
[0126] Figure 11 shows examples of VQE errors. Curve 44 shows the error between the energy calculated by VQE with no execution time limit and the energy calculated by FCI. Curve 45 shows the error between the energy calculated by VQE with the total execution time limited to 50% of the normal limit and the energy calculated by FCI. Curve 46 shows the error between the energy calculated by VQE with the total execution time limited to 30% of the normal limit and the energy calculated by FCI.
[0127] As shown in curves 41-46, even with long interatomic distances, highly accurate energies can be calculated using VQE. Furthermore, reducing the total execution time of VQE by about 50% has little impact on the accuracy of the calculated energies. Next, the functions of the information processing device 100 and the procedure for quantum chemical calculations using the information processing device 100 will be explained.
[0128] Figure 12 is a block diagram showing an example of the functions of an information processing device. The information processing device 100 includes 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.
[0129] 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.
[0130] 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.
[0131] 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 number of iterations of the VQE for each VQE target distance. Finally, the control data storage unit 122 stores the energy calculated by the VQE for each VQE target distance.
[0132] 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.
[0133] The CCSD execution unit 124 executes a classical algorithm based on the specified molecular information and basis functions in response to instructions from the algorithm control unit 126. For example, CCSD(T) is executed as the classical algorithm. However, CCSD may also be executed. 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.
[0134] 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 generates a quantum circuit as a preprocessing step based on the molecular information and basis functions, and outputs the generated quantum circuit to the algorithm control unit 126. The VQE execution unit 125 also repeatedly measures energy using the quantum circuit, calculates the ground energy for each piece of molecular information corresponding to one VQE target distance, and outputs it to the algorithm control unit 126.
[0135] However, the algorithm control unit 126 may specify an upper limit on the number of iterations. In that case, the VQE execution unit 125 executes VQE so that the number of iterations does not exceed the upper limit. If the energy does not yet meet the convergence condition even after the number of iterations reaches the upper limit, the VQE execution unit 125 forcibly stops VQE and outputs the last energy before convergence.
[0136] The algorithm control unit 126 accepts a time limit from the user. Based on the execution results of the classical algorithm, the algorithm control unit 126 determines the VQE target distance and limits the number of iterations for each VQE target distance so that the total execution time is less than or equal to the time limit.
[0137] First, the algorithm control unit 126 has the CCSD execution unit 124 calculate the energy for all distances and obtains the energy and iteration count of the classical algorithm. The algorithm control unit 126 scans the iteration counts of the classical algorithm in ascending order of distance, detects boundary points where the iteration count increases sharply, and selects each distance after the boundary point as the VQE target distance.
[0138] Next, the algorithm control unit 126 has the VQE execution unit 125 perform preprocessing for each VQE target distance to obtain feature quantities of the quantum circuit structure. Using the machine learning model stored in the estimation model storage unit 123, the algorithm control unit 126 estimates the execution time and number of iterations for each VQE target distance from the feature quantities of the quantum circuit and the number of iterations of the classical algorithm.
[0139] The algorithm control unit 126 determines the number of reduced iterations for each VQE target distance according to a certain calculation method, based on the estimated execution time and estimated number of iterations for each VQE target distance and the specified time limit. The algorithm control unit 126 instructs the VQE execution unit 125 to perform VQE so that the number of iterations does not exceed the number of reduced iterations.
[0140] 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.
[0141] 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.
[0142] Figure 13 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, and time limit. The distance list shows multiple distances for which to calculate the energy.
[0143] (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.
[0144] (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. The algorithm control unit 126 sorts the number of iterations of the classical algorithm in ascending order of distance. The algorithm control unit 126 creates a window with width W that can hold W iterations and places it on the side with the smallest distance. W is an integer greater than or equal to 2, for example, W=5.
[0145] (S13) The algorithm control unit 126 calculates a regression line from the W iteration counts included in the window using the least squares method. (S14) The algorithm control unit 126 calculates the regression line in step S13 T+1 times or more and determines whether the slope of the regression line has increased T times consecutively. T is an integer greater than or equal to 1, for example, T=3. If the slope has increased T times consecutively, the process proceeds to step S16. If the number of times the regression line has been calculated is T or less, or if the slope has not increased T times consecutively, the process proceeds to step S15.
[0146] (S15) The algorithm control unit 126 shifts the window in the direction that increases the distance by one step. Then, the process returns to step S13. (S16) The algorithm control unit 126 determines the longest distance within the window and any distance longer than that as the VQE target distances.
[0147] (S17) The VQE execution unit 125 generates quantum circuits to be used in VQE based on molecular information for each VQE target distance determined in step S16. (S18) The algorithm control unit 126 determines the number of qubits, the depth of the Ansatz circuit, and the number of Hamiltonian terms from the quantum circuit generated in step S17.
[0148] (S19) 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.
[0149] (S20) 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 into account robustness and uncertainty, for example.
[0150] (S21) The algorithm control unit 126 estimates the execution time of VQE by multiplying the execution time for each iteration in step S19 by the number of iterations in step S20. Figure 14 is a flowchart (continued) showing an example of the procedure for quantum chemical calculations. (S22) The algorithm control unit 126 sums the estimated execution times calculated in step S21 for multiple VQE target distances.
[0151] (S23) The algorithm control unit 126 determines whether the total estimated execution time is less than or equal to the time limit. If the total estimated execution time is less than or equal to the time limit, the process proceeds to step S24. If the total estimated execution time exceeds the time limit, the process proceeds to step S25.
[0152] (S24) The VQE execution unit 125 calculates the energy of each of the multiple VQE target distances by performing VQE without limiting the number of iterations. The algorithm control unit 126 records the calculated VQE energy. Then the process proceeds to step S28.
[0153] (S25) The algorithm control unit 126 reduces the execution time for each VQE target distance from the estimated execution time based on the time limit. At this time, the algorithm control unit 126 makes sure that the sum of the reduced execution times is less than or equal to the time limit. The ratio of the reduced execution time to the estimated execution time may be the same for all VQE target distances, or it may differ depending on the VQE target distance.
[0154] (S26) The algorithm control unit 126 calculates the number of reduced iterations for each VQE target distance based on the reduced execution time calculated in step S25. For example, the algorithm control unit 126 calculates the number of reduced iterations such that the ratio of the reduced execution time to the estimated execution time and the ratio of the reduced iterations to the estimated iterations are the same.
[0155] (S27) The VQE execution unit 125 calculates the energy for each of the multiple VQE target distances by performing VQE so that the number of iterations does not exceed the reduced number of iterations in step S26. If the number of iterations reaches the reduced number of iterations, the VQE execution unit 125 forcibly stops VQE even if the energy has not converged and outputs the last calculated energy.
[0156] (S28) The algorithm control unit 126 replaces the energy of the classical algorithm calculated in step S11 with the energy of the VQE calculated in step S27 for the distances included in the distance list that are subject to VQE.
[0157] (S29) The energy visualization unit 127 generates a potential energy curve from multiple energies corresponding to multiple distances after substitution in step S28. The energy visualization unit 127 displays the generated potential energy curve.
[0158] 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.
[0159] Furthermore, the information processing device 100 calculates the energy for all interatomic distances using a classical algorithm with a short execution time, and then recalculates the energy for some longer interatomic distances using a more accurate VQE algorithm. This allows the information processing device 100 to efficiently generate potential energy curves while balancing accuracy and execution time.
[0160] Furthermore, the information processing device 100 detects boundary points where the number of iterations of the classical algorithm increases sharply, and selects the distance from the boundary point onward as the VQE target distance. This automatically determines interatomic distances where the accuracy of the classical algorithm decreases, reducing the risk that interatomic distances for which recalculating the energy using VQE is preferable may be missed from the selection.
[0161] Furthermore, the information processing device 100 limits the number of iterations for each of the multiple VQE target distances so that the total execution time of VQE remains below the time limit. This improves the overall accuracy of the potential energy curve compared to the case where VQE is actually performed on only some of the VQE target distances without limiting the number of iterations. For example, it reduces the risk of generating an unnatural potential energy curve where there is a discontinuity between the low-accuracy energy calculated by the classical algorithm and the high-accuracy energy calculated by VQE.
[0162] Furthermore, the information processing device 100 estimates the execution time and number of iterations of the VQE using a trained machine learning model based on the structural features of the quantum circuit and the measured number of iterations of the classical algorithm. This allows for highly accurate estimation of the VQE execution time and number of iterations before the VQE is actually executed. Therefore, the information processing device 100 can generate a potential energy curve with the highest possible accuracy while adhering to the time limit specified by the user.
[0163] Furthermore, the information processing device 100 may reduce the ratio of the reduced execution time to the estimated execution time and tighten the limit on the number of iterations as the VQE target distance increases. This reduces the impact on accuracy caused by reducing the total execution time.
[0164] 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]
[0165] 10 Information Processing Devices 11 Storage section 12 Control Unit 13 Molecular information 14a,14b,14c Interatomic distance 15a, 15b, 15c Estimated execution time 16a, 16b, 16c Estimated number of iterations 17. Time limit 18a, 18b, 18c Number of repetitions 19a, 19b, 19c Molecular energy
Claims
1. Based on molecular information representing the molecule to be analyzed, the estimated execution time of a first algorithm that calculates molecular energy using quantum circuit data for each of multiple interatomic distances, and the estimated number of iterations of the iterative processing performed during the estimated execution time are estimated. Based on the specified time limit and the estimated execution time and estimated number of iterations for each of the multiple interatomic distances, the number of iterations for each of the multiple interatomic distances is determined. Based on the determined number of iterations, the molecular energy for each of the multiple interatomic distances is calculated by executing the first algorithm. A molecular simulation program characterized by having a computer perform the processing.
2. The number of iterations determined for at least some of the interatomic distances among the plurality of interatomic distances is smaller than the estimated number of iterations. The molecular simulation program according to feature 1.
3. The determination includes a process of determining an upper limit on the execution time for each of the multiple interatomic distances based on the sum of the estimated execution times for the multiple interatomic distances and the time limit, and determining an upper limit on the number of iterations based on the upper limit on the execution time and the estimated number of iterations. The molecular simulation program according to feature 1.
4. The ratio of the determined number of iterations to the estimated number of iterations differs among the plurality of interatomic distances. The molecular simulation program according to feature 1.
5. The larger the interatomic distance among the aforementioned multiple interatomic distances, the smaller the ratio. The molecular simulation program according to feature 4.
6. The calculation of the molecular energy includes a process in which, when the number of iterations performed reaches the determined number of iterations, the first algorithm is stopped and the molecular energy is output based on the results of the iterations up to the stop. The molecular simulation program according to feature 1.
7. The computer is further instructed to perform a process that calculates the molecular energy for interatomic distances other than the aforementioned plurality of interatomic distances by executing a second algorithm different from the first algorithm, and outputs potential energy curve information that associates the plurality of interatomic distances and the other interatomic distances with the molecular energy. The molecular simulation program according to feature 1.
8. Based on molecular information representing the molecule to be analyzed, the estimated execution time of a first algorithm that calculates molecular energy using quantum circuit data for each of multiple interatomic distances, and the estimated number of iterations of the iterative processing performed during the estimated execution time are estimated. Based on the specified time limit and the estimated execution time and estimated number of iterations for each of the multiple interatomic distances, the number of iterations for each of the multiple interatomic distances is determined. Based on the determined number of iterations, the molecular energy for each of the multiple interatomic distances is calculated by executing the first algorithm. A molecular simulation method characterized by the processing being performed by a computer.
9. 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 estimated execution time of a first algorithm for calculating molecular energy using quantum circuit data for each of the plurality of interatomic distances, and estimates the number of iterations of the iterative processing performed during the estimated execution time, determines the number of iterations for each of the plurality of interatomic distances based on a specified time limit and the estimated execution time and the estimated number of iterations for each of the plurality of interatomic distances, and calculates the molecular energy for each of the plurality of interatomic distances by executing the first algorithm based on the determined number of iterations, An information processing device characterized by having the following features.