Non-transitory computer-readable storage medium, loop number adjustment method, and information processing apparatus
The loop number adjustment method in quantum chemical calculations optimizes loop limits using coupled cluster methods' energy values, addressing prolonged execution times and ensuring accuracy in CI calculations.
Patent Information
- Application Number
- JP2024113973
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-17
- Publication Date
- 2026-01-29
AI Technical Summary
Conventional quantum chemical calculations using the CI method face challenges in determining the appropriate upper limit of loops, leading to prolonged execution times without ensuring accuracy.
A loop number adjustment method that determines the maximum number of loops based on energy values obtained from coupled cluster methods, specifically using the CCSD and CCSD(T) methods, to optimize loop numbers in CI calculations.
This approach allows for adjusting the maximum number of loops in CI calculations, reducing execution time while maintaining accuracy by setting optimal loop limits.
Smart Images

Figure 2026013554000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a loop number adjustment program, a loop number adjustment method, and an information processing device. [Background technology]
[0002] Quantum chemical calculations are a technique for analyzing molecular structures, material properties, reactivity, etc. by calculating the behavior of atoms and electrons. For example, the CI (Configuration Interaction) method is sometimes used in quantum chemical calculations. The CI method is a quantum chemical calculation method based on the principle of interactions that occur between electron configurations within atoms or molecules.
[0003] As a prior art, there is a technique in which, for each of a plurality of molecular orbital pairs, which are combinations of two molecular orbitals included in a plurality of molecular orbitals possessed by a target molecule, an overlap integral value between the included molecular orbitals is calculated, and a first molecular orbital to be included in an active space orbital group in a quantum chemical calculation is determined based on the overlap integral value of each of the plurality of molecular orbital pairs. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] International Publication No. 2022 / 097298 Summary of the Invention [Problem to be solved by the invention]
[0005] However, in the conventional technology, it is difficult to appropriately determine the upper limit of the number of loops in quantum chemical calculations using the CI method (configuration interaction method), which ultimately leads to a problem of prolonging the execution time of quantum chemical calculations using the CI method.
[0006] In one aspect, the present invention aims to adjust the maximum number of loops in quantum chemical calculations using the CI method (configuration interaction method). [Means for solving the problem]
[0007] In one embodiment, a loop number adjustment program is provided that determines the maximum loop number when performing a quantum chemical calculation using a configuration interaction method on a target substance, based on a first energy value obtained by a quantum chemical calculation using a first coupled cluster method, a second energy value obtained by a quantum chemical calculation using a second coupled cluster method that has a different maximum excitation number from the first coupled cluster method, and the loop number of the first coupled cluster method when the first energy value was obtained. [Effects of the Invention]
[0008] According to one aspect of the present invention, it is possible to adjust the maximum number of loops in quantum chemical calculations using the CI method (configuration interaction method). [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is an explanatory diagram illustrating an example of a method for adjusting the number of loops according to an embodiment. [Figure 2] FIG. 2 is an explanatory diagram showing the relationship between the convergence condition determination and the number of loops. [Figure 3] FIG. 3 is an explanatory diagram illustrating an example of an information processing system 300. As shown in FIG. [Figure 4] FIG. 4 is a block diagram showing an example of the hardware configuration of the information processing device 100. As shown in FIG. [Figure 5] FIG. 5 is a block diagram showing an example of the functional configuration of the information processing device 100. As shown in FIG. [Figure 6] FIG. 6 is an explanatory diagram showing an example of the contents stored in the coefficient table 600. As shown in FIG. [Figure 7] FIG. 7 is an explanatory diagram showing an example of calculation of the value of the coefficient k corresponding to the difference interval. [Figure 8] FIG. 8 is a flowchart showing an example of a loop count adjustment process procedure of the information processing device 100. [Figure 9]FIG. 9 is a flowchart showing an example of a specific processing procedure for quantum chemical calculations using the FCI method. [Figure 10] FIG. 10 is an explanatory diagram (part 1) showing an example of reduction in execution time when this method for adjusting the number of loops is applied. [Figure 11] FIG. 11 is an explanatory diagram (part 2) showing an example of reduction in execution time when this method for adjusting the number of loops is applied. DETAILED DESCRIPTION OF THE INVENTION
[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, with reference to the accompanying drawings, embodiments of a loop number adjustment program, a loop number adjustment method, and an information processing device according to the present invention will be described in detail.
[0011] (Embodiment) 1 is an explanatory diagram showing an example of a loop number adjustment method according to an embodiment. In FIG. 1, an information processing device 100 is a computer that determines the maximum loop number when performing quantum chemical calculations using the CI method (Configuration Interaction Method) on a target substance. The target substance is a substance that is to be analyzed by quantum chemical calculations.
[0012] The target substance is, for example, an atom or a molecule. The maximum loop number is the upper limit of the number of loops (repetitions) when calculating energy values by iterative calculation in quantum chemistry calculations using the CI method. The CI method is one of the quantum chemistry calculation methods. Quantum chemistry calculations are a technique for analyzing molecular structures, material properties, reactivity, etc.
[0013] For example, quantum chemical calculations calculate the distances and angles between atoms to identify molecular structures that allow us to understand the shapes and angles at which molecules are connected. Quantum chemical calculations also analyze reactivity to understand the ease and mechanisms of chemical reactions, such as how much energy is needed to dissociate atoms.
[0014] One of the CI methods is the FCI (Full CI: Total Configuration Interaction) method, which is used to obtain exact solutions. The FCI method is sometimes used as the accuracy standard for other quantum chemistry calculation methods. For example, with the recent development of quantum computers, the VQE (Variational Quantum Eigensolver) method has become important, and the FCI method is sometimes used to evaluate the VQE method.
[0015] In theory, quantum chemical calculations aim to find an exact solution to the Schrödinger equation. However, it is difficult to solve the Schrödinger equation directly. For example, in the FCI method, the wave function is approximated by a linear combination of multiple Slater determinants, so if the Schrödinger equation were to be solved directly, the size of the Hamiltonian matrix would become enormous.
[0016] For this reason, the Davidson iteration method, for example, is often used as a solution method for quantum chemical calculations using the FCI method. The Davidson iteration method uses a subspace Hamiltonian matrix instead of a full-size Hamiltonian matrix. In the Davidson iteration method, a subspace Hamiltonian matrix is constructed by iteratively calculating Y=HX, and the eigenvalues of the Hamiltonian matrix are updated.
[0017] X is the trial vector. H is the Hamiltonian operator corresponding to the subspace. The Davidson iteration method repeatedly performs iterative calculations until a predetermined convergence condition is met or the maximum number of loops is reached. When the maximum number of loops is reached, the iterative calculations end even if the convergence condition is not met.
[0018] In the conventional Davidson iteration method, it is difficult to determine how many iterations are required to achieve convergence, so an excessively large fixed value (e.g., 100) is often set as the maximum number of iterations. However, there are cases where convergence does not occur even when the iterative calculation is performed up to the maximum number of iterations.
[0019] Here, using FIG. 2, the case of performing quantum chemical calculations using the FCI method for a certain molecule (for example, SiC) by the conventional Davidson iterative method will be described. Here, the maximum number of loops is set to "100 times".
[0020] FIG. 2 is an explanatory diagram showing the relationship between the convergence condition determination and the number of loops. In FIG. 2, graph 201 shows the change in max_dx_norm (○ in FIG. 2) according to the number of loops. Graph 202 shows the change in Δe (● in FIG. 2) according to the number of loops. max_dx_norm is the normalization result of the residual vector based on the trial vector X.
[0021] Δe is the absolute value of the difference in the eigenvalues e of the Hamiltonian matrix. max_dx_norm and Δe are values to be compared with the convergence condition. Here, it is assumed that the convergence condition is satisfied when "Δe < tol" and "max_dx_norm < sqrt(tol)". In FIG. 2, line 210 indicates sqrt(tol). Line 220 indicates tol.
[0022] In the example of FIG. 2, even if the iterative calculation is executed up to the maximum number of loops (100 times), the convergence condition is not satisfied. Thus, when it does not converge even after executing up to the maximum number of loops, there is a problem that the larger the maximum number of loops, the more wasteful processing occurs, leading to an increase in the execution time required for the quantum chemical calculation. On the other hand, if the maximum number of loops is made too small, it becomes difficult to maintain the accuracy of the quantum chemical calculation.
[0023] Here, there are times when it seems that the convergence condition will be satisfied around 30 loops, and it is assumed that the calculation result obtained at that time is almost the same as the calculation result obtained by executing up to the maximum number of loops. In this case, if the maximum number of loops can be set to about 30 times, it is possible to reduce wasteful processing and shorten the execution time required for the quantum chemical calculation.
[0024] Therefore, in this embodiment, a loop number adjustment method is described in which the maximum loop number when using the CI method is determined by utilizing the loop number when calculating energy values using the coupled cluster method, which tends to have a shorter execution time than the CI method (Configuration Interaction Method). Here, an example of processing performed by the information processing device 100 is described.
[0025] The information processing device 100 determines the maximum number of loops (Max_loop) for a target molecule 101 when performing quantum chemical calculations using the configuration interaction method (CI method) based on a first energy value E1, a second energy value E2, and a loop number lp. Here, the target molecule 101 is an example of a target substance. The first energy value E1 is an energy value obtained for the target molecule 101 by quantum chemical calculations using the first coupled cluster method.
[0026] The second energy value E2 is an energy value obtained by quantum chemical calculation using the second coupled cluster method. Both the first and second coupled cluster methods are coupled cluster methods (CC (Coupled Cluster) methods). Like the CI method, the coupled cluster method is a quantum chemical calculation method that uses iterative calculations.
[0027] The first and second coupled cluster methods differ in the maximum number of excitations that can be considered. An example of the first coupled cluster method is the CCSD (Coupled Cluster singles and doubles) method. The CCSD method considers up to two excitations.
[0028] The second coupled-cluster method is, for example, the CCSD(T) (CCSD parenthesis triples) method. CCSD(T) considers up to three electron excitations. The loop number lp is the loop number of the first coupled-cluster method when the first energy value E1 is obtained for the target molecule 101.
[0029] For example, the first coupled cluster method is referred to as the "CCSD method," and the second coupled cluster method is referred to as the "CCSD(T) method." In this case, the first energy value E1 is the energy value when the convergence condition is satisfied in the quantum chemical calculation using the CCSD method. The second energy value E2 is the energy value when the convergence condition is satisfied in the quantum chemical calculation using the CCSD(T) method. The loop number lp is the loop number when the convergence condition is satisfied in the quantum chemical calculation using the CCSD method. Note that the loop number lp may be the loop number when the convergence condition is satisfied in the quantum chemical calculation using the CCSD(T) method.
[0030] Specifically, for example, the information processing device 100 determines the maximum number of loops Max_loop for the target molecule 101 based on the absolute difference E_diff between the first energy value E1 and the second energy value E2 and the number of loops lp.
[0031] Here, the absolute difference E_diff is the difference between the energy values obtained using two coupled-cluster methods with different maximum excitation numbers, and corresponds to the excitation energy value. For example, if the first coupled-cluster method is the "CCSD method" and the second coupled-cluster method is the "CCSD(T)" method, the absolute difference E_diff corresponds to the energy value of three electron excitations.
[0032] The absolute difference E_diff can be an index for determining whether electrons are becoming more active. For example, if the target molecule 101 is an electron-active molecule, it can be said that convergence is difficult with a small number of loops. On the other hand, if the target molecule 101 is a stable molecule, it can be said that convergence is easy with a small number of loops.
[0033] Therefore, the number of loops at convergence depends on the properties of the molecule. Furthermore, the first coupled cluster method (e.g., CCSD method) is a type of iterative method, similar to the CI method (configuration interaction method). Therefore, for the same molecule, the number of loops lp at convergence in quantum chemistry calculations using the first coupled cluster method can be said to correlate with the number of loops in quantum chemistry calculations using the CI method. The number of loops in quantum chemistry calculations using the CI method is, for example, the number of loops at convergence in quantum chemistry calculations using the CI method, or the number of loops that gives results with the same degree of accuracy as the number of loops at convergence.
[0034] Furthermore, the calculation time for the first coupled cluster method tends to be significantly shorter than that for CI methods (e.g., FCI). For example, the calculation time for the CCSD method is on the order of a few seconds, while that for the FCI method is on the order of a few hours. The calculation time for the CCSD method is small enough to be negligible compared to that for the FCI method. The calculation time for the CCSD(T) method is also on the order of a few tens of seconds, which is shorter than that for the FCI method.
[0035] Therefore, the information processing device 100 determines the maximum number of loops Max_loop in the CI method according to the absolute difference value E_diff, using the number of loops lp as a reference. Specifically, for example, the information processing device 100 may determine the maximum number of loops Max_loop based on the number of loops lp so that the value of the maximum number of loops Max_loop increases as the absolute difference value E_diff increases. Alternatively, the information processing device 100 may determine the maximum number of loops Max_loop based on the number of loops lp so that the value of the maximum number of loops Max_loop decreases as the absolute difference value E_diff decreases.
[0036] In this way, the information processing device 100 can adjust the maximum number of loops Max_loop in quantum chemical calculations using the CI method (Configuration Interaction Method) for the target molecule 101. For example, the information processing device 100 can adjust the maximum number of loops Max_loop so that it does not become too large, thereby shortening the execution time required for quantum chemical calculations using the FCI method. Furthermore, the information processing device 100 can maintain the accuracy of quantum chemical calculations using the FCI method by adjusting the maximum number of loops Max_loop so that it does not become too small.
[0037] Furthermore, the information processing device 100 may perform quantum chemical calculations using the configuration interaction method (CI method) with the determined maximum number of loops Max_loop as the upper limit value of the number of loops for the target molecule 101. This enables the information processing device 100 to shorten the execution time required for the quantum chemical calculations while maintaining the accuracy of the quantum chemical calculations using the configuration interaction method (CI method).
[0038] The quantum chemical calculation using the CI method may be executed on a computer other than the information processing device 100. Specifically, for example, the information processing device 100 may output the maximum number of loops Max_loop determined for the target molecule 101 to the other computer. In this case, the other computer can execute the quantum chemical calculation using the CI method for the target molecule 101, using the output maximum number of loops Max_loop as the upper limit value of the number of loops.
[0039] Furthermore, when determining the maximum number of loops Max_loop, the information processing device 100 may use the ratio between the first energy value E1 and the second energy value E2 instead of the absolute difference E_diff. For example, the information processing device 100 determines the maximum number of loops Max_loop in the CI method in accordance with the ratio between the first energy value E1 and the second energy value E2, based on the number of loops lp.
[0040] Specifically, for example, the information processing device 100 may determine the maximum number of loops Max_loop based on the number of loops lp in accordance with the ratio between the first energy value E1 and the second energy value E2, so that the value of the maximum number of loops Max_loop increases as the second energy value E2 increases relative to the first energy value E1.
[0041] (An example of information processing system 300) Next, an example of an information processing system 300 to which the information processing device 100 shown in FIG. 1 is applied will be described with reference to FIG.
[0042] 3 is an explanatory diagram showing an example of an information processing system 300. In FIG. 3, the information processing system 300 includes an information processing device 100 and a client device 301.
[0043] In the information processing system 300, the information processing device 100 and the client device 301 are connected via a wired or wireless network 310. The network 310 is, for example, a local area network (LAN), a wide area network (WAN), or the Internet.
[0044] The information processing device 100 is a computer capable of performing quantum chemical calculations using the CI method. The CI method is, for example, the FCI method. Like the CC method (Coupled Cluster Analysis), the CI method is called by different names depending on how many electronic excitations are considered. The FCI method considers all electronic excitations. For example, the CIFDTQ method may be used as the CI method. The CIFDTQ method considers up to four electronic excitations.
[0045] The information processing device 100 acquires a processing request requesting execution of a quantum chemical calculation using the CI method. The processing request includes information identifying a target substance. The target substance is an atom or molecule that is to be analyzed by the quantum chemical calculation. The information processing device 100 acquires the processing request by, for example, receiving the processing request from the client device 301. The information processing device 100 may acquire the processing request by, for example, accepting input of the processing request based on an operational input from a user.
[0046] In response to the received processing request, the information processing device 100 executes quantum chemistry calculations using the CI method for the target substance. At this time, the information processing device 100 determines the maximum number of loops Max_loop for the quantum chemistry calculations using the CI method, and executes the quantum chemistry calculations with the determined maximum number of loops Max_loop as the upper limit of the number of loops.
[0047] The information processing device 100 outputs the execution result of the quantum chemical calculation using the CI method. Specifically, for example, the information processing device 100 may transmit the execution result to the client device 301. The information processing device 100 is, for example, a server or a PC (Personal Computer).
[0048] The client device 301 is a computer used by a user of the information processing system 300. The client device 301 generates a processing request requesting execution of a quantum chemical calculation using the CI method, and transmits the generated processing request to the information processing device 100. The processing request is generated based on, for example, an operational input by the user.
[0049] The client device 301 receives the execution results of quantum chemical calculations using the CI method. The client device 301 outputs the received execution results so that the user can refer to them. The client device 301 is, for example, a PC, a tablet terminal, a smartphone, or the like.
[0050] Here, the case where the information processing device 100 is a computer different from the client device 301 has been described, but this is not limiting. For example, the information processing device 100 may have the functions of the client device 301 and may also operate as the client device 301.
[0051] (Example of hardware configuration of information processing device 100) Next, an example of the hardware configuration of the information processing device 100 will be described with reference to FIG.
[0052] Fig. 4 is a block diagram showing an example of the hardware configuration of the information processing device 100. In Fig. 4, the information processing device 100 has a CPU (Central Processing Unit) 401, a memory 402, a network I / F (Interface) 403, a recording medium I / F 404, and a recording medium 405. Furthermore, each component is connected to each other by a bus 400.
[0053] Here, the CPU 401 is responsible for overall control of the information processing device 100. The memory 402 includes, for example, a read-only memory (ROM), a random access memory (RAM), and a flash ROM. Specifically, for example, the flash ROM or ROM stores various programs, and the RAM is used as a work area for the CPU 401. The programs stored in the memory 402 are loaded into the CPU 401, causing the CPU 401 to execute the coded processes.
[0054] The network I / F 403 is connected to the network 310 via a communication line, and is connected to other computers via the network 310. The network I / F 403 manages the internal interface with the network 310 and controls the input and output of data from other computers. The network I / F 403 is, for example, a modem or a LAN adapter.
[0055] The recording medium I / F 404 controls reading / writing of data from / to the recording medium 405 under the control of the CPU 401. The recording medium I / F 404 is, for example, a disk drive, a solid state drive (SSD), a universal serial bus (USB) port, etc. The recording medium 405 is a non-volatile memory that stores data written under the control of the recording medium I / F 404. The recording medium 405 is, for example, a disk, a semiconductor memory, a USB memory, etc. The recording medium 405 may be detachable from the information processing device 100.
[0056] In addition to the above-mentioned components, the information processing device 100 may also include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, etc. The information processing device 100 may also include a plurality of recording medium I / Fs 404 and recording media 405. The information processing device 100 may also not include the recording medium I / Fs 404 and recording media 405.
[0057] (Example of hardware configuration of client device 301) An example of the hardware configuration of the client device 301 is similar to the example of the hardware configuration of the information processing device 100 shown in FIG. 4, and therefore a description thereof will be omitted.
[0058] (Example of functional configuration of information processing device 100) Next, an example of the functional configuration of the information processing device 100 will be described with reference to FIG.
[0059] 5 is a block diagram showing an example of the functional configuration of the information processing device 100. In FIG. 5, the information processing device 100 includes an acquisition unit 501, a determination unit 502, an execution unit 503, a coefficient calculation unit 504, an output unit 505, and a storage unit 510.
[0060] The acquiring unit 501 to the output unit 505 function as an example of the control unit 500. Specifically, the acquiring unit 501 to the output unit 505 realize their functions by causing the CPU 401 to execute a program stored in a storage area such as the memory 402 or the recording medium 405, or by the network I / F 403. The processing results of each functional unit are stored in a storage area such as the memory 402 or the recording medium 405, for example.
[0061] The storage unit 510 stores various pieces of information that are referenced or updated in the processing of each functional unit. Specifically, for example, the storage unit 510 stores a coefficient table 600 as shown in FIG. 6. The storage unit 510 is realized by, for example, a storage area such as the memory 402 or the recording medium 405 shown in FIG. 4. The following describes a case where the storage unit 510 is included in the information processing device 100, but this is not limiting. For example, the storage unit 510 may be included in a device different from the information processing device 100, and the stored contents of the storage unit 510 may be referenced by the information processing device 100.
[0062] The acquisition unit 501 acquires various types of information used in processing by each functional unit. The acquisition unit 501 stores the acquired various types of information in the storage unit 510 or outputs it to each functional unit. The acquisition unit 501 may also output the various types of information stored in the storage unit 510 to each functional unit. The acquisition unit 501 acquires various types of information based on, for example, a user's operation input. The acquisition unit 501 may receive various types of information from, for example, a device different from the information processing device 100.
[0063] The acquiring unit 501 acquires a processing request for executing a quantum chemical calculation using, for example, the CI method (Configuration Interaction Method). The processing request includes information for identifying a target substance. The information for identifying a target substance indicates, for example, a combination of a molecule to be analyzed and a basis set. The basis set indicates a basis function used when calculating atomic orbitals and molecular orbitals in the quantum chemical calculation. The basis set is, for example, STO-3G, 6-31G, etc.
[0064] Specifically, for example, the acquiring unit 501 acquires a processing request by receiving the processing request from another computer. The other computer is, for example, the client device 301 shown in Fig. 3. Alternatively, the acquiring unit 501 may acquire the processing request by accepting an input of the processing request.
[0065] In the following description, the case where the "FCI method" is applied as the CI method (Configuration Interaction Method) may be used as an example. However, the CI method is not limited to the FCI method, and for example, the CIFDTQ method may also be applied as the CI method.
[0066] The acquiring unit 501 acquires, for example, information that identifies the target substance. Specifically, for example, the acquiring unit 501 acquires information that identifies the target substance by extracting the information that identifies the target substance from a processing request. Alternatively, the acquiring unit 501 may acquire information that identifies the target substance by accepting input of the information that identifies the target substance. Alternatively, the acquiring unit 501 may acquire information that identifies the target substance by receiving information that identifies the target substance from another computer.
[0067] The acquiring unit 501 acquires, for example, an absolute difference E_diff between a first energy value E1 obtained by quantum chemical calculation using the first coupled cluster method and a second energy value E2 obtained by quantum chemical calculation using the second coupled cluster method for the target substance. The acquiring unit 501 also acquires a loop number lp of the first coupled cluster method when the first energy value E1 is obtained for the target substance.
[0068] Here, the target substance is identified from the acquired information identifying the target substance. The second coupled cluster method is a coupled cluster method (CC method) different from the first coupled cluster method, and the maximum number of excitations to be considered is different from that of the first coupled cluster method. The first coupled cluster method is, for example, the CCSD method. The second coupled cluster method is, for example, the CCSD(T) method.
[0069] In the following explanation, an example may be given in which the "CCSD method" is applied to the first bonded cluster and the "CCSD(T) method" is applied to the second bonded cluster.
[0070] Specifically, for example, the acquiring unit 501 calculates the first energy value E1 by performing quantum chemical calculations using the CCSD method for the target substance. At this time, the acquiring unit 501 identifies the loop number lp of the CCSD method when the first energy value E1 is obtained for the target substance.
[0071] The acquiring unit 501 also calculates a second energy value E2 by performing quantum chemical calculations using the CCSD(T) method on the target substance. Next, the acquiring unit 501 calculates an absolute difference E_diff between the calculated first energy value E1 and the second energy value E2. Then, the acquiring unit 501 acquires the calculated absolute difference E_diff and the identified CCSD loop number lp.
[0072] However, the quantum chemistry calculation using the CCSD method and the quantum chemistry calculation using the CCSD(T) method for the target substance may be executed on a computer other than the information processing device 100. In this case, the acquiring unit 501 may acquire the first energy value E1, the second energy value E2, and the loop number lp from the other computer. Then, the acquiring unit 501 may acquire the absolute difference E_diff by calculating the absolute difference E_diff between the acquired first energy value E1 and second energy value E2.
[0073] The determination unit 502 determines the maximum number of loops Max_loop when performing a quantum chemistry calculation using the FCI method for the target substance, based on the first energy value E1, the second energy value E2, and the loop number lp. The maximum number of loops Max_loop is an upper limit for the number of loops when calculating energy values by iterative calculation in quantum chemistry calculation using the CI method (e.g., the FCI method). Specifically, for example, the determination unit 502 determines the maximum number of loops Max_loop when performing a quantum chemistry calculation using the FCI method for the target substance, based on the acquired absolute difference E_diff and the loop number lp.
[0074] More specifically, for example, the determination unit 502 refers to the storage unit 510 and identifies the value of the coefficient k corresponding to the acquired absolute difference E_diff. Then, the determination unit 502 determines the maximum number of loops Max_loop based on the acquired number of loops lp and the identified value of the coefficient k. For example, the determination unit 502 may determine the maximum number of loops Max_loop as a value obtained by multiplying the acquired number of loops lp by the identified value of the coefficient k.
[0075] The storage unit 510 stores, for example, coefficient information indicating the correspondence between the value of coefficient k and the absolute difference E_diff. The coefficient k is a coefficient used to determine the maximum number of loops Max_loop in the CI method (e.g., the FCI method). The absolute difference E_diff indicates the absolute difference between the energy value obtained by quantum chemical calculation using the CCSD method (first coupled cluster method) and the energy value obtained by quantum chemical calculation using the CCSD(T) method (second coupled cluster method).
[0076] The value of coefficient k is set to be larger as the absolute difference value E_diff is larger. The value of coefficient k corresponding to the absolute difference value E_diff is calculated, for example, by coefficient calculation unit 504. However, the value of coefficient k corresponding to the absolute difference value E_diff may also be set manually based on an operational input by a user.
[0077] The value of the coefficient k can be expressed by, for example, a function "k=f(E_diff)" in which the absolute difference E_diff is a variable. The function "k=f(E_diff)" can be realized by, for example, a piecewise linear function.
[0078] Here, using FIG. 6, we will explain the coefficient information that represents the correspondence between the value of the coefficient k and the absolute difference value E_diff, which is stored in memory unit 510, using an example where the function "k=f(E_diff)" is realized by a piecewise linear function.
[0079] Fig. 6 is an explanatory diagram showing an example of the contents stored in the coefficient table 600. In Fig. 6, the coefficient table 600 corresponds to a table representation of the function "k=f(E_diff)" realized by a piecewise linear function.
[0080] The coefficient table 600 has fields for difference intervals and coefficient values, and stores coefficient information 600-1 to 600-4 as records by setting information in each field. The difference interval indicates the range of the difference absolute value E_diff. The coefficient value indicates the value of the coefficient k. The coefficient value is set to increase as the difference absolute value E_diff increases.
[0081] For example, coefficient information 600-1 indicates that the value of coefficient k is "k=2.5" when the difference interval is "E_diff≧0.01." Furthermore, coefficient information 600-2 indicates that the value of coefficient k is "k=0.8" when the difference interval is "0.001≦E_diff<0.01."
[0082] The determination unit 502, for example, refers to the coefficient table 600 to identify a difference interval that includes the acquired difference absolute value E_diff. Next, the determination unit 502 identifies the value of the coefficient k that corresponds to the identified difference interval. Then, the determination unit 502 determines the maximum loop count Max_loop as a value obtained by multiplying the acquired loop count lp by the identified value of the coefficient k.
[0083] Here, an example of specifying the value of the coefficient k using the coefficient table 600 will be described. For example, assume that the absolute difference value E_diff acquired for the target substance is "E_diff=0.03." In this case, the determining unit 502 refers to the coefficient table 600 and specifies the difference interval "E_diff≧0.01" that includes the absolute difference value E_diff (coefficient information 600-1). Then, the determining unit 502 refers to the coefficient table 600 (coefficient information 600-1) and specifies the value of the coefficient k that corresponds to the specified difference interval "E_diff≧0.01" as "2.5."
[0084] Also, assume that the absolute difference value E_diff acquired for the target substance is "E_diff=0.0007." In this case, the determining unit 502 refers to the coefficient table 600 and identifies the difference interval "0.0001≦E_diff<0.001" that includes the absolute difference value E_diff (coefficient information 600-3). Then, the determining unit 502 refers to the coefficient table 600 (coefficient information 600-3) and identifies the value of the coefficient k that corresponds to the identified difference interval "0.0001≦E_diff<0.001" as "0.7."
[0085] This allows the determination unit 502 to determine the maximum number of loops Max_loop based on the number of loops lp so that the larger the absolute difference value E_diff, the larger the value of the maximum number of loops Max_loop.
[0086] Note that the determination unit 502 may use the ratio between the first energy value E1 and the second energy value E2 instead of the absolute difference E_diff when determining the maximum number of loops Max_loop. For example, the determination unit 502 determines the maximum number of loops Max_loop in accordance with the ratio between the first energy value E1 and the second energy value E2, based on the number of loops lp.
[0087] Specifically, for example, the determination unit 502 may determine the maximum number of loops Max_loop based on the number of loops lp in accordance with the ratio between the first energy value E1 and the second energy value E2, so that the value of the maximum number of loops Max_loop increases as the second energy value E2 increases relative to the first energy value E1.
[0088] The execution unit 503 executes quantum chemistry calculations using the FCI method for the target substance, with the determined maximum number of loops Max_loop as the upper limit of the number of loops. Specifically, for example, the execution unit 503 executes quantum chemistry calculations using the FCI method for the target substance by the Davidson iteration method, thereby calculating energy values. At this time, the execution unit 503 sets the determined maximum number of loops Max_loop as the upper limit of the number of loops in the iterative calculations.
[0089] The processing procedure for performing quantum chemical calculations using the FCI method by the Davidson iteration method will be described later with reference to FIG.
[0090] The coefficient calculation unit 504 calculates the value of coefficient k used to determine the maximum number of loops Max_loop in the CI method (e.g., FCI method). Coefficient k corresponds to, for example, a factor representing the correlation between the number of loops in the CCSD method and the number of loops in the FCI method. The number of loops in the CCSD method is, for example, the number of loops at which convergence occurs in quantum chemistry calculations using the CCSD method. The number of loops in the FCI method is, for example, the number of loops at which convergence occurs in quantum chemistry calculations using the FCI method, or the number of loops that provides results with the same level of accuracy as the number of loops at which convergence occurs.
[0091] Here, materials with similar absolute difference values E_diff (energy values of triple-electron excitation) can be said to have similar properties. Therefore, by deriving in advance the correlation (corresponding to the value of coefficient k) between the number of loops in the CCSD method and the number of loops in the FCI method for a certain material, the same correlation (corresponding to the value of coefficient k) can be applied to other materials with the same or similar absolute difference values E_diff.
[0092] Therefore, the coefficient calculation unit 504 calculates the correlation (corresponding to the value of coefficient k) between the number of loops in the CCSD method and the number of loops in the FCI method for each of a plurality of different substances, and derives the correspondence between the value of coefficient k and the absolute difference value E_diff.
[0093] Specifically, for example, the coefficient calculation unit 504 calculates the energy value E obtained by quantum chemical calculation using the CCSD method (first coupled cluster method) for each of a plurality of different substances. A and the energy value E obtained by quantum chemical calculation using the CCSD(T) method (second coupled cluster method). B Absolute difference E_diff AB Get.
[0094] Furthermore, the coefficient calculation unit 504 calculates an energy value E for each of the plurality of different substances by quantum chemical calculation using the CCSD method (first coupled cluster method). A The number of loops when A The plurality of different substances are, for example, different atoms or molecules. Information specifying the plurality of different substances is acquired by the acquiring unit 501.
[0095] More specifically, for example, the coefficient calculation unit 504 performs quantum chemical calculations using the CCSD method for each of a plurality of different substances to calculate an energy value E A At this time, the acquisition unit 501 calculates the energy value E A The number of loops in the CCSD method when A By identifying the number of loops L A Get.
[0096] Furthermore, the coefficient calculation unit 504 performs quantum chemical calculations using the CCSD(T) method for each of the plurality of different substances to calculate the energy value E B Then, the coefficient calculation unit 504 calculates the calculated energy value E A and energy value E B Absolute difference E_diffAB By calculating the absolute difference E_diff AB Get.
[0097] However, the quantum chemical calculations using the CCSD method and the CCSD(T) method for each of the plurality of different substances may be executed in a computer other than the information processing device 100. In this case, the acquiring unit 501 receives the energy value E A , energy value E B and the number of loops L A Then, the obtaining unit 501 may obtain the obtained energy value E A and energy value E B Absolute difference E_diff AB may be calculated.
[0098] Furthermore, the coefficient calculation unit 504 calculates the energy value E obtained by using the FCI method for each of the plurality of different substances. FCI The minimum number of loops L of the FCI method that can obtain an energy value within the allowable error range min The tolerance for error can be set arbitrarily, for example, 10 -5 It is set to the following extent.
[0099] Specifically, for example, the coefficient calculation unit 504 performs quantum chemical calculations using the FCI method for each of a plurality of different substances to calculate an energy value E FCI Here, the allowable error range is set to "10 -5 In this case, the coefficient calculation unit 504 calculates the energy value E FCI The error is 10 -5 The minimum number of loops L that gives an energy value of min Identify.
[0100] More specifically, for example, the coefficient calculation unit 504 calculates an energy value E FCIThe energy values calculated along the way until the energy value E is obtained are recorded in association with the loop number at that time. Then, the coefficient calculation unit 504 refers to the energy value and the loop number recorded in association with each other for each substance, and calculates the obtained energy value E FCI The error is 10 -5 The minimum number of loops among the loops when the energy value is calculated as follows is the minimum loop number L min It may be specified as:
[0101] Furthermore, the coefficient calculation unit 504 calculates the energy value E FCI The number of loops when FCI The quantum chemical calculation using the FCI method may be repeated while changing the maximum loop number within a smaller range. FCI The error is 10 -5 The minimum number of loops L that gives an energy value of min You may explore.
[0102] Furthermore, the coefficient calculation unit 504 calculates the energy value E FCI After calculating, the convergence condition is set to "energy value E FCI The error is 10 -5 In this case, the coefficient calculation unit 504 may set the number of loops when the set convergence condition is satisfied to the minimum number of loops L min It may be specified as:
[0103] Next, the coefficient calculation unit 504 calculates the number of loops L obtained for each of the plurality of different substances. A and the identified minimum number of loops L min Specifically, for example, the coefficient calculation unit 504 calculates the value of the coefficient k based on the minimum loop number L min The number of loops is L A The value of the coefficient k may be calculated by dividing by
[0104] Next, the coefficient calculation unit 504 calculates the coefficient k value calculated for each substance and the absolute difference E_diff obtained for each substance. AB Then, the coefficient calculation unit 504 stores the created coefficient information in the storage unit 510. Specifically, for example, the coefficient calculation unit 504 calculates the coefficient k value and the difference absolute value E_diff for each substance. AB A function "k=f(E_diff)" may be created based on the correspondence between
[0105] The function "k=f(E_diff)" is a function that expresses the value of the coefficient k using the absolute difference value E_diff as a variable. The function "k=f(E_diff)" is realized by, for example, a piecewise linear function. In this case, the coefficient calculation unit 504 calculates the absolute difference value E_diff for each of the plurality of difference intervals by calculating the coefficient k. AB Identify the substances that contain it.
[0106] Here, the multiple difference intervals are intervals obtained by dividing the entire range of values that can be taken as the absolute difference value E_diff. Each difference interval indicates a range of the absolute difference value E_diff. Next, the coefficient calculation unit 504 creates coefficient information that indicates the correspondence between each of the multiple difference intervals and the value of the coefficient k calculated for the identified substance. Then, the coefficient calculation unit 504 stores the created coefficient information in the coefficient table 600.
[0107] In addition, for each of the plurality of difference sections, the difference absolute value E_diff AB In this case, the coefficient calculation unit 504 may create coefficient information that indicates the correspondence between the difference interval and the maximum value of the coefficient k among the values of the coefficient k calculated for each of the two or more substances.
[0108] An example of calculating the value of the coefficient k corresponding to each of the plurality of difference intervals will be described later with reference to FIG. 7. Here, the function "k=f(E_diff)" is implemented by a piecewise linear function, but this is not limiting. For example, the function "k=f(E_diff)" may be implemented by a linear function. The correspondence between the value of the coefficient k and the absolute difference value E_diff may be derived by machine learning.
[0109] The output unit 505 outputs the processing results of at least one of the functional units. The output format may be, for example, display on a display (not shown), printout on a printer (not shown), transmission to an external device via the network I / F 403, or storage in a storage area such as the memory 402 or the recording medium 405.
[0110] The output unit 505 outputs the results of the quantum chemistry calculation using the FCI method, for example, in association with the target substance. The results include energy values for the target substance calculated by performing the quantum chemistry calculation using the FCI method.
[0111] Furthermore, the output unit 505 may output the determined maximum number of loops Max_loop in association with the target substance, for example. In this case, for example, a quantum chemistry calculation using the FCI method may be performed on a computer other than the information processing device 100, with the maximum number of loops Max_loop output from the information processing device 100 set as the upper limit value of the number of loops for the target substance.
[0112] In the above explanation, the first coupled cluster method is the "CCSD method" and the second coupled cluster method is the "CCSD(T) method," but this is not limiting. For example, the first coupled cluster method may be the "CCS method" and the second coupled cluster method may be the "CCSD method." Furthermore, the first coupled cluster method may be the "CCSD(T) method" and the second coupled cluster method may be the "CCSDT(Q) method."
[0113] (Example of calculating the value of coefficient k corresponding to the difference interval) Next, an example of calculating the value of the coefficient k corresponding to the difference interval will be described.
[0114] Here, we will explain an example in which the function "k=f(E_diff)" is realized by a piecewise linear function. Also, let us assume that the multiple difference intervals are "E_diff≧0.01", "0.001≦E_diff<0.01", "0.0001≦E_diff<0.001", and "E_diff<0.0001".
[0115] The coefficient calculation unit 504 calculates the energy value E obtained by quantum chemical calculation using the CCSD method for each of a plurality of different substances. A and the energy value E obtained by quantum chemical calculation using the CCSD(T) method. B Absolute difference E_diff AB Furthermore, the coefficient calculation unit 504 calculates the energy value E for each of the plurality of different substances by quantum chemical calculation using the CCSD method. A The number of loops when A Get.
[0116] Here, the multiple different substances are "BeO / sto3g," "BN / sto3g," "CO / sto3g," "N2 / sto3g," "BeH2 / sto3g," "O2 / sto3g," "H2O / sto3g," and "H2S / sto3g." In this case, the coefficient calculation unit 504 calculates the absolute difference value E_diff for each of the multiple difference intervals from among these eight substances. AB identifies the substance (molecule / basis set) contained in the difference interval.
[0117] Here, with reference to FIG. 7, an example of calculating the value of the coefficient k corresponding to the difference interval "E_diff≧0.01" will be described, taking the difference interval "E_diff≧0.01" as an example.
[0118] 7 is an explanatory diagram showing an example of calculation of the value of the coefficient k corresponding to the difference section. The coefficient calculation unit 504 calculates the absolute difference value E_diff from among the above-mentioned eight materials. ABHere, we identify molecules with an absolute difference E_diff of 0.01 or more. AB Assume that "BeO / sto3g" and "BN / sto3g" are identified as molecules with a σ of 0.01 or more.
[0119] 7, a table 700 shows various information related to "BeO / sto3g" and "BN / sto3g". The coefficient calculation unit 504 calculates the energy value E A The number of loops in the CCSD method when A Here, we identify the number of loops L of the molecule "BeO / sto3g". A "L A =14".
[0120] Furthermore, the coefficient calculation unit 504 calculates the energy value E obtained for "BeO / sto3g" using the FCI method. FCI The minimum number of loops L that can obtain an energy value that is within the allowable error range min However, the tolerance is set to "10 -5 Here, the minimum number of loops for "BeO / sto3g" is L min "L min =10".
[0121] Then, the coefficient calculation unit 504 calculates the minimum loop number L for "BeO / sto3g". min The number of loops is L A Here, the value of coefficient k is "k=0.7 (≈10÷14)". As a result, the coefficient calculation unit 504 reduces the error with the conventional FCI method for "BeO / sto3g" by 10 -5 It can be seen that in order to keep this value below this, the value of the coefficient k should be set to 0.7 or more.
[0122] Similarly, the coefficient calculation unit 504 calculates the energy value E A The number of loops in the CCSD method when A Here, the number of loops in "BN / sto3g" is determined as L A"L A =15".
[0123] Furthermore, the coefficient calculation unit 504 calculates the energy value E obtained using the FCI method for "BN / sto3g". FCI The minimum number of loops L that can obtain an energy value that is within the allowable error range min Here, the minimum number of loops L of "BN / sto3g" is determined. min "L min =38".
[0124] Then, the coefficient calculation unit 504 calculates the minimum loop number L for "BN / sto3g". min The number of loops is L A Here, the value of coefficient k is "k=2.5 (≈38÷15)". As a result, the coefficient calculation unit 504 reduces the error with the conventional FCI method for "BN / sto3g" by 10 -5 It can be seen that in order to keep this value below this, the value of the coefficient k should be set to 2.5 or more.
[0125] Therefore, the coefficient calculation unit 504 identifies the largest coefficient k value "k=2.5" among the coefficient k values calculated for "BeO / sto3g" and "BN / sto3g." Then, the coefficient calculation unit 504 associates the identified coefficient k value "k=2.5" with the difference interval "E_diff≧0.01" and stores it in the coefficient table 600. As a result, coefficient information 600-1 such as that shown in FIG. 6 is stored as a record in the coefficient table 600.
[0126] Although not shown in the figure, for the difference interval "0.001≦E_diff<0.01", "CO / sto3g" and "N2 / sto3g" are identified, and the value of coefficient k, "k=0.8", is calculated. In this case, the coefficient calculation unit 504 associates the value of coefficient k, "k=0.8", with the difference interval "0.001≦E_diff<0.01" and stores it in the coefficient table 600. As a result, coefficient information 600-2 as shown in FIG. 6 is stored as a record in the coefficient table 600.
[0127] Furthermore, for the difference interval "0.0001≦E_diff<0.001", "BeH2 / sto3g" and "O2 / sto3g" are identified, and the value of coefficient k, "k=0.7", is calculated. In this case, the coefficient calculation unit 504 associates the value of coefficient k, "k=0.7", with the difference interval "0.0001≦E_diff<0.001" and stores it in the coefficient table 600. As a result, coefficient information 600-3 as shown in FIG. 6 is stored as a record in the coefficient table 600.
[0128] Furthermore, for the difference interval "E_diff<0.0001", "H2O / sto3g" and "H2S / sto3g" are identified, and the value of coefficient k, "k=0.5", is calculated. In this case, the coefficient calculation unit 504 associates the value of coefficient k, "k=0.5", with the difference interval "E_diff<0.0001" and stores it in the coefficient table 600. As a result, coefficient information 600-4 as shown in FIG. 6 is stored as a record in the coefficient table 600.
[0129] (Loop count adjustment process procedure of information processing device 100) Next, the loop count adjustment process procedure of the information processing device 100 will be described with reference to FIG.
[0130] Fig. 8 is a flowchart showing an example of a loop number adjustment process procedure of the information processing device 100. In the flowchart of Fig. 8, first, the information processing device 100 determines whether or not a processing request for executing a quantum chemistry calculation using the FCI method has been received (step S801).
[0131] Here, the information processing device 100 waits for receipt of a processing request (step S801: No). If the information processing device 100 receives a processing request (step S801: Yes), the information processing device 100 calculates a first energy value E1 by performing quantum chemical calculations using the CCSD method on the target substance (step S802).
[0132] Then, the information processing device 100 identifies the number of loops lp of the CCSD method when the first energy value E1 is obtained for the target substance (step S803). Next, the information processing device 100 calculates the second energy value E2 for the target substance by performing quantum chemical calculations using the CCSD(T) method (step S804).
[0133] Then, the information processing device 100 calculates the absolute difference E_diff between the calculated first energy value E1 and second energy value E2 (step S805). Next, the information processing device 100 refers to the coefficient table 600 and identifies the value of the coefficient k corresponding to the difference interval including the calculated absolute difference E_diff (step S806).
[0134] Then, the information processing device 100 determines the maximum number of loops Max_loop based on the identified number of loops lp and the value of the identified coefficient k (step S807). Specifically, for example, the information processing device 100 determines the maximum number of loops Max_loop to be a value obtained by multiplying the number of loops lp by the value of the coefficient k.
[0135] Next, the information processing device 100 performs quantum chemistry calculations using the FCI method for the target substance, with the determined maximum number of loops Max_loop as the upper limit of the number of loops (step S808). Note that the specific processing procedure for the quantum chemistry calculations using the FCI method will be described later with reference to FIG. 9.
[0136] Then, the information processing device 100 outputs the execution result of the quantum chemistry calculation using the FCI method in association with the target substance (step S809), and ends the series of processes according to this flowchart. The execution result includes, for example, the eigenvalue e (energy value) calculated in step S907 shown in Fig. 9, which will be described later.
[0137] This allows the information processing device 100 to adjust the maximum number of loops Max_loop in the quantum chemical calculation using the FCI method.
[0138] Next, a specific processing procedure of the quantum chemical calculation using the FCI method in step S808 will be described with reference to Fig. 9. Here, a case where the quantum chemical calculation using the FCI method is performed by the Davidson iteration method will be described.
[0139] 9 is a flowchart showing an example of a specific processing procedure for quantum chemical calculations using the FCI method. In the flowchart of FIG. 9, first, the information processing device 100 initializes a trial vector X (step S901). Note that the information processing device 100 may generate the initial value of the trial vector X using a random number, or may set all values to 0.
[0140] Then, the information processing device 100 sets the maximum loop count Max_loop determined in step S807 shown in Fig. 8 as the upper limit value of the loop count Loop (step S902). Next, the information processing device 100 sets the loop count Loop to "Loop=0" (step S903), and determines whether the loop count Loop is smaller than the maximum loop count Max_loop (step S904).
[0141] Here, if the loop count Loop is smaller than the maximum loop count Max_loop (step S904: Yes), the information processing device 100 generates Y by "Y = HX" (step S905). H is a Hamiltonian operator corresponding to the subspace. For example, H calculated by the Hartree-Fock method is used. Y is a vector generated by multiplying H by X.
[0142] Next, the information processing device 100 saves X and Y, and constructs a Hamiltonian matrix of the subspace from X and Y (step S906). Then, the information processing device 100 diagonalizes the constructed Hamiltonian matrix to calculate an eigenvalue e (energy value) (step S907).
[0143] Next, the information processing device 100 calculates Δe by "Δe=e-e_old" (step S908). Then, the information processing device 100 determines whether a predetermined convergence condition is satisfied (step S909). The convergence condition is, for example, "Δe <tol」かつ「max_dx_norm<sqrt(tol)」である。tolは、10 -12 max_dx_norm is the normalization result of the residual vector based on the trial vector X.
[0144] If the convergence condition is not satisfied (step S909: No), the information processing device 100 updates the trial vector X so as to obtain a lower energy value (step S910). Next, the information processing device 100 updates e_old with the calculated eigenvalue e (step S911).
[0145] Then, the information processing device 100 increments the loop count Loop (step S912) and returns to step S904. In step S904, if the loop count Loop is equal to or greater than the maximum loop count Max_loop (step S904: No), the information processing device 100 returns to the step that called the quantum chemistry calculation using the FCI method.
[0146] Furthermore, in step S909, if the convergence condition is satisfied (step S909: Yes), the information processing device 100 returns to the step that called the quantum chemical calculation using the FCI method.
[0147] As a result, the information processing device 100 can maintain the accuracy of quantum chemical calculations using the FCI method, while limiting the maximum number of loops Max_loop and shortening the execution time compared to conventional methods.
[0148] Here, an example of reduction in execution time for quantum chemical calculations using the FCI method when this loop number adjustment method is applied will be described with reference to FIGS.
[0149] 10 and 11 are explanatory diagrams showing an example of reduction in execution time when this loop number adjustment method is applied. In Fig. 10 and Fig. 11, the loop number adjustment result 1000 shows, for each molecule (molecule / basis set), E_diff, the number of CCSD loops, the number of FCI loops (unsuitable, suitable), |Esuitable - Eunsuitable|, and the loop reduction rate.
[0150] Here, the molecule (molecule / basis set) is an example of a target substance. E_diff indicates the absolute difference (E_diff) between the energy value (E1) obtained using the CCSD method and the energy value (E2) obtained using the CCSD(T) method for each molecule (molecule / basis set). The CCSD loop number is the loop number (lp) of the CCSD method for each molecule (molecule / basis set).
[0151] The FCI loop number (unknown) is the number of loops when the energy value is obtained for each molecule (molecule / basis set) by the conventional FCI method without applying this loop number adjustment method. The FCI loop number (suitable) is the number of loops when the energy value is obtained for each molecule (molecule / basis set) by the FCI method with applying this loop number adjustment method.
[0152] |Eadjusted-Eunadjusted| indicates the difference between the energy value obtained for each molecule (molecule / basis set) using the FCI method when this loop number adjustment method is applied and the energy value obtained using the conventional FCI method when this loop number adjustment method is not applied. The loop reduction ratio indicates the ratio of the number of loops reduced when this loop number adjustment method is applied compared to the conventional FCI method.
[0153] According to the loop number adjustment result 1000, it can be seen that by applying this loop number adjustment method, the execution time can be shortened while maintaining the accuracy of quantum chemical calculations using the FCI method. In the example of loop number adjustment result 1000, the error in the energy value when this loop number adjustment method is applied is 10 -5 In addition, in the example where the loop count adjustment result is 1000, it can be seen that the number of loops in the FCI method can be reduced by about 40% on average compared to the conventional method, and by up to 69%.
[0154] As described above, according to the information processing device 100 of the embodiment, the maximum number of loops Max_loop when performing quantum chemistry calculations using the FCI method can be determined for a target substance based on the first energy value E1 obtained by quantum chemistry calculations using the CCSD method, the second energy value E2 obtained by quantum chemistry calculations using the CCSD(T) method, and the number of loops lp in the CCSD method when the first energy value E1 was obtained.
[0155] This allows the information processing device 100 to adjust the maximum number of loops Max_loop in quantum chemistry calculations using the FCI method. For example, the information processing device 100 can adjust the maximum number of loops Max_loop so that it does not become too large, thereby shortening the execution time required for quantum chemistry calculations using the FCI method. Furthermore, the information processing device 100 can maintain the accuracy of quantum chemistry calculations using the FCI method by adjusting the maximum number of loops Max_loop so that it does not become too small more than necessary.
[0156] Furthermore, according to the information processing device 100, the maximum number of loops Max_loop can be determined based on the absolute difference E_diff between the first energy value E1 and the second energy value E2 and the number of loops lp.
[0157] This allows the information processing device 100 to adjust the maximum number of loops Max_loop, taking into consideration whether electrons are activated or not.
[0158] Furthermore, according to the information processing device 100, it is possible to perform quantum chemical calculations using the FCI method for the target substance, with the determined maximum number of loops Max_loop set as the upper limit value of the number of loops.
[0159] As a result, the information processing device 100 can reduce the execution time required for the quantum chemical calculations using the FCI method while maintaining the accuracy of the quantum chemical calculations.
[0160] Furthermore, the information processing device 100 can identify the value of the coefficient k corresponding to the absolute difference value E_diff by referring to the storage unit 510. The storage unit 510 stores coefficient information indicating the correspondence between the value of the coefficient k used to determine the maximum number of loops Max_loop of the FCI and the absolute difference value E_diff. The absolute difference value E_diff represents the absolute difference between the energy value obtained by quantum chemistry calculation using the CCSD method and the energy value obtained by quantum chemistry calculation using the CCSD(T) method. The information processing device 100 can then determine the maximum number of loops Max_loop based on the acquired number of loops lp and the identified value of the coefficient k.
[0161] As a result, the information processing device 100 can adjust the maximum number of loops Max_loop using the value of the coefficient k according to the magnitude of the energy value (absolute difference E_diff) of triple-electron excitation. For example, the information processing device 100 can determine the maximum number of loops Max_loop based on the number of loops lp so that the value of the maximum number of loops Max_loop increases as the energy value of triple-electron excitation increases. Furthermore, the information processing device 100 can determine the maximum number of loops Max_loop based on the number of loops lp so that the value of the maximum number of loops Max_loop decreases as the energy value of triple-electron excitation decreases.
[0162] Furthermore, according to the information processing device 100, the absolute difference value E_diff for each of the plurality of different substances is calculated. AB and the number of loops L A The absolute difference E_diff can be obtained. AB is the energy value E obtained for each substance by quantum chemical calculation using the CCSD method. A and the energy value E obtained by quantum chemical calculation using the CCSD(T) method. B The absolute difference between the number of loops L A For each substance, the energy value E is calculated using the CCSD method. AIn addition, according to the information processing device 100, the energy value E obtained by quantum chemical calculation using the FCI method for each substance is FCI The minimum number of loops L of the FCI method that can obtain an energy value within the allowable error range min Furthermore, according to the information processing device 100, the number of loops L obtained for each substance can be identified. A and the identified minimum number of loops L min The information processing device 100 can calculate the value of the coefficient k based on the absolute difference E_diff obtained for each substance. AB and the value of the coefficient k calculated for each substance, coefficient information can be created and stored in the storage unit 510.
[0163] This allows the information processing device 100 to derive the correspondence between the value of the coefficient k and the absolute difference value E_diff using multiple different substances, and makes it possible to identify the value of the coefficient k for the target substance according to the properties represented by the absolute difference value E_diff.
[0164] Furthermore, according to the information processing device 100, a difference absolute value E_diff is calculated for each of the plurality of difference intervals and each of the plurality of different materials. AB It is possible to create coefficient information that represents a correspondence relationship between the absolute difference value E_diff obtained for the target substance and the value of the coefficient k calculated for the substance containing the absolute difference value E_diff. Then, the information processing device 100 can refer to the storage unit 510 to identify the value of the coefficient k that corresponds to the difference section that includes the absolute difference value E_diff obtained for the target substance, among the multiple difference sections, and determine the maximum number of loops Max_loop based on the number of loops lp obtained for the target substance and the identified value of the coefficient k.
[0165] This enables the information processing device 100 to express the correspondence between the value of the coefficient k and the absolute difference value E_diff using a piecewise linear function, and makes it possible to identify the value of the coefficient k for the target substance according to the properties classified by the absolute difference value E_diff.
[0166] Furthermore, according to the information processing device 100, the absolute difference value E_diff is calculated for each of the plurality of difference intervals among the plurality of different substances. AB When there are two or more substances containing the above, it is possible to create coefficient information that indicates the correspondence between the difference interval and the maximum coefficient k value among the coefficient k values calculated for each of the two or more substances.
[0167] This allows the information processing device 100 to accurately derive the value of the coefficient k corresponding to the difference interval.
[0168] Furthermore, the information processing device 100 can output the results of the executed quantum chemical calculation using the FCI method in association with the target substance.
[0169] This allows the information processing device 100 to provide the energy value of the target substance calculated by quantum chemical calculation using the FCI method.
[0170] For these reasons, the information processing device 100 can provide highly accurate energy values calculated by quantum chemistry calculations using the FCI method for various substances, enabling analysis of molecular structures, material properties, reactivity, and the like. The information processing device 100 can also use the results of quantum chemistry calculations using the FCI method as an accuracy standard for other quantum chemistry calculation methods. Furthermore, the information processing device 100 can reduce the number of loops to shorten execution time, thereby reducing power consumption required for quantum chemistry calculations. This loop number adjustment method can be applied, for example, to materials development. In this case, the information processing device 100 can shorten the execution time of quantum chemistry calculations required for materials development, thereby reducing costs for experiments, verification, and the like required for materials development.
[0171] The loop number adjustment method described in this embodiment can be realized by executing a prepared program on a computer such as a PC or a workstation. The loop number adjustment program is recorded on a computer-readable recording medium such as a hard disk, flexible disk, CD (Compact Disc)-ROM, DVD (Digital Versatile Disk), or USB memory, and is executed by being read from the recording medium by the computer. The loop number adjustment program may also be distributed via a network such as the Internet.
[0172] The information processing device 100 described in this embodiment can also be realized by an application-specific IC such as a standard cell or a structured ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device) such as an FPGA.
[0173] The following additional notes are provided regarding the above-described embodiment.
[0174] (Supplementary Note 1) A maximum loop number is determined for a target substance when a quantum chemical calculation using a configuration interaction method is performed on the target substance based on a first energy value obtained by a quantum chemical calculation using a first coupled cluster method, a second energy value obtained by a quantum chemical calculation using a second coupled cluster method having a different maximum excitation number from that of the first coupled cluster method, and the loop number of the first coupled cluster method when the first energy value is obtained. A loop number adjustment program that causes a computer to execute a process.
[0175] (Appendix 2) The process of determining The loop number adjustment program according to appendix 1, characterized in that the maximum loop number is determined based on an absolute difference between the first energy value and the second energy value and the loop number.
[0176] (Supplementary Note 3) For the target substance, the determined maximum loop number is set as an upper limit value of the loop number, and quantum chemical calculations using the configuration interaction method are performed. 3. The loop number adjustment program according to claim 1, wherein the program causes the computer to execute the process.
[0177] (Appendix 4) The process of determining a storage unit that stores coefficient information indicating a correspondence relationship between a value of a coefficient used to determine the maximum loop number of the configuration interaction method and an absolute value of a difference between an energy value obtained by the quantum chemical calculation using the first coupled cluster method and an energy value obtained by the quantum chemical calculation using the second coupled cluster method, and identifies a value of the coefficient that corresponds to the absolute value of the difference between the first energy value and the second energy value; determining the maximum number of loops based on the number of loops and the identified value of the coefficient; 4. The loop number adjusting program according to any one of appendices 1 to 3.
[0178] (Supplementary Note 5) For each of a plurality of different substances, an absolute difference between an energy value obtained by the quantum chemical calculation using the first coupled cluster method and an energy value obtained by the quantum chemical calculation using the second coupled cluster method, and a loop number of the first coupled cluster method when the energy value is obtained by the quantum chemical calculation using the first coupled cluster method are obtained; for each of the substances, identifying the minimum number of loops in the configuration interaction method that can provide an energy value within an allowable range of error from the energy value obtained by quantum chemical calculation using the configuration interaction method; Calculating the coefficient value for each of the substances based on the acquired number of loops and the identified minimum number of loops; creating the coefficient information based on a correspondence relationship between the absolute difference value acquired for each of the substances and the coefficient value calculated for each of the substances; storing the created coefficient information in the storage unit; 5. The loop number adjustment program according to claim 4, wherein the program causes the computer to execute the process.
[0179] (Appendix 6) The process of creating the above is as follows: creating coefficient information representing a correspondence relationship between each of a plurality of difference intervals and the coefficient value calculated for a substance of the plurality of different substances whose respective difference absolute values are included in the respective difference intervals; The determining process includes: referring to the storage unit, identifying the value of the coefficient corresponding to a difference interval that includes an absolute value of the difference between the first energy value and the second energy value for the target substance, among the plurality of difference intervals; determining the maximum number of loops based on the number of loops for the target substance and the identified value of the coefficient; 6. The loop number adjustment program according to claim 5,
[0180] (Appendix 7) The process of creating the above is as follows: when there are two or more substances among the plurality of different substances in each of the difference sections, the acquired absolute difference values are included in the respective difference sections, creating coefficient information that indicates a correspondence relationship between each of the difference sections and the largest coefficient value among the coefficient values calculated for each of the two or more substances; 7. The loop number adjustment program according to claim 6,
[0181] (Appendix 8) The execution result of the quantum chemical calculation using the configuration interaction method is output in association with the target substance. 4. The loop number adjustment program according to claim 3, wherein the program causes the computer to execute the process.
[0182] (Supplementary Note 9) The first coupled cluster method is a CCSD method, the second coupled cluster method is a CCSD method, The configuration interaction method is the FCI method. 9. The loop number adjusting program according to any one of appendices 1 to 8.
[0183] (Supplementary Note 10) A maximum loop number is determined for a target substance when an energy value is calculated by a quantum chemical calculation using a configuration interaction method, based on a first energy value obtained by a quantum chemical calculation using a first coupled cluster method, a second energy value obtained by a quantum chemical calculation using a second coupled cluster method having a different maximum excitation number from that of the first coupled cluster method, and the loop number of the first coupled cluster method when the first energy value is obtained. A method for adjusting the number of loops, characterized in that the processing is executed by a computer.
[0184] (Supplementary Note 11) A maximum loop number is determined for a target substance when an energy value is calculated by a quantum chemical calculation using a configuration interaction method, based on a first energy value obtained by a quantum chemical calculation using a first coupled cluster method, a second energy value obtained by a quantum chemical calculation using a second coupled cluster method having a different maximum excitation number from that of the first coupled cluster method, and the loop number of the first coupled cluster method when the first energy value is obtained. An information processing device comprising a control unit. [Explanation of symbols]
[0185] 100 Information processing device 101 target molecules 201,202 graphs 210,220 lines 300 Information Processing Systems 301 Client Device 310 Network 400 Bus 401 CPU 402 memory 403 Network I / F 404 Recording Media I / F 405 Recording Media 500 control section 501 Acquisition Department 502 Decision Section 503 Executive Department 504 Coefficient calculation unit 505 Output section 510 Storage section 600 coefficient table 700 tables 1000 Loop count adjustment results
Claims
1. determining a maximum number of loops for a target substance when a quantum chemical calculation using a configuration interaction method is performed on the target substance based on a first energy value obtained by a quantum chemical calculation using a first coupled cluster method, a second energy value obtained by a quantum chemical calculation using a second coupled cluster method having a different maximum excitation number from that of the first coupled cluster method, and the number of loops in the first coupled cluster method when the first energy value is obtained; A loop number adjustment program that causes a computer to execute a process.
2. The determining process includes:
2. The loop number adjustment program according to claim 1, wherein the maximum loop number is determined based on an absolute difference between the first energy value and the second energy value and the loop number.
3. performing a quantum chemical calculation using the configuration interaction method on the target substance, with the determined maximum loop number as an upper limit value of the number of loops; 2. The loop number adjustment program according to claim 1, wherein the program causes the computer to execute processing.
4. The determining process includes: a storage unit that stores coefficient information indicating a correspondence relationship between a value of a coefficient used to determine the maximum loop number of the configuration interaction method and an absolute value of a difference between an energy value obtained by the quantum chemical calculation using the first coupled cluster method and an energy value obtained by the quantum chemical calculation using the second coupled cluster method, and identifies a value of the coefficient that corresponds to the absolute value of the difference between the first energy value and the second energy value; determining the maximum number of loops based on the number of loops and the identified value of the coefficient; 2. The loop number adjustment program according to claim 1.
5. for each of a plurality of different substances, an absolute difference between an energy value obtained by the quantum chemical calculation using the first coupled cluster method and an energy value obtained by the quantum chemical calculation using the second coupled cluster method, and a loop number of the first coupled cluster method when the energy value is obtained by the quantum chemical calculation using the first coupled cluster method; for each of the substances, identifying the minimum number of loops in the configuration interaction method that can provide an energy value within an allowable range of error from the energy value obtained by quantum chemical calculation using the configuration interaction method; Calculating the coefficient value for each of the substances based on the acquired number of loops and the identified minimum number of loops; creating the coefficient information based on a correspondence relationship between the absolute difference value acquired for each of the substances and the coefficient value calculated for each of the substances; storing the created coefficient information in the storage unit; 5. The loop number adjustment program according to claim 4, wherein the program causes the computer to execute processing.
6. outputting the execution result of the quantum chemical calculation using the configuration interaction method, in association with the target substance; 4. The loop number adjustment program according to claim 3, wherein the program causes the computer to execute processing.
7. the first coupled cluster method is a CCSD method, the second coupled cluster method is a CCSD(T) method, The configuration interaction method is the FCI method.
7. The loop number adjustment program according to claim 1, wherein the loop number adjustment program is a program for adjusting the number of loops.
8. determining a maximum number of loops for calculating an energy value for the target substance by quantum chemical calculation using a configuration interaction method, based on a first energy value obtained for the target substance by quantum chemical calculation using a first coupled cluster method, a second energy value obtained for the target substance by quantum chemical calculation using a second coupled cluster method having a different maximum excitation number from that of the first coupled cluster method, and the number of loops in the first coupled cluster method when the first energy value was obtained; A method for adjusting the number of loops, characterized in that the processing is executed by a computer.
9. determining a maximum number of loops for calculating an energy value for the target substance by quantum chemical calculation using a configuration interaction method, based on a first energy value obtained for the target substance by quantum chemical calculation using a first coupled cluster method, a second energy value obtained for the target substance by quantum chemical calculation using a second coupled cluster method having a different maximum excitation number from that of the first coupled cluster method, and the number of loops in the first coupled cluster method when the first energy value was obtained; An information processing device comprising a control unit.
Citation Information
Patent Citations
Quantum chemical calculation program, quantum chemical calculation method, and quantum chemical calculation device
WO2022097298A1