Information processing program, information processing method, and information processing device
The method addresses the challenge of high processing load in quantum chemical calculations by optimizing fragment division based on orbital number and proximity, achieving efficient and accurate quantum chemical calculations.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2026-03-31
AI Technical Summary
Existing quantum chemical calculation methods face challenges in reducing processing load while maintaining accuracy, particularly when dividing molecular structures into fragments using density matrix embedding theory.
An information processing method that determines the number of fragments and distributes atoms based on orbital number and proximity, ensuring accurate quantum chemical calculations with reduced processing load.
Facilitates efficient quantum chemical calculations by appropriately dividing molecular structures into fragments, reducing processing load while maintaining accuracy and improving computational efficiency.
Smart Images

Figure 2026055418000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing program, an information processing method, and an information processing apparatus.
Background Art
[0002] Conventionally, in fields such as drug discovery or material development, there is a technology of quantum chemical calculation for analyzing the structure or properties of molecules that are candidates for drugs or materials. In quantum chemical calculation, for example, the ground energy or excitation energy of a molecule is calculated. Here, in order to reduce the processing amount of quantum chemical calculation, there is a density matrix embedding theory in which the structure of a molecule is divided into a plurality of fragments and then the ground energy is calculated.
[0003] As a prior art, for example, there is one in which each atomic group containing atoms that are mutually bonded in a crystal model is created as a fragment model.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] However, in the prior art, it may be difficult to reduce the processing amount of quantum chemical calculation even when using the density matrix embedding theory. For example, it is not clear how to preferably divide the structure of a molecule into a plurality of fragments in order to reduce the processing amount of quantum chemical calculation.
[0006] In one aspect, an object of the present invention is to make it easy to reduce the processing amount.
Means for Solving the Problems
[0007] According to one embodiment, an information processing program, information processing method, and information processing device are proposed that perform the following: first processing, which involves obtaining the number of fragments that divide the structure of a target molecule containing multiple atoms, information that identifies the number of orbitals of each of the multiple atoms, and the coordinates of each of the multiple atoms; first processing, which involves distributing each of the two or more atoms obtained for the number of fragments, in descending order of the number of orbitals, to each of the two or more fragments obtained for the number of fragments, based on the obtained information and the obtained coordinates; and second processing, which involves, for one of the fragments, distributing to that fragment the atoms that are close in distance from the other atoms already distributed to that fragment, from among the remaining atoms of the multiple atoms other than the two or more atoms. The information processing program, information processing method, and information processing device are proposed that distribute the multiple atoms to the two or more fragments and output the two or more fragments to which the multiple atoms have been distributed. [Effects of the Invention]
[0008] According to one embodiment, it becomes possible to easily reduce the processing load. [Brief explanation of the drawing]
[0009] [Figure 1] Figure 1 is an explanatory diagram showing one embodiment of the information processing method according to the embodiment. [Figure 2] Figure 2 is an explanatory diagram showing an example of the information processing system 200. [Figure 3] Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. [Figure 4] Figure 4 is a block diagram showing an example of the functional configuration of the information processing device 100. [Figure 5] Figure 5 is an explanatory diagram showing the operation flow of the information processing device 100. [Figure 6] Figure 6 is an explanatory diagram showing the distribution policy. [Figure 7] Figure 7 is an explanatory diagram showing an example of input data 700. [Figure 8] Figure 8 is an explanatory diagram showing an example of the 800 entries in the periodic table. [Figure 9] Figure 9 is an explanatory diagram (part 1) illustrating an example of distributing multiple atoms into multiple fragments. [Figure 10] Figure 10 is an explanatory diagram (part 2) illustrating an example of distributing multiple atoms into multiple fragments. [Figure 11] Figure 11 is an explanatory diagram (part 3) illustrating an example of distributing multiple atoms into multiple fragments. [Figure 12] Figure 12 is an explanatory diagram (part 4) illustrating an example of distributing multiple atoms into multiple fragments. [Figure 13] Figure 13 is an explanatory diagram (part 5) illustrating an example of distributing multiple atoms into multiple fragments. [Figure 14] Figure 14 is an explanatory diagram (part 6) illustrating an example of distributing multiple atoms into multiple fragments. [Figure 15] Figure 15 is an explanatory diagram showing an example of output data 1500. [Figure 16] Figure 16 is a flowchart showing an example of the overall processing procedure. [Figure 17] Figure 17 is a flowchart showing an example of a distribution processing procedure. [Modes for carrying out the invention]
[0010] Embodiments of the information processing program, information processing method, and information processing apparatus according to the present invention will be described in detail below with reference to the drawings.
[0011] (An embodiment of the information processing method according to the embodiment) FIG. 1 is an explanatory diagram showing an example of an information processing method according to an embodiment. The information processing apparatus 100 is a computer for facilitating appropriate division of the structure of a molecule into a plurality of fragments when performing quantum chemical calculations using the density matrix embedding theory. The information processing apparatus 100 is, for example, a server or a PC (Personal Computer).
[0012] Conventionally, in fields such as drug discovery or material development, it has been desired to perform quantum chemical calculations for calculating the ground energy or excitation energy of a molecule. Here, as the scale of the molecule increases, the amount of processing required for calculating the ground energy of the molecule tends to increase. Specifically, depending on the basis function system, as the scale of the problem increases, the amount of processing required for calculating the ground energy of the molecule tends to increase.
[0013] Also, as the accuracy of calculating the ground energy of a molecule is improved, the amount of processing required for calculating the ground energy of the molecule tends to increase. Specifically, among a plurality of methods that are approximate methods for calculating an approximate solution of the ground energy of a molecule, a method with relatively high accuracy in calculating the approximate solution has a tendency for the amount of processing required for calculating the ground energy of the molecule to increase more than a method with relatively low accuracy in calculating the approximate solution. The approximate methods are, for example, the HF (Hartree Fock) method, the Møller-Plesset method, and the CC (Coupled Cluster) method. Specifically, the CC method for calculating the ground energy of a molecule with high accuracy and the FCI (Full Configuration Interaction) method, which is an exact method, tend to have an increased amount of processing required for calculating the ground energy of the molecule compared to other methods.
[0014] Therefore, it is desirable to reduce the processing load required when performing quantum chemical calculations. To address this, there is a density matrix embedding theory that divides the molecular structure into multiple fragments before calculating the ground state energy of the molecule. Density matrix embedding theory is also called DMET (Density Matrix Embedding Theory). In the following explanation, density matrix embedding theory may sometimes be referred to as "DMET".
[0015] Specifically, DMET repeatedly calculates the number of electrons and energy of each fragment while updating variational parameters so that the sum of the number of electrons in each fragment matches the total number of electrons in the molecule, based on an embedded Hamiltonian that includes bus orbitals representing the interactions between fragments. Specifically, in DMET, the sum of the energies of each fragment becomes the ground state energy of the molecule as a whole.
[0016] In DMET, the accuracy of calculating the overall ground energy of a molecule depends on how the molecular structure is divided into multiple fragments. For example, fewer fragments tend to result in higher accuracy in calculating the overall ground energy of the molecule. Conversely, more fragments tend to reduce the processing load required for quantum chemical calculations. Furthermore, even with the same number of fragments, the accuracy of calculating the overall ground energy of a molecule may differ depending on the pattern in which the molecular structure is divided into multiple fragments.
[0017] Therefore, even when using DMET, it can be difficult to reduce the processing load while maintaining the accuracy of quantum chemical calculations. For example, it is not clear how to divide a molecular structure into multiple fragments in order to reduce the processing load while maintaining the accuracy of quantum chemical calculations. Specifically, no method has been proposed to divide a molecular structure into multiple fragments in order to reduce the processing load of quantum chemical calculations while maintaining the accuracy of calculating the ground energy of the entire molecule.
[0018] Specifically, the larger the molecular size, the greater the number of possible patterns for dividing the molecular structure into multiple fragments. Therefore, it becomes difficult to determine which pattern to follow when dividing the molecular structure into multiple fragments. Specifically, this leads to an increased workload and time for the worker when considering which pattern to follow.
[0019] Therefore, this embodiment describes an information processing method that can easily reduce the amount of processing required. Specifically, this information processing method allows the molecular structure to be divided into multiple fragments in order to reduce the amount of processing required for quantum chemical calculations while maintaining the accuracy of calculating the ground state energy of the entire molecule.
[0020] In Figure 1, the information processing device 100 obtains the number of fragments 101. The number of fragments 101 indicates how many fragments the structure 120 of the target molecule, which contains multiple atoms, is divided into. The information processing device 100 obtains the number of fragments 101 by, for example, receiving the number of fragments 101 in response to user input. The information processing device 100 may also obtain the number of fragments 101 by, for example, receiving the number of fragments 101 from another computer.
[0021] The information processing device 100 obtains the number of orbitals 102 for each of the multiple atoms. The information processing device 100 obtains the number of orbitals 102 for each of the multiple atoms by, for example, referring to a pre-stored periodic table and searching for the number of orbitals 102 for each of the multiple atoms. The information processing device 100 may also obtain the number of orbitals 102 for each of the multiple atoms by, for example, receiving input of the number of orbitals 102 for each of the multiple atoms in response to user input. The information processing device 100 may also obtain the number of orbitals 102 for each of the multiple atoms by, for example, receiving the number of orbitals 102 for each of the multiple atoms from another computer.
[0022] The information processing device 100 acquires the coordinates 103 of each atom of a group of atoms. The information processing device 100 acquires the coordinates 103 of each atom of a group of atoms by, for example, receiving input of the coordinates 103 of each atom of a group of atoms in response to user input. The information processing device 100 may also acquire the coordinates 103 of each atom of a group of atoms by, for example, receiving the coordinates 103 of each atom of a group of atoms from another computer.
[0023] (1-1) Based on the acquired number of orbitals 102 and the acquired coordinates 103, the information processing device 100 distributes multiple atoms into fragments 110 that are 2 / 101 or more of the acquired number of fragments. In this case, the information processing device 100 distributes, for example, one atom each to each of the two or more fragments 110, starting with the atoms with the most orbitals 102, in descending order of the acquired number of fragments 102. The information processing device 100 also distributes, for example, the remaining atoms from the multiple atoms, excluding the two or more atoms that have already been distributed, to each fragment 110 that is close to the other atoms that have already been distributed to that fragment 110. Close means, for example, that the distance between atoms is short.
[0024] This allows the information processing device 100 to determine how it is preferable to divide the molecular structure into two or more fragments in order to reduce the processing load of quantum chemical calculations while maintaining the accuracy of calculating the ground state energy of the entire molecule. The information processing device 100 can appropriately divide the molecular structure into two or more fragments.
[0025] (1-2) The information processing device 100 outputs two or more fragments 110 in which multiple atoms are distributed. The output format may be, for example, display on a screen, print to a printer, transmit to another computer, or store in a memory area. The other computer may be, for example, a computer capable of performing quantum chemical calculations. The information processing device 100 outputs, for example, information indicating each of the one or more atoms distributed to each of the two or more fragments, in association with information indicating each of the fragments.
[0026] This allows the information processing device 100 to utilize two or more fragments that appropriately divide the molecular structure. Therefore, the information processing device 100 can use DMET to perform quantum chemical calculations based on two or more appropriately divided fragments of the molecular structure. The information processing device 100 can reduce the processing load required when performing quantum chemical calculations while maintaining the accuracy of calculating the ground state energy of the entire molecule. The information processing device 100 can reduce the workload and time required for users who wish to divide the molecular structure into two or more fragments.
[0027] (1-3) The information processing device 100 may use DMET to perform quantum chemical calculations based on two or more fragments 110 stored in the device's memory. This allows the information processing device 100 to calculate the ground state energy of the entire molecule. The information processing device 100 can reduce the amount of processing required when performing quantum chemical calculations while maintaining the accuracy of calculating the ground state energy of the entire molecule.
[0028] Here, we have described a case in which the information processing device 100 obtains the number of orbitals 102 of each atom of multiple atoms, but it is not limited to this. For example, the information processing device 100 may obtain a period number that is proportional to the number of orbitals 102 of each atom of multiple atoms. In this case, the information processing device 100 may, for example, based on the period number of each atom, distribute each atom of two or more atoms from the multiple atoms, in descending order of the number of orbitals 102, to each of the two or more fragments 110.
[0029] Here, we have described the case where the functions of the information processing device 100 are realized by a single computer, but this is not the only case. For example, the functions of the information processing device 100 may be realized through the collaboration of multiple computers. For example, the functions of the information processing device 100 may be realized on the cloud.
[0030] (An example of information processing system 200) Next, using Figure 2, we will describe an example of an information processing system 200 to which the information processing device 100 shown in Figure 1 is applied.
[0031] Figure 2 is an explanatory diagram showing an example of an information processing system 200. In Figure 2, the information processing system 200 includes an information processing device 100, one or more chemical calculation devices 201, and one or more client devices 202.
[0032] In the information processing system 200, the information processing device 100 and the chemical calculation device 201 are connected via a wired or wireless network 210. The network 210 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet. In the information processing system 200, the information processing device 100 and the client device 202 are connected via a wired or wireless network 210.
[0033] The information processing device 100 is a computer for dividing the structure of a molecule into two or more fragments. The information processing device 100 receives a processing request that requests to perform quantum chemical calculations on the target molecule using DMET. The processing request includes, for example, the structure of the target molecule.
[0034] The structure of the target molecule includes, for example, the coordinates of each of the multiple atoms that make up the target molecule. The structure of the target molecule also includes, for example, the types of each of the multiple atoms that make up the target molecule. The processing request includes, for example, the number of fragments.
[0035] The information processing device 100 obtains the structure and number of fragments of the target molecule based on the processing request. The information processing device 100 obtains, for example, the coordinates of each atom and the type of each atom based on the processing request. The information processing device 100 stores the periodic table. The periodic table is information that associates the type of atom with the number of orbitals of the atom. The information processing device 100 refers to the periodic table and obtains the number of orbitals of each atom based on the type of atom.
[0036] The information processing device 100 prepares two or more fragments equal to the number of fragments acquired. Based on the coordinates of each atom and the number of orbitals of each atom, the information processing device 100 divides the structure of the target molecule into two or more fragments by distributing each atom to two or more fragments. Specific examples of distribution will be described later using, for example, Figures 5 to 14.
[0037] The information processing device 100 outputs two or more fragments, each containing multiple atoms. Output formats include, for example, display on a screen, printing to a printer, transmission to another computer, or storage in a memory area. The other computer is, for example, a chemical calculation device 201. The information processing device 100 sends a calculation request to one of the chemical calculation devices 201, for example, requesting that a quantum chemical calculation be performed on the target molecule using DMET. The calculation request includes, for example, two or more fragments. The calculation request also includes the structure of the target molecule.
[0038] The information processing device 100 receives the results of quantum chemical calculations performed on the target molecule from one of the chemical calculation devices 201. The information processing device 100 outputs the results of quantum chemical calculations performed on the target molecule. The information processing device 100 transmits, for example, the results of quantum chemical calculations performed on the target molecule to the client device 202. The information processing device 100 may also output the results of quantum chemical calculations performed on the target molecule in a format that can be viewed by the user. The information processing device 100 is, for example, a server or a PC.
[0039] The chemical calculation device 201 is a computer that performs quantum chemical calculations on molecules. One of the chemical calculation devices 201 receives a calculation request from the information processing device 100 that requests to perform quantum chemical calculations on a target molecule using DMET. Based on the calculation request, one of the chemical calculation devices 201 obtains the structure of the target molecule and two or more fragments.
[0040] Any chemical calculation device 201 performs quantum chemical calculations on the target molecule using DMET based on the structure of the target molecule and two or more fragments. Any chemical calculation device 201 may also perform quantum chemical calculations on the target molecule in parallel using DMET in cooperation with other chemical calculation devices 201, based on the structure of the target molecule and two or more fragments.
[0041] Any of the chemical calculation devices 201 generate the results of quantum chemical calculations performed on the target molecule. The results may include, for example, the ground energy of the target molecule. The results may also include, for example, the number of electrons of the target molecule. Any of the chemical calculation devices 201 may, for example, communicate with another chemical calculation device 201 and generate the results of quantum chemical calculations performed on the target molecule. Any of the chemical calculation devices 201 transmit the results of quantum chemical calculations performed on the target molecule to the information processing device 100. A chemical calculation device 201 is, for example, a server or a PC. A chemical calculation device 201 may also be, for example, a quantum computer.
[0042] Client device 202 is a computer used by a user who wishes to perform quantum chemical calculations on a target molecule. The user is, for example, a worker. In response to user input, client device 202 generates a processing request that requests to perform quantum chemical calculations on the target molecule using DMET. In response to user input, client device 202 obtains, for example, the structure and fragment count of the target molecule. Client device 202 generates a processing request that includes, for example, the structure and fragment count of the target molecule.
[0043] The client device 202 transmits the generated processing request to the information processing device 100. The client device 202 receives the results of the quantum chemical calculation performed on the target molecule from the information processing device 100. The client device 202 outputs the results of the quantum chemical calculation performed on the target molecule so that the user can refer to them. The client device 202 may be, for example, a PC, a tablet terminal, or a smartphone.
[0044] This explanation describes a case where the information processing device 100 is a different device from the chemical calculation device 201, but it is not limited to this case. For example, the information processing device 100 may have the functionality of a chemical calculation device 201 and may operate as a chemical calculation device 201. In this case, the information processing system 200 does not need to include a chemical calculation device 201.
[0045] This explanation describes a case where the information processing device 100 is a different device from the client device 202, but it is not limited to this case. For example, the information processing device 100 may have the functionality of a client device 202 and may operate as a client device 202. In this case, the information processing system 200 does not need to include a client device 202.
[0046] (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 using Figure 3.
[0047] Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. In Figure 3, the information processing device 100 includes a CPU (Central Processing Unit) 301, a memory 302, and a network interface 303. The information processing device 100 also includes a recording medium interface 304, a recording medium 305, a display 306, and an input device 307. Each component is connected by a bus 300.
[0048] Here, the CPU 301 is responsible for the overall control of the information processing device 100. The memory 302 includes, for example, ROM (Read Only Memory), RAM (Random Access Memory), and flash ROM. Specifically, for example, flash ROM and ROM store various programs, and RAM is used as the work area for the CPU 301. Programs stored in memory 302 are loaded into the CPU 301, causing the CPU 301 to execute the coded processes.
[0049] The network interface 303 is connected to network 210 via a communication line, and then connects to other computers via network 210. The network interface 303 manages the internal interface with network 210 and controls the input and output of data from other computers. The network interface 303 is, for example, a modem or a LAN adapter.
[0050] The recording medium interface (I / F) 304 controls the reading and writing of data to the recording medium 305 according to the control of the CPU 301. The recording medium interface (I / F) 304 is, for example, a disk drive, an SSD (Solid State Drive), or a USB (Universal Serial Bus) port. The recording medium 305 is a non-volatile memory that stores the data written under the control of the recording medium interface (I / F) 304. The recording medium 305 is, for example, a disk, semiconductor memory, or USB memory. The recording medium 305 may be detachable from the information processing device 100.
[0051] Display 306 displays data such as cursors, icons, toolboxes, documents, images, or functional information. Display 306 is, for example, a CRT (Cathode Ray Tube), a liquid crystal display, or an organic EL (Electroluminescence) display. Input device 307 has keys for inputting characters, numbers, or various instructions, and performs data input. Input device 307 is, for example, a keyboard or a mouse. Input device 307 may also be, for example, a touch panel input pad or a numeric keypad.
[0052] The information processing device 100 may have, in addition to the components described above, a camera, for example. Furthermore, the information processing device 100 may have, in addition to the components described above, a printer, scanner, microphone, or speaker, for example. Also, the information processing device 100 may have multiple recording medium interfaces 304 and recording mediums 305, for example. Furthermore, the information processing device 100 does not necessarily have, for example, a display 306 or an input device 307. Also, the information processing device 100 does not necessarily have, for example, recording medium interfaces 304 and recording mediums 305.
[0053] (Example hardware configuration of chemical calculation system 201) The hardware configuration example of the chemical calculation device 201 is specifically the same as the hardware configuration example of the information processing device 100 shown in Figure 3, so a detailed explanation is omitted.
[0054] (Example hardware configuration for client device 202) The hardware configuration example for client device 202 is specifically the same as the hardware configuration example for information processing device 100 shown in Figure 3, so a detailed explanation is omitted.
[0055] (Example of the functional configuration of the information processing device 100) Next, an example of the functional configuration of the information processing device 100 will be described using Figure 4.
[0056] Figure 4 is a block diagram showing an example of the functional configuration of the information processing device 100. The information processing device 100 includes a storage unit 400, an acquisition unit 401, a distribution unit 402, an implementation unit 403, and an output unit 404. The distribution unit 402 includes a first distribution unit 411 and a second distribution unit 412.
[0057] The storage unit 400 is implemented by a storage area such as the memory 302 or recording medium 305 shown in Figure 3. The following description will focus on the case where the storage unit 400 is included in the information processing device 100, but is not limited to this case. For example, the storage unit 400 may be included in a device different from the information processing device 100, and the contents of the storage unit 400 may be accessible from the information processing device 100.
[0058] The acquisition unit 401 to the output unit 404 function as an example of a control unit. Specifically, the acquisition unit 401 to the output unit 404 realize their functions, for example, by having the CPU 301 execute a program stored in a storage area such as the memory 302 or recording medium 305 shown in Figure 3, or by using the network interface 303. The processing results of each functional unit are stored in a storage area such as the memory 302 or recording medium 305 shown in Figure 3.
[0059] The memory unit 400 stores various types of information that are referenced or updated during processing in each functional unit. For example, the memory unit 400 stores the structure of a target molecule containing multiple atoms. The structure of the target molecule includes, for example, the coordinates of each of the multiple atoms that make up the target molecule. The structure of the target molecule also includes, for example, the types of each of the multiple atoms that make up the target molecule. The structure of the target molecule is acquired, for example, by the acquisition unit 401.
[0060] The memory unit 400 stores, for example, the number of fragments that divide the structure of the target molecule. The number of fragments is obtained, for example, by the acquisition unit 401. The number of fragments may be pre-set by the user, for example. The memory unit 400 stores, for example, a periodic table that associates the types of atoms with the number of orbitals of the atoms. The periodic table is obtained, for example, by the acquisition unit 401. The periodic table may be pre-set by the user, for example.
[0061] The memory unit 400 stores, for example, orbital number information that identifies the number of orbitals of each atom among multiple atoms. The orbital number information is, for example, the number of orbitals of each atom itself. The orbital number information may also be, for example, the number of periods proportional to the number of orbitals of each atom. The orbital number information is acquired, for example, by the acquisition unit 401.
[0062] The acquisition unit 401 acquires various types of information used in the processing of each functional unit. The acquisition unit 401 stores the acquired information in the storage unit 400 or outputs it to each functional unit. The acquisition unit 401 may also output the information stored in the storage unit 400 to each functional unit. The acquisition unit 401 acquires various types of information, for example, based on user input. The acquisition unit 401 may also receive various types of information from a device other than the information processing device 100, for example.
[0063] The acquisition unit 401 acquires, for example, the periodic table. Specifically, the acquisition unit 401 acquires the periodic table by receiving input of the periodic table. Specifically, the acquisition unit 401 may acquire the periodic table by receiving the periodic table from another computer. The other computer is, for example, a client device 202.
[0064] The acquisition unit 401 acquires a processing request, for example, that requests to divide the structure of the target molecule into two or more fragments. The processing request may further request that quantum chemical calculations be performed on the target molecule using DMET. The processing request may include, for example, the structure of the target molecule. The processing request may include, for example, the number of fragments. The processing request may include, for example, orbital number information.
[0065] Specifically, the acquisition unit 401 acquires processing requests by receiving input processing requests. Specifically, the acquisition unit 401 may acquire processing requests by receiving processing requests from other computers. Other computers are, for example, client devices 202.
[0066] The acquisition unit 401 acquires, for example, the structure of the target molecule. Specifically, the acquisition unit 401 acquires the structure of the target molecule by extracting the structure of the target molecule from the processing request. Specifically, the acquisition unit 401 may acquire the structure of the target molecule by receiving the structure of the target molecule as input. Specifically, the acquisition unit 401 may acquire the structure of the target molecule by receiving the structure of the target molecule from another computer. The other computer is, for example, a client device 202.
[0067] The acquisition unit 401 acquires, for example, the number of fragments. Specifically, the acquisition unit 401 acquires the number of fragments by extracting the number of fragments from the processing request. Specifically, the acquisition unit 401 may acquire the number of fragments by accepting the number of fragments as input. Specifically, the acquisition unit 401 may acquire the number of fragments by receiving the number of fragments from another computer. The other computer is, for example, the client device 202.
[0068] The acquisition unit 401 acquires, for example, orbital number information. Specifically, the acquisition unit 401 acquires orbital number information by extracting orbital number information from a processing request. Specifically, the acquisition unit 401 may acquire orbital number information by accepting input of orbital number information. Specifically, the acquisition unit 401 may acquire orbital number information by receiving orbital number information from another computer. The other computer is, for example, a client device 202. Specifically, the acquisition unit 401 may acquire orbital number information by referring to the periodic table and identifying the orbital number information.
[0069] The acquisition unit 401 may receive a start trigger to initiate processing in any of the functional units. A start trigger may be, for example, a predetermined operation input by a user. A start trigger may also be, for example, the receipt of predetermined information from another computer. A start trigger may also be, for example, the output of predetermined information by any of the functional units. The acquisition unit 401 accepts, for example, the acquisition of a processing request as a start trigger to initiate processing in the distribution unit 402 and the implementation unit 403.
[0070] The distribution unit 402 prepares two or more fragments equal to the number of fragments acquired by the acquisition unit 401. The distribution unit 402, using a first distribution unit 411 and a second distribution unit 412, distributes multiple atoms into two or more fragments based on the orbital number information acquired by the acquisition unit 401 and the coordinates of each atom acquired by the acquisition unit 401. As a result, the distribution unit 402 can appropriately divide the structure of the target molecule into two or more fragments, thereby reducing the processing load required when performing quantum chemical calculations while maintaining the accuracy of the quantum chemical calculations.
[0071] The first distribution unit 411, based on the number of orbitals and the coordinates of each atom, distributes one atom each to each of the two or more fragments, in descending order of the number of orbitals among the multiple atoms, up to the number of fragments. For example, the first distribution unit 411 selects the first fragment of any of the two or more fragments. For example, the first distribution unit 411 takes one of the first atoms with the most orbitals among the multiple atoms and distributes it to the selected first fragment.
[0072] The first distribution unit 411, for example, selects each of the remaining second fragments from among two or more fragments, excluding the selected first fragment, one by one. Each time a second fragment is selected, the first distribution unit 411 selects one of the one or more second atoms with the most orbitals from among multiple atoms, the second atom closest to the selected first atom, and distributes it to the second fragment. In this way, the first distribution unit 411 can distribute the first atom to each of the two or more fragments.
[0073] The second distribution unit 412, based on the orbital number information and the coordinates of each atom, distributes to the fragment the atoms that are closest to the other atoms already distributed to the fragment, from among the remaining atoms other than the two or more atoms that have already been extracted. The second distribution unit 412, for example, recursively selects each of the two or more fragments in sequence. Each time a fragment is selected, the second distribution unit 412 selects one or more third atoms from the remaining atoms that have the most orbitals, and distributes to the fragment the third atom that is closest to the atom that was immediately distributed to the fragment. In this way, the second distribution unit 412 can distribute multiple atoms to each of the two or more fragments.
[0074] The implementation unit 403 performs quantum chemical calculations according to DMET based on two or more fragments from which multiple atoms have been distributed by the distribution unit 402. The implementation unit 403 generates the results of the quantum chemical calculations. The results may include, for example, the ground state energy of the target molecule. The results may also include, for example, the number of electrons of the target molecule. This allows the implementation unit 403 to perform quantum chemical calculations accurately and efficiently.
[0075] The implementation unit 403 may control one or more chemical calculation devices 201 to perform quantum chemical calculations according to DMET based on two or more fragments from which multiple atoms have been distributed by the distribution unit 402. The implementation unit 403 receives the results of the quantum chemical calculations from the chemical calculation devices 201. This allows the implementation unit 403 to perform quantum chemical calculations accurately and efficiently.
[0076] The output unit 404 outputs the processing result of at least one of the functional units. The output format can be, for example, display on a screen, print to a printer, transmit to an external device via the network interface 303, or store in a storage area such as the memory 302 or recording medium 305. This allows the output unit 404 to notify the user of the processing result of at least one of the functional units, thereby improving the usability of the information processing device 100.
[0077] The output unit 404 outputs, for example, two or more fragments in which multiple atoms are distributed. Specifically, the output unit 404 outputs information indicating each of the one or more atoms distributed to each of the two or more fragments, in association with information indicating each of the fragments.
[0078] More specifically, the output unit 404 outputs information indicating each of the one or more atoms distributed to two or more fragments, associated with information indicating each fragment, in a way that can be referenced by the user. More specifically, the output unit 404 may also transmit information indicating each of the one or more atoms distributed to two or more fragments, associated with information indicating each fragment, to another computer. This allows the output unit 404 to make two or more fragments with multiple atoms distributed to them available for use. As a result, the output unit 404 can reduce the amount of processing required when performing quantum chemical calculations while maintaining the accuracy of the quantum chemical calculations.
[0079] The output unit 404 outputs, for example, the results of a quantum chemical calculation. Specifically, the output unit 404 outputs the results of the quantum chemical calculation in a way that is accessible to the user. Specifically, the output unit 404 may also transmit the results of the quantum chemical calculation to another computer. This allows the information processing device 100 to make the results of the quantum chemical calculation available.
[0080] (An example of the operation of the information processing device 100) Next, an example of the operation of the information processing device 100 will be explained using Figures 5 to 14. First, Figure 5 will be used to explain the flow of operation of the information processing device 100.
[0081] Figure 5 is an explanatory diagram showing the operation flow of the information processing device 100. In Figure 5, the information processing device 100 acquires the structure 500 of the target molecule. The structure 500 includes the type of each atom and the coordinates of each atom of the multiple atoms that make up the target molecule.
[0082] In the example in Figure 5, the molecule in question is specifically tetraethoxysilane. Tetraethoxysilane is also known as TEOS (TetraEthyl OrthoSilicate). In the example in Figure 5, the atoms are specifically Si atoms, 4 O atoms, 8 C atoms, and 20 H atoms.
[0083] Furthermore, the information processing device 100 obtains the number of divisions, which indicates how many fragments the target molecule structure 500 will be divided into. The number of divisions corresponds to the number of fragments. In the example in Figure 5, the number of divisions is specifically 4.
[0084] The information processing device 100 stores the periodic table. The information processing device 100 refers to the periodic table and obtains the number of orbitals for each of the multiple atoms. The information processing device 100 prepares multiple fragments equal to the number of divisions obtained.
[0085] The information processing device 100 divides the target molecule structure 500 into multiple fragments in order to equalize the processing load among the fragments while maintaining the accuracy of the quantum chemical calculations. Here, the problem scale of the quantum chemical calculations depends on the number of orbitals of the atoms. Therefore, the information processing device 100 divides the target molecule structure 500 into multiple fragments by distributing multiple atoms into multiple fragments based on the number of orbitals of each atom.
[0086] For example, once the information processing device 100 has finished dividing the structure 500 of the target molecule into multiple fragments, it outputs the structure 510 of the target molecule after it has been divided into multiple fragments. In structure 510, the circled area indicates the extent of one fragment. For example, once the information processing device has finished dividing the structure 500 of the target molecule into multiple fragments, it outputs the number of atoms in each of the multiple fragments.
[0087] Below, using Figure 6, we will examine the approach taken by the information processing device 100 to distribute multiple atoms into multiple fragments, and then, using Figures 7 to 14, we will explain an example of how the information processing device 100 distributes multiple atoms into multiple fragments. First, we will move on to the explanation of Figure 6.
[0088] Figure 6 is an explanatory diagram illustrating the distribution strategy. Graph 600 in Figure 6 shows the accuracy of quantum chemical calculations in patterns 601 to 604, which divide the TEOS molecule into multiple fragments. Accuracy is evaluated, for example, by the error in the calculation results of the quantum chemical calculation for the entire TEOS molecule. A smaller error value is preferable. The basis set used when performing the quantum chemical calculations is assumed to be STO-3G. The solution method used when performing the quantum chemical calculations is assumed to be CCSD, a type of CC method. Also, in patterns 601 to 604, the circled area indicates the range of a single fragment.
[0089] As shown in Graph 600, it is thought that a smaller number of divisions tends to result in higher accuracy in quantum chemical calculations. Specifically, patterns 603 and 604 yield higher accuracy in quantum chemical calculations than patterns 601 and 602. On the other hand, it is also thought that a larger number of divisions tends to reduce the processing load required to perform quantum chemical calculations. Maintaining accuracy in quantum chemical calculations and reducing the processing load required to perform quantum chemical calculations are a trade-off.
[0090] Furthermore, as shown in Graph 600, it is thought that the accuracy of quantum chemical calculations tends to be higher when the diameter of each fragment is longer. Specifically, the accuracy of quantum chemical calculations is higher for patterns 603 and 604 than for patterns 601 and 602. Also, as shown in Graph 600, it is thought that the accuracy of quantum chemical calculations tends to be higher when nearby atoms are included in the same fragment. Specifically, the accuracy of quantum chemical calculations is higher for pattern 604 than for pattern 603.
[0091] Therefore, considering the trade-off between maintaining the accuracy of quantum chemical calculations and reducing the processing load required when performing quantum chemical calculations, it is preferable that the information processing device 100 accepts input for the number of divisions in response to user input and obtains the number of divisions.
[0092] Furthermore, it is considered preferable for the information processing device 100 to distribute atoms to each fragment in a round-robin fashion, starting with the atoms that have the most orbitals. This is expected to equalize the number of orbitals of atoms in each fragment, making it easier to reduce the processing load when performing quantum chemical calculations.
[0093] Furthermore, it is considered preferable as a distribution strategy that the atoms initially distributed by the information processing device 100 to each fragment are atoms located in close proximity to each other. According to this, it is expected that atoms belonging to different branches on the structure 500 of the target molecule will be distributed to different fragments, thereby increasing the diameter of each fragment.
[0094] Furthermore, it is considered preferable as a distribution strategy that the atoms that the information processing device 100 distributes to each fragment from the second to the subsequent atoms are atoms located at coordinates close to the atom that was immediately distributed to that fragment. According to this, it is expected that atoms located at coordinates close to each other on the structure 500 of the target molecule will be distributed to the same fragment, while increasing the diameter of each fragment.
[0095] Next, an example of the operation of the information processing device 100 will be explained using Figures 7 to 14. Specifically, an example will be described in which the information processing device 100 distributes multiple atoms into multiple fragments in accordance with the various policies described above. First, let's move on to the explanation of Figure 7.
[0096] Figure 7 is an explanatory diagram showing an example of input data 700. In Figure 7, the information processing device 100 acquires input data 700 showing the structure of the TEOS molecule. The leftmost column of the input data 700 is the row number. The first row of the input data 700 shows the number of atoms in the TEOS molecule = 33. The second row of the input data 700 is the comment column. From the third row onward, the input data 700 shows the type of atom and the coordinates of the atom. As an example, Figure 7 shows the case where the type of atom and the coordinates of the atom are arranged in descending order of the number of orbitals. The types are, for example, Si, O, C, or H. The coordinates are a combination of x, y, and z coordinate values in three-dimensional space. The information processing device 100 also acquires the number of divisions = 4. Next, we will move on to the explanation of Figure 8.
[0097] Figure 8 is an explanatory diagram showing an example of the periodic table 800. In Figure 8, the information processing device 100 stores the periodic table 800. Each of the multiple atoms in the first row of the periodic table 800 is a 1-period atom. The number of orbitals for a 1-period atom is 1. Each of the multiple atoms in the second row of the periodic table 800 is a 2-period atom. The number of orbitals for a 2-period atom is 5.
[0098] Each of the atoms in the third row of the periodic table 800 is a period 3 atom. A period 3 atom has 9 orbitals. Each of the atoms in the fourth row of the periodic table 800 is a period 4 atom. A period 4 atom has 18 orbitals. Each of the atoms in the fifth row of the periodic table 800 is a period 5 atom. A period 5 atom has 27 orbitals.
[0099] The information processing device 100 generates a periodic dictionary that classifies the multiple atoms forming the TEOS molecule by period, based on the input data 700 and the periodic table 800. Specifically, the periodic dictionary is {"p3":[Si], "p2"[O0,···,O3,C0,···,C7], "p1"[H0,···,H19]}. px is the index of the group of atoms in period x. The numbers after O, C, and H are numbers that identify different atoms of the same type. Next, we will move on to the explanation of Figure 9.
[0100] Figures 9 to 14 are explanatory diagrams illustrating an example of distributing multiple atoms into multiple fragments. Figure 9 shows the structure 900 of the TEOS molecule as represented by input data 700. In the structure 900 of the TEOS molecule, each circle represents an atom. The size of the circle corresponds to the number of periodicities and orbitals of the atom. Circles with stippling hatches correspond to Si atoms. Circles with diagonal hatches correspond to O atoms. Circles with horizontal hatches correspond to C atoms. Circles without hatching correspond to H atoms.
[0101] The information processing device 100 prepares multiple fragments equal to the number of divisions. For example, the information processing device 100 prepares four fragments F_n, where n = 0, 1, 2, and 3. The information processing device 100 also prepares a variable Npop that represents the total number of atoms distributed. The initial value of Npop is 1. Next, we will move on to the explanation of Figure 10.
[0102] In Figure 10, the information processing device 100 extracts the first atom from the group of atoms with the longest period in the periodic dictionary and distributes it to fragment F_0. Here, the information processing device 100 removes the atom from the periodic dictionary by extracting it.
[0103] In the example in Figure 10, as shown in pattern 1000, the information processing device 100 takes the leading Si atom from the atom group “p3”:[Si] and distributes it to fragment F_0. As a result, the periodic dictionary is modified so that the atom group “p3”:[Si] is removed, and the result is {“p2”[O0,···,O3,C0,···,C7],“p1”[H0,···,H19]}. The initial value of Npop, 1, indicates that one atom has now been distributed to fragment F_0.
[0104] Pattern 1000 indicates which atom was allocated to which fragment F_n during the process of distributing multiple atoms to multiple fragments F_n. The "nm" next to the circle in the figure is a symbol indicating that the atom corresponding to that circle was allocated to fragment F_n as the mth allocation. m is a non-negative integer. Next, we will move on to the explanation of Figure 11.
[0105] In Figure 11, the information processing device 100 extracts the atom group with the longest period from the periodic dictionary. Here, the information processing device 100 removes the atom group from the periodic dictionary. In the example in Figure 11, the information processing device 100 extracts the atom group "p2" [O0,···,O3,C0,···,C7] from the periodic dictionary. Therefore, the periodic dictionary becomes {"p1" [H0,···,H19]}.
[0106] The information processing device 100 determines whether Npop < number of divisions. Since Npop is 1, the information processing device 100 determines that Npop < number of divisions. If Npop < number of divisions, the information processing device 100 sets the atom allocated to fragment F_0 at the 0th position as the reference atom. In the example in Figure 11, the information processing device 100 sets the Si atom as the reference atom.
[0107] The information processing device 100, based on the coordinates of the atoms, selects the atom closest to the reference atom from the extracted group of atoms "p2" [O0,···,O3,C0,···,C7] and distributes it to fragment F_(Npop% number of divisions). The Npop% number of divisions represents the remainder when Npop is divided by the number of divisions.
[0108] In the example in Figure 11, as shown in pattern 1100, the information processing device 100 selects the O0 atom closest to the Si atom and distributes it to fragment F_1. The information processing device 100 also adds 1 to Npop in accordance with the distribution of the O0 atom to fragment F_1. Therefore, Npop becomes 2. Pattern 1100 indicates which atom was distributed to which fragment F_n during the process of distributing multiple atoms to multiple fragments F_n. Next, we will move on to the explanation of Figure 12.
[0109] In Figure 12, the information processing device 100 determines whether the extracted group of atoms is empty or not. In the example in Figure 12, the information processing device 100 determines that the extracted group of atoms "p2" [O1,···,O3,C0,···,C7] is not empty.
[0110] If the extracted group of atoms is not empty, the information processing device 100 determines whether Npop < number of divisions. Since Npop is 2, the information processing device 100 determines that Npop < number of divisions. If Npop < number of divisions, the information processing device 100 sets the atom allocated to fragment F_0 at the 0th position as the reference atom. In the example in Figure 12, the information processing device 100 sets the Si atom as the reference atom.
[0111] The information processing device 100, based on the coordinates of the atoms, selects the atom closest to the reference atom from the extracted group of atoms "p2" [O1,···,O3,C0,···,C7] and distributes it to fragment F_(Npop% number of divisions). The Npop% number of divisions represents the remainder when Npop is divided by the number of divisions.
[0112] In the example in Figure 12, as shown in pattern 1200, the information processing device 100 selects the O1 atom closest to the Si atom and distributes it to fragment F_2. The information processing device 100 also adds 1 to Npop in accordance with the distribution of the O1 atom to fragment F_2. Therefore, Npop becomes 3. Pattern 1200 indicates which atom was distributed to which fragment F_n during the process of distributing multiple atoms to multiple fragments F_n.
[0113] The information processing device 100 repeats a series of processes until Npop ≥ number of divisions, setting a reference atom, selecting the atom closest to the set reference atom from the extracted group of atoms, and distributing it to fragment F_(Npop% number of divisions). In this process, if the extracted group of atoms becomes empty before Npop ≥ number of divisions, the information processing device 100 newly extracts the group of atoms with the longest period in the periodic dictionary.
[0114] In the example shown in Figure 12, the information processing device 100 extracts O2 atoms and distributes them to fragment F_3 until Npop ≥ number of divisions. The information processing device 100 also adds 1 to Npop for each O2 atom distributed to fragment F_3. Therefore, Npop becomes 4. Thus, Npop ≥ number of divisions.
[0115] As a result, the information processing device 100 can distribute the atoms to each fragment F_n in a round-robin fashion, starting with the atoms with the most orbitals, in accordance with the above-mentioned policy. Therefore, the information processing device 100 can equalize the number of orbitals of the atoms in each fragment F_n, making it easier to reduce the processing load required when performing quantum chemical calculations.
[0116] Furthermore, following the above-mentioned policy, the information processing device 100 can initially distribute atoms to each fragment F_n to atoms that are located in close proximity to each other. Therefore, the information processing device 100 can distribute atoms belonging to different branches of the target molecule's structure 900 to different fragments F_n, thereby increasing the diameter of each fragment F_n. Next, we will move on to the explanation of Figure 13.
[0117] In Figure 13, the information processing device 100 determines whether the extracted group of atoms is empty or not. In the example in Figure 13, the information processing device 100 determines that the extracted group of atoms "p2" [O3,C0,···,C7] is not empty.
[0118] If the extracted group of atoms is not empty, the information processing device 100 determines whether Npop < number of divisions. Since Npop is 4, the information processing device 100 determines that Npop ≥ number of divisions. If Npop ≥ number of divisions, the information processing device 100 sets the atom that was immediately allocated to fragment F_(Npop % number of divisions) as the reference atom. In the example in Figure 13, the information processing device 100 sets the Si atom that was immediately allocated to fragment F_0 as the reference atom.
[0119] The information processing device 100 selects the atom closest to the reference atom from the extracted group of atoms "p2" [O3, C0, ..., C7] based on the coordinates of the atoms, and distributes it into fragments F_ (Npop% number of divisions).
[0120] In the example in Figure 13, as shown in pattern 1300, the information processing device 100 selects the O3 atom closest to the Si atom and distributes it to fragment F_0. The information processing device 100 also adds 1 to Npop in accordance with the distribution of the O3 atom to fragment F_0. Therefore, Npop becomes 5. Pattern 1300 indicates which atom was distributed to which fragment F_n during the process of distributing multiple atoms to multiple fragments F_n. Next, we will move on to the explanation of Figure 14.
[0121] In Figure 14, the information processing device 100 determines whether the extracted group of atoms is empty or not. In the example in Figure 14, the information processing device 100 determines that the extracted group of atoms "p2" [C0,···,C7] is not empty.
[0122] If the extracted group of atoms is not empty, the information processing device 100 determines whether Npop < number of divisions. Since Npop is 5, the information processing device 100 determines that Npop ≥ number of divisions. If Npop ≥ number of divisions, the information processing device 100 sets the atom that was immediately allocated to fragment F_(Npop % number of divisions) as the reference atom. In the example in Figure 14, the information processing device 100 sets the O1 atom that was immediately allocated to fragment F_1 as the reference atom.
[0123] The information processing device 100 selects the atom closest to the reference atom from the extracted group of atoms "p2" [C0,···,C7] based on the coordinates of the atoms, and distributes it into fragments F_(Npop% number of divisions).
[0124] In the example in Figure 14, as shown in pattern 1400, the information processing device 100 selects the C1 atom closest to the O1 atom and distributes it to fragment F_1. The information processing device 100 also adds 1 to Npop in accordance with the distribution of the C1 atom to fragment F_1. Therefore, Npop becomes 6. Pattern 1400 indicates which atom was distributed to which fragment F_n during the process of distributing multiple atoms to multiple fragments F_n.
[0125] The information processing device 100 repeats a series of processes until the extracted atom group is empty, setting a reference atom, selecting the atom closest to the set reference atom from the extracted atom group, and distributing it to fragment F_(Npop% division number). In this way, the information processing device 100 can distribute each of the atoms from C1 to C7 to their respective fragments F_n.
[0126] If the extracted atom group becomes empty, the information processing device 100 extracts a new atom group with the longest period in the periodic dictionary. By extracting the atom group, the information processing device 100 deletes that atom group from the periodic dictionary. For example, the information processing device 100 extracts the atom group "p1" [H0,···,H19] from the periodic dictionary. As a result, the periodic dictionary becomes empty.
[0127] The information processing device 100 repeats a series of processes until the extracted atom group is empty, setting a reference atom, selecting the atom closest to the set reference atom from the extracted atom group, and distributing it to fragment F_(Npop% division number). In this way, the information processing device 100 can distribute each atom from H1 to H19 to its respective fragment F_n.
[0128] In this way, the information processing device 100 can distribute atoms to each fragment F_n in a round-robin fashion, starting with the atoms with the most orbitals, according to the above-mentioned policy. Therefore, the information processing device 100 can equalize the number of orbitals of atoms in each fragment F_n, making it easier to reduce the processing load required when performing quantum chemical calculations.
[0129] Furthermore, in accordance with the above-mentioned policy, the information processing device 100 can allocate the second and subsequent atoms to each fragment F_n to atoms located at coordinates close to the atom that was immediately allocated to that fragment F_n. Therefore, the information processing device 100 can allocate atoms located at coordinates close to each other to the same fragment F_n on the structure 900 of the target molecule, while increasing the diameter of each fragment F_n.
[0130] Furthermore, the information processing device 100 can divide the structure 900 of the TEOS molecule into multiple fragments F_n of a number desired by the user, taking into consideration the trade-off between maintaining the accuracy of quantum chemical calculations and reducing the processing load required when performing quantum chemical calculations. As a result, the information processing device 100 can reduce the processing load required when performing quantum chemical calculations while maintaining the accuracy of the quantum chemical calculations.
[0131] Furthermore, the information processing device 100 can easily equalize the number of atomic orbitals in each fragment F_n, regardless of the structure of the target molecule, depending on the positional relationship between atoms, rather than the connection relationship between atoms. Therefore, the information processing device 100 can reduce the amount of processing required when performing quantum chemical calculations.
[0132] The information processing device 100 determines that it has finished dividing the structure 900 of the TEOS molecule into multiple fragments F_n when the periodic dictionary becomes empty. The information processing device 100 generates output data 1500, which will be described later in Figure 15, showing the multiple fragments F_n. The information processing device 100 outputs the output data 1500 and the number of atoms in each fragment F_n. Next, we will move on to the explanation of Figure 15 and describe an example of output data 1500.
[0133] Figure 15 is an explanatory diagram showing an example of output data 1500. In Figure 15, the leftmost column of output data 1500 is the row number. The first row of output data 1500 shows the number of atoms in the TEOS molecule = 33. The second row of output data 1500 is the comments column. From the third row onward of output data 1500, the types of atoms and their coordinates are sorted for each fragment F_n. The types are, for example, Si, O, C, or H. The coordinates are a combination of x, y, and z coordinate values in three-dimensional space.
[0134] For example, lines 3 through 11 of output data 1500 correspond to fragment F_0. The boundary of the line range corresponding to fragment F_n in output data 1500 can be determined, for example, based on the change in the number of trajectories between lines. The information processing device 100 may store, for example, the boundary of the line range corresponding to fragment F_n in output data 1500.
[0135] The information processing device 100 may perform quantum chemical calculations using DMET based on the output data 1500. The information processing device 100 may, for example, control the chemical calculation device 201 and perform quantum chemical calculations using DMET. The information processing device 100 outputs the results of the quantum chemical calculations performed using DMET. This allows the information processing device 100 to perform quantum chemical calculations using DMET accurately and efficiently. The information processing device 100 can make the results of the quantum chemical calculations performed using DMET available for use.
[0136] (Overall processing procedure) Next, an example of the overall processing procedure executed by the information processing device 100 will be described using Figure 16. The overall processing implements, for example, an example of the operation of the information processing device 100 shown in Figures 7 to 14. The overall processing is implemented, for example, by the CPU 301 shown in Figure 3, storage areas such as memory 302 and recording medium 305, and network I / F 303.
[0137] Figure 16 is a flowchart showing an example of the overall processing procedure. In Figure 16, the information processing device 100 obtains the molecular structure and the number of divisions (step S1601). Next, the information processing device 100 refers to the periodic table and obtains the number of orbitals of each atom of the multiple atoms that make up the molecule (step S1602).
[0138] Then, the information processing device 100 distributes each atom into multiple fragments equal to the number of divisions, based on the molecular structure, the number of divisions, and the number of orbitals of each atom (step S1603). Specifically, the information processing device 100 distributes each atom into multiple fragments equal to the number of divisions by performing the distribution process described later using Figure 17.
[0139] Next, the information processing device 100 generates a molecular structure by sorting the atoms of each fragment based on the multiple fragments (step S1604). Then, the information processing device 100 outputs the generated molecular structure and the number of atoms in each fragment (step S1605). After that, the information processing device 100 terminates the entire process.
[0140] (Distribution processing procedure) Next, an example of a distribution processing procedure performed by the information processing device 100 will be described using Figure 17. The distribution processing is realized, for example, by the CPU 301 shown in Figure 3, storage areas such as memory 302 and recording media 305, and network I / F 303.
[0141] Figure 17 is a flowchart showing an example of a distribution processing procedure. In Figure 17, the information processing device 100 obtains a coordinate list representing the molecular structure, the number of divisions, and the number of orbitals of each atom (step S1701).
[0142] Next, the information processing device 100 generates a periodic dictionary in which each atom is grouped into periodic units based on the number of orbitals of the atom (step S1702). Then, the information processing device 100 takes an atom from the list of atoms with the longest period in the periodic dictionary and distributes it to fragment F_0 (step S1703).
[0143] Next, the information processing device 100 retrieves the list of atoms with the longest period in the periodic dictionary (step S1704). Then, the information processing device 100 determines whether Npop < number of divisions (step S1705). If Npop < number of divisions (step S1705: Yes), the information processing device 100 proceeds to step S1706. On the other hand, if Npop ≥ number of divisions (step S1705: No), the information processing device 100 proceeds to step S1707.
[0144] In step S1706, the information processing device 100 sets the atom initially distributed to fragment F_0 as the reference atom (step S1706). Then, the information processing device 100 proceeds to the process in step S1708.
[0145] In step S1707, the information processing device 100 sets the atom that was immediately allocated to fragment F_(Npop% division number) as the reference atom (step S1707). Then, the information processing device 100 proceeds to the process in step S1708.
[0146] In step S1708, the information processing device 100 searches the extracted list of atoms for the atom closest to the set reference atom (step S1708). Then, the information processing device 100 extracts the discovered atom from the extracted list of atoms and distributes it to fragment F_(Npop% number of divisions) (step S1709).
[0147] Next, the information processing device 100 adds 1 to Npop (step S1710). Then, the information processing device 100 determines whether the retrieved atom list is empty or not (step S1711). If the atom list is not empty (step S1711: No), the information processing device 100 returns to the process in step S1705. On the other hand, if the atom list is empty (step S1711: Yes), the information processing device 100 proceeds to the process in step S1712.
[0148] In step S1712, the information processing device 100 determines whether the periodic dictionary is empty or not (step S1712). If the periodic dictionary is not empty (step S1712: No), the information processing device 100 returns to the process in step S1704. On the other hand, if the periodic dictionary is empty (step S1712: Yes), the information processing device 100 terminates the distribution process.
[0149] Here, the information processing device 100 may execute some steps of the flowcharts in Figures 16 and 17 in a different order. For example, the order of steps S1601 and S1602 can be changed. Also, the information processing device 100 may omit some steps of the flowcharts in Figures 16 and 17.
[0150] (Examples of applications of the information processing device 100) The information processing device 100 can be applied, for example, to fields such as drug discovery or materials development. Specifically, the information processing device 100 can be applied in fields such as drug discovery or materials development when it is desirable to perform quantum chemical calculations to calculate the ground state energy of molecules in order to analyze the structure or properties of molecules that are candidates for drugs or materials. As a result, the information processing device 100 can reduce the amount of processing required when performing quantum chemical calculations while maintaining the accuracy of the quantum chemical calculations, making it easier to calculate the ground state energy of molecules, and thus contributing to fields such as drug discovery or materials development.
[0151] As explained above, the information processing device 100 can obtain the number of fragments that divide the structure of a target molecule containing multiple atoms, information that identifies the number of orbitals of each of the multiple atoms, and the coordinates of each atom. Based on the obtained information and coordinates, the information processing device 100 can distribute the multiple atoms into two or more fragments. For example, the information processing device 100 can distribute each of the two or more atoms obtained for the number of fragments, in descending order of the number of orbitals, to each of the two or more fragments obtained for the number of fragments. For example, the information processing device 100 can distribute the remaining atoms other than the two or more atoms that are close to the other atoms already distributed to each fragment to that fragment. The information processing device 100 can output two or more fragments into which the multiple atoms have been distributed. In this way, the information processing device 100 can divide the structure of a target molecule into two or more fragments in order to reduce the amount of processing required when performing quantum chemical calculations while maintaining the accuracy of the quantum chemical calculations.
[0152] According to the information processing device 100, it is possible to select a first fragment from any of two or more fragments. According to the information processing device 100, it is possible to take one of the first atoms with the most orbitals among multiple atoms and distribute it to the selected first fragment. According to the information processing device 100, it is possible to select each of the remaining second fragments from the two or more fragments, excluding the selected first fragment, one by one in order. According to the information processing device 100, it is possible to take one of the second atoms with the most orbitals among multiple atoms that is closest to any of the first atoms and distribute it to the selected second fragment. In this way, the information processing device 100 can appropriately distribute each of the two or more atoms in the number of fragments, in descending order of orbital count, one atom at a time, to each of the two or more fragments.
[0153] According to the information processing device 100, each of two or more fragments can be recursively selected in sequence. According to the information processing device 100, from among the remaining atoms, one or more third atoms with the largest number of orbitals can be selected, and one third atom that is close to the atom that was immediately allocated to the selected fragment can be taken and allocated to the selected fragment. In this way, the information processing device 100 can appropriately allocate atoms from among the remaining atoms other than two or more atoms that are close to the other atoms already allocated to each fragment to that fragment.
[0154] According to the information processing device 100, information representing each of the one or more atoms distributed to two or more fragments can be output in association with information representing each of the fragments. This allows the information processing device 100 to make available various types of information that enable quantum chemical calculations.
[0155] According to the information processing device 100, quantum chemical calculations can be performed according to DMET based on two or more fragments in which multiple atoms are distributed. This allows the information processing device 100 to perform quantum chemical calculations efficiently and accurately. The information processing device 100 can also make the results of the quantum chemical calculations available for use.
[0156] The information processing method described in this embodiment can be implemented by executing a pre-prepared program on a computer such as a PC or workstation. The information processing program described in this embodiment is recorded on a computer-readable recording medium and executed by being read from the recording medium by the computer. The recording medium can be a hard disk, flexible disk, CD (Compact Disc)-ROM, MO (Magneto Optical Disc), DVD (Digital Versatile Disc), etc. Furthermore, the information processing program described in this embodiment may be distributed via a network such as the Internet.
[0157] With regard to the embodiments described above, the following additional information is disclosed.
[0158] (Note 1) Obtain the number of fragments that divide the structure of the target molecule containing multiple atoms, information that identifies the number of orbitals of each of the multiple atoms, and the coordinates of each of the atoms. Based on the acquired information and the acquired coordinates, A first process involves distributing, one atom at a time, to each of the two or more atoms obtained from the plurality of atoms, in descending order of the number of orbitals, for each of the two or more fragments obtained. A second process is performed on each of the aforementioned fragments, wherein, for one of the aforementioned fragments, the atoms that are close in distance to the other atoms already distributed to the fragment are distributed to that fragment from among the remaining atoms of the plurality of atoms other than the two or more atoms, Execute, The plurality of atoms are distributed to the two or more fragments, Outputting the two or more fragments obtained by distributing the plurality of atoms, An information processing program characterized by having a computer perform the processing.
[0159] (Note 2) The first process described above is: Select a first fragment from any of the two or more fragments, and distribute one or more first atoms from the plurality of atoms that have the most orbitals to the selected first fragment. The information processing program according to Appendix 1, characterized in that, from the two or more fragments mentioned above, each of the remaining second fragments other than the selected first fragment is selected once in turn, and from the atoms other than the first atom among the plurality of atoms, the one or more second atoms with the largest number of orbitals, whichever is closest to the first atom, is distributed to the selected second fragment.
[0160] (Note 3) The second process described above is: The information processing program according to Appendix 1 or 2, characterized by sequentially selecting each of the two or more fragments, and then distributing to the selected fragment one or more third atoms from among the remaining atoms that have the largest number of orbitals, and that is closest in distance to the atom previously distributed to the selected fragment.
[0161] (Note 4) The above output process is: An information processing program according to any one of the appendices 1 to 3, characterized in that it outputs information indicating each of the one or more atoms distributed to the fragments, in association with information indicating each of the two or more fragments.
[0162] (Note 5) Based on the two or more fragments from which the multiple atoms have been distributed, quantum chemical calculations are performed according to density matrix embedding theory. An information processing program as described in any one of the appendices 1 to 4, characterized by causing a computer to perform the processing.
[0163] (Note 6) Obtain the number of fragments that divide the structure of the target molecule containing multiple atoms, information that identifies the number of orbitals of each of the multiple atoms, and the coordinates of each of the atoms. Based on the acquired information and the acquired coordinates, A first process involves distributing, one atom at a time, to each of the two or more atoms obtained from the plurality of atoms, in descending order of the number of orbitals, for each of the two or more fragments obtained. A second process is performed on each of the aforementioned fragments, wherein, for one of the aforementioned fragments, the atoms that are close in distance to the other atoms already distributed to the fragment are distributed to that fragment from among the remaining atoms of the plurality of atoms other than the two or more atoms, Execute, The plurality of atoms are distributed to the two or more fragments, Outputting the two or more fragments obtained by distributing the plurality of atoms, An information processing method characterized in that the processing is performed by a computer.
[0164] (Note 7) Obtain the number of fragments that divide the structure of the target molecule containing multiple atoms, information that identifies the number of orbitals of each of the multiple atoms, and the coordinates of each of the atoms. Based on the acquired information and the acquired coordinates, A first process involves distributing, one atom at a time, to each of the two or more atoms obtained from the plurality of atoms, in descending order of the number of orbitals, for each of the two or more fragments obtained. A second process is performed on each of the aforementioned fragments, wherein, for one of the aforementioned fragments, the atoms that are close in distance to the other atoms already distributed to the fragment are distributed to that fragment from among the remaining atoms of the plurality of atoms other than the two or more atoms, Execute, The plurality of atoms are distributed to the two or more fragments, Outputting the two or more fragments obtained by distributing the plurality of atoms, An information processing device characterized by having a control unit. [Explanation of Symbols]
[0165] 100 Information Processing Devices 101 Fragment count 102 number of orbits 103 Coordinates 110 fragments 120,500,900 structure 200 Information Processing Systems 201 Chemical calculation equipment 202 Client Devices 210 Network 300 bus 301 CPU 302 memory 303 Network I / F 304 Recording medium interface 305 Recording media 306 displays 307 Input device 400 Storage section 401 Acquisition Department 402 Distribution section 403 Implementation Department 404 Output Section 411 1st distribution section 412 2nd distribution section 600 graphs Patterns 601-604, 1000, 1100, 1200, 1300, 1400 700 Input Data 800 periodic table 1500 Output Data
Claims
1. The number of fragments that divide the structure of the target molecule containing multiple atoms, information that identifies the number of orbitals of each of the multiple atoms, and the coordinates of each of the atoms are obtained. Based on the acquired information and the acquired coordinates, A first process involves distributing, one atom each, from among the plurality of atoms, in descending order of the number of orbitals, to each of the two or more fragments obtained, corresponding to the number of fragments obtained. A second process is performed on each of the aforementioned fragments, wherein, for one of the aforementioned fragments, the atoms that are close in distance to the other atoms already distributed to the fragment are distributed to that fragment from among the plurality of atoms, excluding the two or more atoms. Execute, The plurality of atoms are distributed to the two or more fragments, Outputting the two or more fragments obtained by distributing the plurality of atoms, An information processing program characterized by having a computer perform the processing.
2. The first process is, Select a first fragment from any of the two or more fragments, and distribute one or more first atoms from the plurality of atoms that have the most orbitals to the selected first fragment. The information processing program according to claim 1, characterized in that, from the two or more fragments, each of the remaining second fragments other than the selected first fragment is selected once in turn, and from the atoms other than the first atom among the plurality of atoms, the second atom that has the most orbitals and is closest in distance to the first atom is distributed to the selected second fragment.
3. The second process described above is: The information processing program according to claim 1 or 2, characterized in that it sequentially selects each of the two or more fragments, and then, from the remaining atoms, selects one or more third atoms with the largest number of orbitals, and the third atom that is closest in distance to the atom that was immediately allocated to the selected fragment, and allocates that third atom to the selected fragment.
4. The number of fragments that divide the structure of the target molecule containing multiple atoms, information that identifies the number of orbitals of each of the multiple atoms, and the coordinates of each of the atoms are obtained. Based on the acquired information and the acquired coordinates, A first process involves distributing, one atom each, from among the plurality of atoms, in descending order of the number of orbitals, to each of the two or more fragments obtained, corresponding to the number of fragments obtained. A second process is performed on each of the aforementioned fragments, wherein, for one of the aforementioned fragments, the atoms that are close in distance to the other atoms already distributed to the fragment are distributed to that fragment from among the plurality of atoms, excluding the two or more atoms. Execute, The plurality of atoms are distributed to the two or more fragments, Outputting the two or more fragments obtained by distributing the plurality of atoms, An information processing method characterized in that the processing is performed by a computer.
5. The number of fragments that divide the structure of the target molecule containing multiple atoms, information that identifies the number of orbitals of each of the multiple atoms, and the coordinates of each of the atoms are obtained. Based on the acquired information and the acquired coordinates, A first process involves distributing, one atom each, from among the plurality of atoms, in descending order of the number of orbitals, to each of the two or more fragments obtained, corresponding to the number of fragments obtained. A second process is performed on each of the aforementioned fragments, wherein, for one of the aforementioned fragments, the atoms that are close in distance to the other atoms already distributed to the fragment are distributed to that fragment from among the plurality of atoms, excluding the two or more atoms. Execute, The plurality of atoms are distributed to the two or more fragments, Outputting the two or more fragments obtained by distributing the plurality of atoms, An information processing device characterized by having a control unit.
Citation Information
Patent Citations
Fragment model creation device, fragment model creation system, fragment model creation method, and fragment model creation program
JP2014102569A