WO2023199486A1 - 情報処理プログラム、および情報処理方法 - Google Patents

情報処理プログラム、および情報処理方法 Download PDF

Info

Publication number
WO2023199486A1
WO2023199486A1 PCT/JP2022/017849 JP2022017849W WO2023199486A1 WO 2023199486 A1 WO2023199486 A1 WO 2023199486A1 JP 2022017849 W JP2022017849 W JP 2022017849W WO 2023199486 A1 WO2023199486 A1 WO 2023199486A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
solution
parameter
calculated
calculation
Prior art date
Application number
PCT/JP2022/017849
Other languages
English (en)
French (fr)
Inventor
栄二 大田
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2022/017849 priority Critical patent/WO2023199486A1/ja
Publication of WO2023199486A1 publication Critical patent/WO2023199486A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method

Definitions

  • the present invention relates to an information processing program and an information processing method.
  • the numerical analysis method is, for example, a self-consistent field method.
  • the operation of calculating the electron density using a wave function is repeated until it is determined that the electron density has converged.
  • the amount of calculation is O(N ⁇ 3).
  • the conventional technology has the problem of increasing the amount of calculation when calculating the electron density using a numerical analysis method. For example, when calculating the electron density using the self-consistent field method, it is difficult to determine that the electron density has converged, and the number of times the calculation is repeated may increase, resulting in an increase in the amount of calculation.
  • the present invention aims to suppress an increase in the amount of calculation.
  • a specific operation for calculating a solution of a parameter using a function is performed using a characteristic value corresponding to a previously calculated solution of the parameter and a characteristic value corresponding to a currently calculated solution of the parameter.
  • An information processing program and an information processing method are proposed in which the execution is repeated until the number of high-order digits with matching values becomes equal to or greater than a threshold value.
  • a specific operation for calculating a solution of a parameter using a function is performed using a difference between a solution of the parameter calculated last time and a solution of the parameter calculated two times before, and the parameter calculated this time.
  • An information processing program and an information processing method are proposed that are repeatedly executed until the degree of variation between the solution of the parameter and the previously calculated solution of the parameter becomes equal to or less than a threshold value.
  • FIG. 1 is an explanatory diagram showing an example of an information processing method according to an embodiment.
  • FIG. 2 is an explanatory diagram showing an example of the information processing system 200.
  • FIG. 3 is a block diagram showing an example of the hardware configuration of the information processing device 100.
  • FIG. 4 is a block diagram showing an example of the functional configuration of the information processing device 100.
  • FIG. 5 is an explanatory diagram showing a first example of operation of the information processing apparatus 100.
  • FIG. 6 is a flowchart illustrating an example of the overall processing procedure in operation example 1.
  • FIG. 7 is a flowchart illustrating an example of arithmetic processing procedures in operation example 1.
  • FIG. 8 is an explanatory diagram showing a second operation example of the information processing apparatus 100.
  • FIG. 1 is an explanatory diagram showing an example of an information processing method according to an embodiment.
  • FIG. 2 is an explanatory diagram showing an example of the information processing system 200.
  • FIG. 3 is a block diagram showing an example of the hardware configuration of
  • FIG. 9 is a flowchart illustrating an example of the overall processing procedure in operation example 2.
  • FIG. 10 is a flowchart illustrating an example of arithmetic processing procedures in operation example 2.
  • FIG. 11 is an explanatory diagram showing an example of comparison of calculation results with the conventional method.
  • FIG. 12 is an explanatory diagram showing a comparison example of the speedup rate with the conventional method.
  • FIG. 13 is an explanatory diagram showing a display example.
  • FIG. 1 is an explanatory diagram showing an example of an information processing method according to an embodiment.
  • the information processing device 100 is a computer for suppressing an increase in the amount of calculation required for numerical calculation.
  • the information processing device 100 is, for example, a server, a PC (Personal Computer), or the like.
  • Numerical calculation corresponds to, for example, an iterative solution method.
  • the iterative solution method is, for example, a method of repeatedly performing a specific operation until it is determined that the solution has converged.
  • Convergence is, for example, a state in which the difference between the solution calculated last time and the solution calculated this time becomes less than or equal to a threshold value.
  • the numerical calculation specifically corresponds to the self-consistent field method. In the self-consistent field method, a specific operation for calculating the electron density at each point in space using a wave function is repeatedly performed until it is determined that the electron density has converged.
  • Convergence is, for example, a state in which the difference between the previously calculated electron density and the currently calculated electron density becomes less than or equal to a threshold value.
  • the self-consistent field method may be used, for example, when attempting to calculate electron density in the field of materials development.
  • the self-consistent field method is used to accumulate material data by calculating electron density according to density functional theory for materials informatics, which aims to shorten research institutions. It is used when Regarding density functional theory, reference can be made to, for example, Reference 1 below.
  • the larger the problem to be calculated the larger the amount of calculation required for numerical calculation tends to be.
  • the larger the number of atoms the larger the amount of calculation required for the self-consistent field method tends to be.
  • it may take a long time to determine that the solution has converged which may lead to an increase in the number of times a particular operation is performed, leading to an increase in the amount of calculation. There is a problem.
  • the self-consistent field method when a predetermined condition is satisfied, the number of times a specific operation for calculating the electron density at each point in space is repeated increases.
  • the predetermined condition is that the total electron energy transitions to a state of minute fluctuation.
  • the predetermined condition is that there is a point in space that has a relatively small influence on the total electron energy, and the electron density at that point is difficult to converge.
  • the predetermined condition is that there exists a point in space where the rate of variation of the difference between the previously calculated electron density and the currently calculated electron density is relatively small, and the electron density at that point becomes difficult to converge. That's true.
  • the self-consistent field method may be referred to as the "SCF (Self Consistent Field) method.”
  • the information processing device 100 stores a function 101 that allows calculation of parameters.
  • the parameter is, for example, electron density.
  • the function 101 is, for example, a Kohn-Sham equation that makes it possible to derive a one-electron wave function that makes it possible to calculate parameters.
  • the information processing device 100 sets termination conditions. For example, the information processing device 100 determines whether the number of high-order digits in which the values match between the characteristic value corresponding to the solution of the parameter calculated last time and the characteristic value corresponding to the solution of the parameter calculated this time is greater than or equal to the threshold value a.
  • Condition A indicating that there is a condition is set as an end condition.
  • the characteristic value is, for example, total electron energy.
  • the characteristic value may be, for example, the parameter itself.
  • the characteristic value may be, for example, the electron density itself.
  • the information processing device 100 is configured such that the degree of variation between the difference between the parameter solution calculated last time and the parameter solution calculated the time before the previous time, and the difference between the solution of the parameter calculated this time and the solution of the parameter calculated last time is less than or equal to the threshold value b.
  • Condition B which indicates that The information processing apparatus 100 may set only one of condition A and condition B as the termination condition.
  • the information processing apparatus 100 may set both condition A and condition B as termination conditions.
  • the information processing apparatus 100 may further set a condition C indicating that the difference between the previously calculated parameter solution and the currently calculated parameter solution is less than or equal to a threshold c as the termination condition.
  • the information processing device 100 repeatedly performs a specific operation of calculating a solution to the parameters using the function 101 until the termination condition is satisfied.
  • the specific calculation is a series of calculations in which a parameter solution is calculated using the function 101 based on the previously calculated parameter solution.
  • the information processing apparatus 100 sets initial values of parameters and uses the function 101 to calculate a first solution of the parameters. After that, the information processing apparatus 100 repeatedly performs a series of calculations for calculating a parameter solution using the function 101 based on the previously calculated parameter solution, for example, until the termination condition is satisfied.
  • the information processing device 100 If condition A is satisfied, the information processing device 100 outputs the solution of the parameters calculated this time without repeating the specific calculation.
  • the output format includes, for example, displaying on a display, printing out to a printer, transmitting to an external device via a network I/F, or storing in a storage area.
  • the information processing device 100 outputs the solution of the parameters calculated this time so that the user can refer to it.
  • the information processing apparatus 100 can suppress an increase in the amount of calculation.
  • the information processing device 100 can suppress an increase in the number of times a specific calculation is repeated even if there are points in space that have a relatively small influence on the total electron energy.
  • condition B the information processing device 100 does not repeat the specific calculation and outputs a notification that the parameters have not converged.
  • the information processing device 100 outputs a notification that the parameters have not converged so that the user can refer to it.
  • the information processing apparatus 100 can suppress an increase in the amount of calculation.
  • the information processing device 100 may detect a point in space where the rate of variation of the difference between the previously calculated electron density and the currently calculated electron density is relatively small, and the amount of calculations becomes enormous as the parameters remain unconverged. It is possible to prevent this from happening.
  • the information processing device 100 outputs the solution of the parameters calculated this time without repeating the specific calculation. For example, the information processing device 100 outputs the solution of the parameters calculated this time so that the user can refer to it. Thereby, the information processing apparatus 100 can suppress an increase in the amount of calculation.
  • the information processing device 100 can make available relatively accurate parameter solutions. In this way, the information processing apparatus 100 can suppress an increase in the amount of calculation, and can suppress an increase in calculation time and calculation load.
  • the present invention is not limited to this.
  • a plurality of computers may cooperate to realize the functions of the information processing device 100.
  • a specific calculation may be distributed and processed by multiple computers.
  • a specific example of a case where a plurality of computers cooperate will be described later using, for example, FIG. 2.
  • the functions of the information processing device 100 may be implemented on the cloud.
  • FIG. 2 is an explanatory diagram showing an example of the information processing system 200.
  • an information processing system 200 includes an information processing device 100, a numerical calculation device 201, and a client device 202.
  • the information processing device 100 and the client device 202 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), the Internet, or the like.
  • the information processing device 100 and the numerical calculation device 201 are connected via a wired or wireless network 210.
  • the information processing device 100 is a computer that manages numerical calculations. For example, the information processing device 100 receives a calculation instruction from the client device 202. The calculation instruction specifies the problem to be calculated. The information processing device 100 sets termination conditions. The information processing device 100 repeatedly performs a specific calculation in response to a calculation instruction until an end condition is satisfied.
  • the information processing device 100 sets an initial value of the electron density, and calculates the first solution of the electron density using a one-electron wave function derived by solving the Kohn-Sham equation based on the initial value. . After that, the information processing device 100 performs a series of calculations to calculate the solution to the electron density, for example, based on the previously calculated solution to the electron density, using the one-electron wave function derived by solving the Kohn-Sham equation. Repeat until the termination condition is met.
  • the information processing device 100 may, for example, perform distributed processing on the numerical calculation device 201 to calculate the solution to the electron density. If the termination condition is satisfied and the electron density solution has converged, the information processing device 100 transmits the electron density solution to the client device 202. When the termination condition is satisfied and the solution of the electron density is not converged, the information processing device 100 transmits a notification of unconvergence to the client device 202.
  • the information processing device 100 is, for example, a server or a PC.
  • the numerical calculation device 201 is a computer that performs calculations for calculating solutions to electron density.
  • the numerical calculation device 201 is, for example, a server or a PC.
  • the client device 202 is a computer that transmits a calculation instruction to the information processing device 100 based on a user's operation input. Upon receiving the electron density solution from the information processing device 100, the client device 202 outputs it so that the user can refer to it. When the client device 202 receives the unconverged notification from the information processing device 100, the client device 202 outputs the notification so that the user can refer to it.
  • the client device 202 is, for example, a PC, a tablet terminal, or a smartphone.
  • FIG. 3 is a block diagram showing an example of the hardware configuration of the information processing device 100.
  • the information processing apparatus 100 includes a CPU (Central Processing Unit) 301, a memory 302, a network I/F (Interface) 303, a recording medium I/F 304, and a recording medium 305. Further, each component is connected to each other by a bus 300.
  • the CPU 301 controls the entire information processing device 100.
  • the memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 301.
  • the program stored in the memory 302 is loaded into the CPU 301 and causes the CPU 301 to execute the coded processing.
  • the network I/F 303 is connected to a network 210 through a communication line, and is connected to other computers via the network 210.
  • the network I/F 303 serves as an internal interface with the network 210, and controls data input/output from other computers.
  • the network I/F 303 is, for example, a modem or a LAN adapter.
  • the recording medium I/F 304 controls reading/writing of data to/from the recording medium 305 under the control of the CPU 301.
  • the recording medium I/F 304 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, or the like.
  • the recording medium 305 is a nonvolatile memory that stores data written under the control of the recording medium I/F 304.
  • the recording medium 305 is, for example, a disk, a semiconductor memory, a USB memory, or the like.
  • the recording medium 305 may be removable from the information processing apparatus 100.
  • the information processing device 100 may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like. Further, the information processing apparatus 100 may include a plurality of recording medium I/Fs 304 and recording media 305. Further, the information processing apparatus 100 does not need to have the recording medium I/F 304 or the recording medium 305.
  • FIG. 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 section 400, an acquisition section 401, a setting section 402, a calculation section 403, a determination section 404, and an output section 405.
  • the storage unit 400 is realized, for example, by a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3. Although a case will be described below in which the storage unit 400 is included in the information processing device 100, the present invention is not limited to this. For example, there may be a case where the storage unit 400 is included in a device different from the information processing device 100, and the storage contents of the storage unit 400 can be referenced from the information processing device 100.
  • the acquisition unit 401 to output unit 405 function as an example of a control unit. Specifically, the acquisition unit 401 to the output unit 405 execute, for example, by causing the CPU 301 to execute a program stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. This function is realized by The processing results of each functional unit are stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3, for example.
  • the storage unit 400 stores various information that is referenced or updated in the processing of each functional unit.
  • the storage unit 400 stores functions for calculating solutions to parameters.
  • the parameter is, for example, electron density.
  • the function is, for example, a Kohn-Sham equation that makes it possible to derive a one-electron wave function that allows the parameters to be calculated.
  • the acquisition unit 401 acquires various information used in the processing of each functional unit.
  • the acquisition unit 401 stores the acquired various information in the storage unit 400 or outputs it to each functional unit. Furthermore, the acquisition unit 401 may output various types of information stored in the storage unit 400 to each functional unit.
  • the acquisition unit 401 acquires various information based on, for example, a user's operation input.
  • the acquisition unit 401 may receive various information from a device different from the information processing device 100, for example.
  • the acquisition unit 401 acquires, for example, a calculation instruction.
  • the calculation instruction includes, for example, information specifying the problem to be calculated.
  • the acquisition unit 401 receives input of a calculation instruction based on a user's operation input.
  • the acquisition unit 401 acquires by receiving a calculation instruction from another computer.
  • the acquisition unit 401 may receive a start trigger to start processing of any functional unit.
  • the start trigger is, for example, a predetermined operation input by the user.
  • the start trigger may be, for example, receiving predetermined information from another computer.
  • the start trigger may be, for example, that any functional unit outputs predetermined information.
  • the acquisition unit 401 receives the acquisition of the calculation instruction as a start trigger for starting the processing of the setting unit 402, the calculation unit 403, and the determination unit 404.
  • the setting unit 402 sets end conditions for repeating a specific calculation.
  • the specific operation is, for example, a series of operations that calculates a solution to parameters using a function.
  • the specific calculation is, for example, a series of calculations that calculates a parameter solution using a function based on a previously calculated parameter solution.
  • the specific operation specifically corresponds to the SCF method.
  • the setting unit 402 determines that the number of high-order digits that match between the characteristic value corresponding to the solution of the parameter calculated last time and the characteristic value corresponding to the solution of the parameter calculated this time is greater than or equal to the first threshold value.
  • Set termination condition A that indicates that The first threshold value is set in advance by the user, for example.
  • the characteristic value is, for example, total electron energy. For example, if the characteristic value corresponding to the solution of the parameter calculated last time is "5678" and the characteristic value corresponding to the solution of the parameter calculated this time is "5679", the number of digits is 3 of "567" from the top. Since the two values match, it is "3".
  • the setting unit 402 can set guidelines for reducing the amount of calculation. For example, the setting unit 402 can detect that the parameter solution has been calculated with high accuracy.
  • the setting unit 402 sets termination condition B indicating that the difference between the previously calculated parameter solution and the currently calculated parameter solution is equal to or less than a second threshold.
  • the second threshold is, for example, a different threshold from the first threshold.
  • the second threshold value is set in advance by the user, for example. Thereby, the setting unit 402 can set guidelines for reducing the amount of calculation. For example, the setting unit 402 can detect that the parameter solution has been calculated with high accuracy.
  • the setting unit 402 determines that the degree of variation between the difference between the previously calculated parameter solution and the parameter solution calculated two times before, and the difference between the currently calculated parameter solution and the previously calculated parameter solution is less than or equal to a third threshold.
  • Set termination condition C indicating that The third threshold is, for example, a different threshold from the first threshold and the second threshold.
  • the third threshold value is set in advance by the user, for example.
  • the setting unit 402 can set guidelines for reducing the amount of calculation. For example, the setting unit 402 can detect that the parameter solution has not converged.
  • the setting unit 402 sets at least one of the termination condition A and the termination condition C. Specifically, the setting unit 402 may set all of the termination condition A, termination condition B, and termination condition C. Specifically, the setting unit 402 may set any two of termination condition A, termination condition B, and termination condition C.
  • the calculation unit 403 repeatedly performs a specific calculation. For example, the calculation unit 403 repeatedly performs a specific calculation until the termination condition A is satisfied. Specifically, the calculation unit 403 calculates a solution to the parameter using a function based on the initial value of the parameter. After that, the calculation unit 403 specifically repeatedly performs a specific calculation of calculating a parameter solution using a function based on the previously calculated parameter solution until the end condition A is satisfied. Thereby, the calculation unit 403 can accurately calculate the solution of the parameters. The calculation unit 403 can suppress an increase in the amount of calculation.
  • the calculation unit 403 repeatedly performs a specific calculation until the termination condition C is satisfied. Specifically, the calculation unit 403 calculates a solution to the parameter using a function based on the initial value of the parameter. Thereafter, specifically, the calculation unit 403 repeatedly performs a specific calculation of calculating a parameter solution using a function based on the previously calculated parameter solution until the end condition C is satisfied. Thereby, the calculation unit 403 can easily detect at a relatively early stage that the parameter solution has not converged. The calculation unit 403 can suppress an increase in the amount of calculation.
  • the calculation unit 403 may repeatedly perform a specific calculation until at least either termination condition A or termination condition B is satisfied. Specifically, the calculation unit 403 calculates a solution to the parameter using a function based on the initial value of the parameter. After that, the calculation unit 403 specifically performs a specific calculation of calculating a parameter solution using a function based on the previously calculated parameter solution until at least either termination condition A or termination condition B is satisfied. Repeat. Thereby, the calculation unit 403 can accurately calculate the solution of the parameters. The calculation unit 403 can suppress an increase in the amount of calculation.
  • the calculation unit 403 may repeatedly perform a specific calculation until at least either termination condition C or termination condition B is satisfied. Specifically, the calculation unit 403 calculates a solution to the parameter using a function based on the initial value of the parameter. After that, the calculation unit 403 specifically performs a specific calculation of calculating a parameter solution using a function based on the previously calculated parameter solution until at least either termination condition C or termination condition B is satisfied. Repeat. Thereby, the calculation unit 403 can accurately calculate the solution of the parameters. The calculation unit 403 can easily detect at a relatively early stage that the parameter solution has not converged. The calculation unit 403 can suppress an increase in the amount of calculation.
  • the calculation unit 403 may repeatedly perform a specific calculation until at least either termination condition A or termination condition C is satisfied. Specifically, the calculation unit 403 calculates a solution to the parameter using a function based on the initial value of the parameter. After that, the calculation unit 403 specifically performs a specific calculation of calculating a parameter solution using a function based on the previously calculated parameter solution until at least either termination condition A or termination condition C is satisfied. Repeat. Thereby, the calculation unit 403 can accurately calculate the solution of the parameters. The calculation unit 403 can easily detect at a relatively early stage that the parameter solution has not converged. The calculation unit 403 can suppress an increase in the amount of calculation.
  • the calculation unit 403 may repeatedly perform a specific calculation until at least one of termination condition A, termination condition B, or termination condition C is satisfied. Specifically, the calculation unit 403 calculates a solution to the parameter using a function based on the initial value of the parameter. After that, the calculation unit 403 specifically performs a specific calculation for calculating a parameter solution using a function based on the previously calculated parameter solution, at least under termination condition A, termination condition B, or termination condition C. Repeat until one of the conditions is met. Thereby, the calculation unit 403 can accurately calculate the solution of the parameters. The calculation unit 403 can easily detect at a relatively early stage that the parameter solution has not converged. The calculation unit 403 can suppress an increase in the amount of calculation.
  • the determining unit 404 determines whether the parameter solution has converged. If the termination condition A is satisfied, the determination unit 404 determines that the parameter solution has converged. If the termination condition B is satisfied, the determining unit 404 determines that the parameter solution has converged. If the termination condition C is satisfied, the determination unit 404 determines that the parameter solution has not converged.
  • the output unit 405 outputs the processing result of at least one of the functional units.
  • the output format is, for example, displaying on a display, printing out to a printer, transmitting to an external device via network I/F 303, or storing in a storage area such as memory 302 or recording medium 305. Thereby, the output unit 405 can notify the user of the processing results of at least one of the functional units, thereby improving the usability of the information processing apparatus 100.
  • the output unit 405 when the termination condition A is satisfied, the output unit 405 outputs the solution of the parameters calculated this time. Specifically, the output unit 405 outputs the parameter solution so that the user can refer to it. Thereby, the output unit 405 can make available a relatively accurate parameter solution.
  • the output unit 405 when the termination condition B is satisfied, the output unit 405 outputs the solution of the parameters calculated this time. Specifically, the output unit 405 outputs the parameter solution so that the user can refer to it. Thereby, the output unit 405 can make available a relatively accurate parameter solution.
  • the output unit 405 when the termination condition C is satisfied, the output unit 405 outputs a notification indicating that the parameter solution has not converged. Specifically, the output unit 405 outputs a notification indicating that the parameter solution has not been converged so that the user can refer to it. Thereby, the output unit 405 can enable the user to understand that the parameter solution has not converged.
  • Operation example 1 corresponds to a case where the information processing apparatus 100 uses at least the termination condition C described above.
  • FIG. 5 is an explanatory diagram showing operation example 1 of the information processing device 100.
  • the information processing device 100 repeatedly performs a specific calculation for calculating the electron density ⁇ (r) at each point in space in a predetermined situation setting according to the SCF method.
  • the x-th calculated electron density ⁇ (r) may be expressed as “electron density ⁇ x (r)”. Furthermore, in the following description, for the sake of simplification, the electron density ⁇ (r) may be expressed as the electron density ⁇ (r) at any point in space.
  • the information processing device 100 sets termination conditions, for example.
  • the termination condition is, for example, when calculating the electron density ⁇ n (r), the difference ⁇ n- 1 (r) between the electron density ⁇ n-1 (r) and the electron density ⁇ n-2 (r), and the electron This includes that the difference fluctuation rate between the density ⁇ n (r) and the difference ⁇ n (r) between the electron density ⁇ n-1 (r) is less than or equal to the threshold value DTH.
  • DTH is, for example, 5%.
  • the difference ⁇ n-1 (r) electron density ⁇ n-2 (r) ⁇ electron density ⁇ n-1 (r).
  • the difference ⁇ n (r) electron density ⁇ n-1 (r) ⁇ electron density ⁇ n (r).
  • the difference fluctuation rate is (difference ⁇ n (r) ⁇ difference ⁇ n-1 (r))/difference ⁇ n-1 (r).
  • the termination condition includes that the differential fluctuation rate of all the points is equal to or less than the threshold DTH.
  • the termination condition may further include that the difference ⁇ n (r) between the electron density ⁇ n (r) and the electron density ⁇ n-1 (r) is less than or equal to the ⁇ tolerance value. Specifically, when there are multiple points in the space, the termination condition may include that the difference ⁇ n (r) of all the points is less than or equal to the ⁇ tolerance value.
  • the information processing device 100 calculates the electron density ⁇ n (r) for the nth time, if the differential variation rate is equal to or less than the threshold value DTH, the information processing device 100 finishes repeating the specific calculation and determines that the electron density ⁇ n (r) is not yet calculated. It is determined that there is convergence. When the information processing device 100 determines that the electron density ⁇ n (r) has not converged, it outputs a notification indicating that the electron density ⁇ n (r) has not converged so that the user can refer to it.
  • the information processing device 100 calculates the electron density ⁇ n (r) for the nth time, if the difference ⁇ n (r) is less than or equal to the ⁇ tolerance value, the information processing device 100 finishes repeating the specific calculation and calculates the electron density ⁇ n ( r) is determined to have converged. When the information processing device 100 determines that the electron density ⁇ n (r) has converged, it outputs the electron density ⁇ n (r) so that the user can refer to it.
  • the information processing device 100 may end the repetition of a specific calculation and determine that the electron density ⁇ n (r) has not converged.
  • the conventional method employs, as a termination condition, that the difference ⁇ n (r) between the electron density ⁇ n (r) and the electron density ⁇ n-1 (r) is less than or equal to the ⁇ tolerance value. Therefore, in the conventional method, unless the difference ⁇ n (r) becomes equal to or less than the ⁇ tolerance value, a specific calculation continues to be repeatedly performed until the number of times n reaches the upper limit.
  • a graph 500 shows a characteristic curve 501 representing the correspondence between the number n of repetitions of a specific calculation and the difference ⁇ n (r) regarding the conventional method.
  • a specific operation is repeatedly performed until the number of times n reaches the upper limit, which reduces the amount of calculation. This will lead to an increase in The conventional method will fall into an infinite loop unless an upper limit of the number of times n is set.
  • the graph 510 shows a characteristic curve 511 representing the correspondence between the number n of repetitions of a specific calculation and the differential fluctuation rate regarding the information processing apparatus 100.
  • the information processing apparatus 100 is applied to the problem of calculating the electron density ⁇ (r), but the invention is not limited to this.
  • the information processing apparatus 100 may be applied to problems other than the problem of calculating the electron density ⁇ (r).
  • the present invention is not limited to this.
  • the information processing device 100 may implement an iterative solution method other than the SCF method.
  • the overall processing is realized by, for example, the CPU 301 shown in FIG. 3, storage areas such as the memory 302 and the recording medium 305, and the network I/F 303.
  • FIG. 6 is a flowchart illustrating an example of the overall processing procedure in operation example 1.
  • the information processing apparatus 100 sets termination conditions using the variation value of the difference (step S601).
  • the information processing device 100 implements the SCF method (step S602).
  • the information processing device 100 outputs the solution to the electron density and the total electron energy, and if the solution to the electron density has not converged, outputs a notification indicating non-convergence. (Step S603).
  • step S603 when there are multiple points in the space, if all the solutions of the electron density of the multiple points have converged, the information processing apparatus 100 calculates the solution of the electron density of each point, Outputs total electron energy. Specifically, when there are a plurality of points in space, the information processing device 100 outputs a notification indicating unconvergence if the solution of the electron density of at least one of the points is unconverged. After that, the information processing device 100 ends the entire process.
  • Arithmetic processing is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 or the recording medium 305, and the network I/F 303.
  • FIG. 7 is a flowchart illustrating an example of the calculation processing procedure in operation example 1.
  • the information processing apparatus 100 sets the electron density ⁇ (r) (step S701). For example, when there are multiple points in space, the information processing device 100 sets the electron density ⁇ (r) of each point. For example, if the setting is the first time, the information processing device 100 sets the initial value of the electron density ⁇ (r), and if the setting is the second time or later, the information processing device 100 sets the electron density ⁇ (r) by some method. .
  • the information processing device 100 solves the Kohn-Sham equation based on the electron density ⁇ (r) and derives a one-electron wave function ⁇ i(r) (step S702). For example, when there are multiple points in space, the information processing device 100 derives a one-electron wave function ⁇ i(r) for each point. Then, the information processing device 100 calculates the electron density ⁇ '(r) using the one-electron wave function ⁇ i(r) (step S703). For example, when there are multiple points in space, the information processing device 100 calculates the electron density ⁇ '(r) of each point.
  • the information processing device 100 determines whether the difference ⁇ (r) ⁇ tolerance value (step S706). For example, when there are a plurality of points in the space, the information processing device 100 determines whether the difference ⁇ (r) ⁇ tolerance for all the points is satisfied.
  • step S706 if the difference ⁇ (r) ⁇ tolerance (step S706: Yes), the information processing device 100 determines that the electron density ⁇ (r) has converged, and outputs the electron density ⁇ (r). , ends the calculation process. For example, when there are multiple points in the space, if the difference ⁇ (r) ⁇ tolerance for all points, the information processing device 100 ends the calculation process.
  • step S706 if the difference ⁇ (r) ⁇ tolerance does not hold (step S706: No), the information processing device 100 moves to the process of step S707. For example, when there are a plurality of points in the space, if the difference ⁇ (r) ⁇ tolerance for at least one of the points is not satisfied, the information processing device 100 moves to step S707.
  • step S707 the information processing device 100 determines whether the difference fluctuation rate ⁇ DTH (step S707). For example, when there are a plurality of points in the space, the information processing device 100 determines whether the difference ⁇ (r) ⁇ tolerance for at least one of the points is satisfied.
  • step S707 if the differential fluctuation rate ⁇ DTH (step S707: Yes), the information processing device 100 determines that the electron density ⁇ (r) has not converged, outputs a notification of unconvergence, and performs the calculation process. finish. For example, when there are a plurality of points in the space, if the difference variation rate of at least one of the points ⁇ DTH, the information processing device 100 ends the calculation process.
  • step S707 if the difference fluctuation rate ⁇ DTH is not satisfied (step S707: No), the information processing device 100 returns to the process of step S701. For example, when there are a plurality of points in the space, if the difference variation rate of all points is not ⁇ DTH, the information processing device 100 returns to the process of step S701.
  • the information processing apparatus 100 may perform the processing by changing the order of some of the steps in each of the flowcharts in FIGS. 6 and 7. For example, the order of the processing in steps S706 and S707 can be changed. Further, the information processing apparatus 100 may omit processing of some steps in each of the flowcharts in FIGS. 6 and 7. For example, the process in step S706 can be omitted.
  • Operation example 2 corresponds to the case where the information processing apparatus 100 uses at least the termination condition A described above.
  • FIG. 8 is an explanatory diagram showing a second example of the operation of the information processing device 100.
  • the information processing device 100 repeatedly performs a specific calculation for calculating the electron density ⁇ (r) at each point in space in a predetermined situation setting according to the SCF method.
  • the x-th calculated electron density ⁇ (r) may be expressed as “electron density ⁇ x (r)”. Furthermore, in the following description, for the sake of simplification, the electron density ⁇ (r) may be expressed as the electron density ⁇ (r) at any point in space.
  • the information processing device 100 sets termination conditions, for example.
  • the termination condition is, for example, when calculating the electron density ⁇ n (r), the total electron energy corresponding to the electron density ⁇ n-1 (r) and the total electron energy corresponding to the electron density ⁇ n (r) are calculated.
  • the number of significant figures is greater than or equal to the threshold SD.
  • SD is, for example, 5 [digits].
  • Significant digits are the string of numbers where the values match in the same consecutive digits starting from the highest digit.
  • the number of significant digits is a number indicating how many digits have matched values, starting from the most significant digits, when the values of the same digits match consecutively.
  • the termination condition may include, for example, that when calculating the electron density ⁇ n (r), the number of significant digits of consecutive past i or more times up to the current time is greater than or equal to the threshold SD.
  • i is, for example, an integer of 2 or more.
  • the termination condition may further include, for example, that the difference ⁇ n (r) between the electron density ⁇ n (r) and the electron density ⁇ n-1 (r) is less than or equal to the ⁇ tolerance value. Specifically, when there are multiple points in the space, the termination condition may include that the difference ⁇ n (r) of all the points is less than or equal to the ⁇ tolerance value.
  • the information processing device 100 calculates the electron density ⁇ n (r) for the nth time, if the number of significant figures is SD or more, the information processing device 100 finishes repeating the specific calculation and calculates the electron density ⁇ n (r). It is determined that it has converged. When the information processing device 100 determines that the electron density ⁇ n (r) has converged, it outputs the electron density ⁇ n (r) so that the user can refer to it.
  • the information processing device 100 calculates the electron density ⁇ n (r) for the nth time, if the difference ⁇ n (r) is less than or equal to the ⁇ tolerance value, the information processing device 100 finishes repeating the specific calculation and calculates the electron density ⁇ n ( r) is determined to have converged. When the information processing device 100 determines that the electron density ⁇ n (r) has converged, it outputs the electron density ⁇ n (r) so that the user can refer to it.
  • the information processing device 100 may end the repetition of a specific calculation and determine that the electron density ⁇ n (r) has not converged.
  • the conventional method employs, as a termination condition, that the difference ⁇ n (r) between the electron density ⁇ n (r) and the electron density ⁇ n-1 (r) is less than or equal to the ⁇ tolerance value. Therefore, in the conventional method, unless the difference ⁇ n (r) becomes equal to or less than the ⁇ tolerance value, a specific calculation continues to be repeatedly performed until the number of times n reaches the upper limit.
  • a graph 800 shows characteristic curves 801 to 803 representing the correspondence between the number n of repetitions of a specific operation and the difference ⁇ n (r i ) regarding a point i in space, regarding the conventional method.
  • the characteristic curve 801 corresponds to a point i where the electron density ⁇ n (r i ) is relatively small.
  • the characteristic curve 802 corresponds to a point i where the electron density ⁇ n (r i ) is medium.
  • the characteristic curve 803 corresponds to a point i where the electron density ⁇ n (r i ) is relatively large.
  • the conventional method specifies that the electron density ⁇ n (r i ) at any point i is relatively small and the degree of decrease in the difference ⁇ n (r i ) is relatively small.
  • the number of times n of repeating the calculation tends to increase, leading to an increase in the amount of calculation.
  • the graph 810 shows a characteristic curve 811 representing the correspondence between the number n of repetitions of a specific calculation and the number of significant digits regarding the information processing apparatus 100.
  • the information processing device 100 is configured to perform a situation in which the electron density ⁇ n (r i ) at any point is relatively small and the degree of decrease in the difference ⁇ n (r i ) is relatively small. , it can be determined relatively early that the electron density ⁇ n (r i ) has converged. The information processing device 100 can then finish repeating the specific calculation. Therefore, the information processing device 100 can suppress an increase in the amount of calculation.
  • the information processing apparatus 100 is applied to the problem of calculating the electron density ⁇ (r), but the invention is not limited to this.
  • the information processing apparatus 100 may be applied to problems other than the problem of calculating the electron density ⁇ (r).
  • the present invention is not limited to this.
  • the information processing device 100 may implement an iterative solution method other than the SCF method.
  • the overall processing is realized by, for example, the CPU 301 shown in FIG. 3, storage areas such as the memory 302 and the recording medium 305, and the network I/F 303.
  • FIG. 9 is a flowchart illustrating an example of the overall processing procedure in operation example 2.
  • the information processing apparatus 100 sets termination conditions using physical characteristic values (step S901).
  • the information processing device 100 implements the SCF method (step S902).
  • the information processing device 100 outputs the solution to the electron density and the total electron energy, and if the solution to the electron density has not converged, outputs a notification indicating non-convergence. (Step S903).
  • step S903 when there are multiple points in the space, if all the solutions of the electron density of the multiple points have converged, the information processing apparatus 100 calculates the solution of the electron density of each point, Outputs total electron energy. Specifically, when there are a plurality of points in space, the information processing device 100 outputs a notification indicating unconvergence if the solution of the electron density of at least one of the points is unconverged. After that, the information processing device 100 ends the entire process.
  • Arithmetic processing is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 or the recording medium 305, and the network I/F 303.
  • FIG. 10 is a flowchart illustrating an example of the calculation processing procedure in operation example 2.
  • the information processing apparatus 100 sets the electron density ⁇ (r) (step S1001). For example, when there are multiple points in space, the information processing device 100 sets the electron density ⁇ (r) of each point. For example, if the setting is the first time, the information processing device 100 sets the initial value of the electron density ⁇ (r), and if the setting is the second time or later, the information processing device 100 sets the electron density ⁇ (r) by some method. .
  • the information processing device 100 solves the Kohn-Sham equation based on the electron density ⁇ (r) and derives a one-electron wave function ⁇ i(r) (step S1002). For example, when there are multiple points in space, the information processing device 100 derives a one-electron wave function ⁇ i(r) for each point. Then, the information processing device 100 calculates the electron density ⁇ '(r) using the one-electron wave function ⁇ i(r) (step S1003). For example, when there are multiple points in space, the information processing device 100 calculates the electron density ⁇ '(r) of each point.
  • the information processing device 100 determines whether the difference ⁇ (r) ⁇ tolerance value (step S1006). For example, when there are a plurality of points in the space, the information processing device 100 determines whether the difference ⁇ (r) ⁇ tolerance for all the points is satisfied.
  • step S1006 if the difference ⁇ (r) ⁇ tolerance (step S1006: Yes), the information processing device 100 determines that the electron density ⁇ (r) has converged, and outputs the electron density ⁇ (r). , ends the calculation process. For example, when there are multiple points in the space, if the difference ⁇ (r) ⁇ tolerance for all points, the information processing device 100 ends the calculation process.
  • step S1006 if the difference ⁇ (r) ⁇ tolerance does not hold (step S1006: No), the information processing device 100 moves to the process of step S1007. For example, when there are a plurality of points in the space, if the difference ⁇ (r) ⁇ tolerance for at least one of the points is not satisfied, the information processing device 100 moves to the process of step S1007.
  • step S1007 the information processing device 100 determines whether the number of significant figures of the total electron energy ⁇ SD (step S1007). Here, if the number of significant figures ⁇ SD (step S1007: Yes), the information processing device 100 determines that the electron density ⁇ (r) has converged, outputs the electron density ⁇ (r), and performs the calculation. Finish the process. On the other hand, if the number of significant figures is not ⁇ SD (step S1007: No), the information processing device 100 returns to the process of step S1001.
  • the information processing apparatus 100 may perform the processing by changing the order of some of the steps in each of the flowcharts in FIGS. 9 and 10. For example, the order of processing in steps S1006 and S1007 can be changed. Further, the information processing apparatus 100 may omit processing of some steps in each of the flowcharts in FIGS. 9 and 10. For example, the process in step S1006 can be omitted.
  • FIG. 11 is an explanatory diagram showing an example of comparison of calculation results with the conventional method.
  • CP2K is open source software.
  • the calculation time speedup rate based on the conventional method is 1.44.
  • the information processing device 100 can calculate the value of the total electron energy similar to the conventional method 1.44 times faster than the conventional method.
  • the total electron energy -7572.240.
  • the calculation time speedup rate based on the conventional method is 2.64. As shown in calculation result 2, the information processing device 100 can calculate the value of the total electron energy similar to the conventional method 2.64 times faster than the conventional method. Next, the explanation will move on to FIG. 12.
  • FIG. 12 is an explanatory diagram showing a comparison example of the speedup rate with the conventional method.
  • a graph 1200 in FIG. 12 shows the speedup rate of calculation result 1 and the speedup rate of calculation result 2 when the conventional method is set as the standard: 1.
  • the information processing apparatus 100 can speed up the SCF method compared to the conventional method, and can suppress an increase in the calculation time required for the SCF method.
  • the information processing apparatus 100 can achieve, for example, 1.4 to 2.6 times faster processing speed than conventional methods.
  • FIG. 13 will move on to FIG. 13.
  • FIG. 13 is an explanatory diagram showing a display example.
  • the information processing device 100 outputs a log 1300 showing calculation results for each step.
  • the information processing apparatus 100 specifically outputs a log 1300 indicating the calculation result for each step corresponding to the calculation result 2.
  • the log 1300 shows, for each step, the number of steps in the step, the difference in the step, the total electron energy in the step, and the calculation time in the step in association with each other.
  • the information processing device 100 can determine that the electron density ⁇ (r) and the total electron energy have converged before the difference ⁇ (r) ⁇ tolerance value based on the number of significant digits. This makes it possible to suppress an increase in the amount of calculation.
  • a specific calculation is performed to determine whether the value is different between the characteristic value corresponding to the previously calculated parameter solution and the characteristic value corresponding to the currently calculated parameter solution. This process can be repeated until the number of high-order digits that match is equal to or greater than the first threshold. Thereby, the information processing apparatus 100 can suppress an increase in the amount of calculation.
  • the information processing device 100 when the number of digits is equal to or greater than the first threshold, it is possible to output the solution of the parameters calculated this time. Thereby, the information processing apparatus 100 can make the parameter solution available.
  • a specific operation is performed until the number of digits becomes equal to or greater than a first threshold, or the difference between the previously calculated parameter solution and the currently calculated parameter solution becomes equal to or less than the second threshold. , can be performed repeatedly. Thereby, the information processing apparatus 100 can suppress an increase in the amount of calculation. The information processing apparatus 100 can detect that a relatively accurate parameter solution has been calculated.
  • the information processing device 100 it is possible to calculate a solution to a parameter using a function based on the initial value of the parameter. According to the information processing apparatus 100, it is possible to repeatedly perform a specific operation of calculating a parameter solution using a function based on a previously calculated parameter solution until the number of digits reaches a first threshold value or more. Thereby, the information processing apparatus 100 can calculate solutions to parameters.
  • the information processing device 100 According to the information processing device 100, a specific operation is performed based on the difference between the solution of the parameter calculated last time and the solution of the parameter calculated the day before last, and the difference between the solution of the parameter calculated this time and the solution of the parameter calculated last time. The process can be repeated until the degree becomes equal to or less than the third threshold value. Thereby, the information processing apparatus 100 can suppress an increase in the amount of calculation.
  • the information processing device 100 when the degree of variation becomes equal to or less than the third threshold, it is possible to output a notification indicating that the parameter solution has not converged. Thereby, the information processing apparatus 100 can enable the user to understand that the parameter solution has not converged.
  • the specific calculation is performed until the degree of variation becomes equal to or less than the third threshold, or the difference between the previously calculated parameter solution and the currently calculated parameter solution becomes equal to or less than the second threshold. , can be performed repeatedly. Thereby, the information processing apparatus 100 can suppress an increase in the amount of calculation. The information processing apparatus 100 can detect that a relatively accurate parameter solution has been calculated.
  • the information processing device 100 it is possible to calculate a solution to a parameter using a function based on the initial value of the parameter. According to the information processing apparatus 100, it is possible to repeatedly perform a specific operation of calculating a parameter solution using a function based on a previously calculated parameter solution until the degree of variation becomes equal to or less than the third threshold value. Thereby, the information processing apparatus 100 can calculate solutions to parameters.
  • the information processing device 100 According to the information processing device 100, a specific calculation can be repeatedly performed until the number of digits becomes equal to or greater than the first threshold or the degree of variation becomes equal to or less than the third threshold. Thereby, the information processing apparatus 100 can suppress an increase in the amount of calculation.
  • electron density can be employed as a parameter.
  • the function can include a Kohn-Sham equation that allows calculation of a one-electron wave function. Thereby, the information processing apparatus 100 can suppress an increase in the amount of calculation when calculating the electron density.
  • an operation corresponding to the SCF method can be adopted as a specific operation.
  • the information processing apparatus 100 can speed up the SCF method.
  • the information processing method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a PC or a 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 includes a hard disk, a flexible disk, a CD (Compact Disc)-ROM, an MO (Magneto Optical Disc), a DVD (Digital Versatile Disc), and the like.
  • the information processing program described in this embodiment may be distributed via a network such as the Internet.
  • Information processing device 101 Function 200 Information processing system 201 Numerical calculation device 202 Client device 210 Network 300 Bus 301 CPU 302 Memory 303 Network I/F 304 Recording medium I/F 305 Recording medium 400 Storage unit 401 Acquisition unit 402 Setting unit 403 Calculation unit 404 Judgment unit 405 Output unit 500, 510, 800, 810, 1200 Graph 501, 511, 801 to 803, 811 Characteristic curve 1100 Table 1300 Log

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

情報処理装置(100)は、パラメータを算出可能にする関数(101)を記憶する。情報処理装置(100)は、条件Aまたは条件Bの少なくともいずれかを終了条件として設定する。条件Aは、前回算出したパラメータの解に対応する特性値と、今回算出したパラメータの解に対応する特性値との間で、値が一致する上位の桁数が閾値a以上であることを示す。条件Bは、前回算出したパラメータの解と前々回算出したパラメータの解との差分と、今回算出したパラメータの解と前回算出したパラメータの解との差分との変動度が閾値b以下になることを示す。情報処理装置(100)は、関数(101)を用いてパラメータの解を算出する特定の演算を、終了条件を満たすまで繰り返し実施する。

Description

情報処理プログラム、および情報処理方法
 本発明は、情報処理プログラム、および情報処理方法に関する。
 従来、材料開発の分野において、電子密度を数値解析法により計算する技術がある。数値解析法は、例えば、自己無撞着場法である。例えば、電子密度を自己無撞着場法により計算する場合、波動関数を用いて電子密度を算出する演算を、電子密度が収束したと判断するまで繰り返すことになる。例えば、電子密度を自己無撞着場法により計算する場合、原子数がNであれば、計算量はO(N^3)になる。
 先行技術としては、例えば、物質に含まれる電子のスピン状態を示す値を、仮想磁場を示す値を利用して繰り返し算出するものがある。また、例えば、エネルギーおよび一電子縮約密度行列について前回の計算で得られた結果と今回計算された結果とを比較して収束を判定する技術がある。また、例えば、自己無撞着場法において、全エネルギー値と、収束判定値との比較に基づいて、終了判定を行う技術がある。
特開2015-141533号公報 特開2006-277582号公報 米国特許第6106562号明細書
 しかしながら、従来技術では、電子密度を数値解析法により計算する際の計算量の増大化を招くという問題がある。例えば、電子密度を自己無撞着場法により計算する場合、電子密度が収束したと判断することが難しく、演算を繰り返す回数が増大することがあり、計算量が増大してしまう。
 1つの側面では、本発明は、計算量の増大化を抑制することを目的とする。
 1つの実施態様によれば、関数を用いてパラメータの解を算出する特定の演算を、前回算出した前記パラメータの解に対応する特性値と、今回算出した前記パラメータの解に対応する特性値との間で、値が一致する上位の桁数が閾値以上になるまで、繰り返し実施する情報処理プログラム、および情報処理方法が提案される。
 また、1つの実施態様によれば、関数を用いてパラメータの解を算出する特定の演算を、前回算出した前記パラメータの解と前々回算出した前記パラメータの解との差分と、今回算出した前記パラメータの解と前回算出した前記パラメータの解との差分との変動度が閾値以下になるまで、繰り返し実施する情報処理プログラム、および情報処理方法が提案される。
 一態様によれば、計算量の増大化を抑制することが可能になる。
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。 図2は、情報処理システム200の一例を示す説明図である。 図3は、情報処理装置100のハードウェア構成例を示すブロック図である。 図4は、情報処理装置100の機能的構成例を示すブロック図である。 図5は、情報処理装置100の動作例1を示す説明図である。 図6は、動作例1における全体処理手順の一例を示すフローチャートである。 図7は、動作例1における演算処理手順の一例を示すフローチャートである。 図8は、情報処理装置100の動作例2を示す説明図である。 図9は、動作例2における全体処理手順の一例を示すフローチャートである。 図10は、動作例2における演算処理手順の一例を示すフローチャートである。 図11は、従来手法との計算結果の比較例を示す説明図である。 図12は、従来手法との高速化率の比較例を示す説明図である。 図13は、表示例を示す説明図である。
 以下に、図面を参照して、本発明にかかる情報処理プログラム、および情報処理方法の実施の形態を詳細に説明する。
(実施の形態にかかる情報処理方法の一実施例)
 図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、数値計算にかかる計算量の増大化を抑制するためのコンピュータである。情報処理装置100は、例えば、サーバ、または、PC(Personal Computer)などである。
 数値計算は、例えば、反復解法に対応する。反復解法は、例えば、特定の演算を、解が収束したと判断するまで繰り返し実施する手法である。収束は、例えば、前回算出した解と今回算出した解との差分が閾値以下になる状態である。数値計算は、具体的には、自己撞着場法に対応する。自己撞着場法は、波動関数を用いて空間内の各点における電子密度を算出する特定の演算を、電子密度が収束したと判断するまで繰り返し実施することになる。収束は、例えば、前回算出した電子密度と今回算出した電子密度との差分が閾値以下になる状態である。
 自己撞着場法は、例えば、材料開発の分野において、電子密度を計算しようとする際に利用されることが考えられる。自己撞着場法は、具体的には、材料開発の分野において、研究機関の短縮化などを図るマテリアルズインフォマティクスのために、密度汎関数理論に従って電子密度を計算することにより、マテリアルデータを蓄積しようとする際に利用される。密度汎関数理論については、例えば、下記参考文献1を参照することができる。
 参考文献1 : 常田貴夫, and 副島英子. “密度汎関数法の基礎.” 図書 11 (2012): 12.
 ここで、計算対象の問題の規模が大きいほど、数値計算にかかる計算量が大きくなる傾向がある。例えば、電子密度を計算しようとする場合、原子数が大きいほど、自己撞着場法にかかる計算量が大きくなる傾向がある。さらに、計算対象の問題に依存し、解が収束したと判断するまでの所要時間が長くなる場合があり、特定の演算を実施する回数の増大化を招き、計算量の増大化を招くことがあるという問題がある。
 自己撞着場法では、具体的には、所定の条件を満たす場合、空間内の各点における電子密度を算出する特定の演算を繰り返す回数の増大化を招く。所定の条件は、全電子エネルギーが微小変動の状態に遷移することである。
 所定の条件は、具体的には、空間内に、全電子エネルギーに対する影響度合いが比較的小さい点が存在し、当該点における電子密度が収束し難くなることである。所定の条件は、具体的には、空間内に、前回算出した電子密度と今回算出した電子密度との差分の変動率が比較的小さい点が存在し、当該点における電子密度が収束し難くなることである。
 そこで、本実施の形態では、数値計算にかかる計算量の増大化を抑制することができる情報処理方法について説明する。以下の説明では、自己無撞着場法を「SCF(Self Consistent Field)法」と表記する場合がある。
 図1において、情報処理装置100は、パラメータを算出可能にする関数101を記憶する。パラメータは、例えば、電子密度である。関数101は、例えば、パラメータを算出可能にする1電子波動関数を導出可能にするKohn-Sham方程式である。
 (1-1)情報処理装置100は、終了条件を設定する。情報処理装置100は、例えば、前回算出したパラメータの解に対応する特性値と、今回算出したパラメータの解に対応する特性値との間で、値が一致する上位の桁数が閾値a以上であることを示す条件Aを、終了条件として設定する。特性値は、例えば、全電子エネルギーである。特性値は、例えば、パラメータそのものであってもよい。特性値は、例えば、電子密度そのものであってもよい。
 情報処理装置100は、例えば、前回算出したパラメータの解と前々回算出したパラメータの解との差分と、今回算出したパラメータの解と前回算出したパラメータの解との差分との変動度が閾値b以下になることを示す条件Bを、終了条件として設定する。情報処理装置100は、条件Aおよび条件Bの片方のみを、終了条件として設定してもよい。情報処理装置100は、条件Aおよび条件Bの両方を、終了条件として設定してもよい。情報処理装置100は、さらに、前回算出したパラメータの解と今回算出したパラメータの解との差分が閾値c以下であることを示す条件Cを、終了条件として設定してもよい。
 (1-2)情報処理装置100は、関数101を用いてパラメータの解を算出する特定の演算を、終了条件を満たすまで繰り返し実施する。特定の演算は、具体的には、前回算出したパラメータの解に基づいて、関数101を用いてパラメータの解を算出する一連の演算である。情報処理装置100は、例えば、パラメータの初期値を設定し、関数101を用いてパラメータの1回目の解を算出する。その後、情報処理装置100は、例えば、前回算出したパラメータの解に基づいて、関数101を用いてパラメータの解を算出する一連の演算を、終了条件を満たすまで繰り返し実施する。
 (1-3)情報処理装置100は、条件Aを満たした場合、特定の演算を繰り返さず、今回算出したパラメータの解を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/Fによる外部装置への送信、または、記憶領域への記憶などである。情報処理装置100は、例えば、今回算出したパラメータの解を、利用者が参照可能に出力する。これにより、情報処理装置100は、計算量の増大化を抑制することができる。情報処理装置100は、例えば、空間内に、全電子エネルギーに対する影響度合いが比較的小さい点が存在していても、特定の演算を繰り返す回数の増大化を抑制することができる。
 情報処理装置100は、条件Bを満たした場合、特定の演算を繰り返さず、パラメータが未収束であることの通知を出力する。情報処理装置100は、例えば、パラメータが未収束であることの通知を、利用者が参照可能に出力する。これにより、情報処理装置100は、計算量の増大化を抑制することができる。情報処理装置100は、例えば、空間内に、前回算出した電子密度と今回算出した電子密度との差分の変動率が比較的小さい点が存在し、パラメータが未収束のまま、計算量が膨大になることを防止することができる。
 情報処理装置100は、条件Cを満たした場合、特定の演算を繰り返さず、今回算出したパラメータの解を出力する。情報処理装置100は、例えば、今回算出したパラメータの解を、利用者が参照可能に出力する。これにより、情報処理装置100は、計算量の増大化を抑制することができる。情報処理装置100は、比較的精度がよいパラメータの解を利用可能にすることができる。このように、情報処理装置100は、計算量の増大化を抑制することができ、計算時間および計算負担の増大化を抑制することができる。
 ここでは、情報処理装置100が、単独で動作する場合について説明したが、これに限らない。例えば、複数のコンピュータが協働で情報処理装置100としての機能を実現する場合があってもよい。具体的には、特定の演算が、複数のコンピュータで分散処理される場合があってもよい。複数のコンピュータが協働する場合の具体例については、例えば、図2を用いて後述する。例えば、クラウド上に情報処理装置100としての機能が実装される場合があってもよい。
(情報処理システム200の一例)
 次に、図2を用いて、図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。
 図2は、情報処理システム200の一例を示す説明図である。図2において、情報処理システム200は、情報処理装置100と、数値計算装置201と、クライアント装置202とを含む。
 情報処理システム200において、情報処理装置100とクライアント装置202とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。情報処理システム200において、情報処理装置100と数値計算装置201とは、有線または無線のネットワーク210を介して接続される。
 情報処理装置100は、数値計算を管理するコンピュータである。情報処理装置100は、例えば、計算指示を、クライアント装置202から受信する。計算指示は、計算対象の問題を指定する。情報処理装置100は、終了条件を設定する。情報処理装置100は、計算指示に応じて、終了条件を満たすまで、特定の演算を繰り返し実施する。
 情報処理装置100は、例えば、電子密度の初期値を設定し、初期値に基づいて、Kohn-Sham方程式を解いて導出した1電子波動関数を用いて、電子密度の1回目の解を算出する。その後、情報処理装置100は、例えば、前回算出した電子密度の解に基づいて、Kohn-Sham方程式を解いて導出した1電子波動関数を用いて、電子密度の解を算出する一連の演算を、終了条件を満たすまで繰り返し実施する。
 ここで、情報処理装置100は、例えば、電子密度の解を算出する演算を、数値計算装置201とで分散処理してもよい。情報処理装置100は、終了条件を満たした場合、電子密度の解が収束していれば、電子密度の解を、クライアント装置202に送信する。情報処理装置100は、終了条件を満たした場合、電子密度の解が未収束であれば、未収束の通知を、クライアント装置202に送信する。情報処理装置100は、例えば、サーバ、または、PCなどである。
 数値計算装置201は、電子密度の解を算出する演算を分担するコンピュータである。数値計算装置201は、例えば、サーバ、または、PCなどである。クライアント装置202は、利用者の操作入力に基づき、計算指示を、情報処理装置100に送信するコンピュータである。クライアント装置202は、電子密度の解を、情報処理装置100から受信すると、利用者が参照可能に出力する。クライアント装置202は、未収束の通知を、情報処理装置100から受信すると、利用者が参照可能に出力する。クライアント装置202は、例えば、PC、タブレット端末、または、スマートフォンなどである。
 以下の説明では、情報処理装置100が単独で動作する場合について主に説明する。
(情報処理装置100のハードウェア構成例)
 次に、図3を用いて、情報処理装置100のハードウェア構成例について説明する。
 図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
 ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。
 ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
 記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。
 情報処理装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
(情報処理装置100の機能的構成例)
 次に、図4を用いて、情報処理装置100の機能的構成例について説明する。
 図4は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、記憶部400と、取得部401と、設定部402と、演算部403と、判定部404と、出力部405とを含む。
 記憶部400は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部400が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部400が、情報処理装置100とは異なる装置に含まれ、記憶部400の記憶内容が情報処理装置100から参照可能である場合があってもよい。
 取得部401~出力部405は、制御部の一例として機能する。取得部401~出力部405は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
 記憶部400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部400は、パラメータの解を算出するための関数を記憶する。パラメータは、例えば、電子密度である。関数は、例えば、パラメータを算出可能にする1電子波動関数を導出可能にするKohn-Sham方程式である。
 取得部401は、各機能部の処理に用いられる各種情報を取得する。取得部401は、取得した各種情報を、記憶部400に記憶し、または、各機能部に出力する。また、取得部401は、記憶部400に記憶しておいた各種情報を、各機能部に出力してもよい。取得部401は、例えば、利用者の操作入力に基づき、各種情報を取得する。取得部401は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
 取得部401は、例えば、計算指示を取得する。計算指示は、例えば、計算対象の問題を特定する情報を含む。取得部401は、具体的には、利用者の操作入力に基づき、計算指示の入力を受け付ける。取得部401は、具体的には、他のコンピュータから、計算指示を受信することにより取得する。
 取得部401は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。
 取得部401は、具体的には、計算指示を取得したことを、設定部402と演算部403と判定部404との処理を開始する開始トリガーとして受け付ける。
 設定部402は、特定の演算の繰り返しにかかる終了条件を設定する。特定の演算は、例えば、関数を用いてパラメータの解を算出する一連の演算である。特定の演算は、例えば、前回算出したパラメータの解に基づいて関数を用いてパラメータの解を算出する一連の演算である。特定の演算は、具体的には、SCF法に対応する。
 設定部402は、例えば、前回算出したパラメータの解に対応する特性値と、今回算出したパラメータの解に対応する特性値との間で、値が一致する上位の桁数が第1閾値以上になることを示す終了条件Aを設定する。第1閾値は、例えば、利用者によって予め設定される。特性値は、例えば、全電子エネルギーである。桁数は、例えば、前回算出したパラメータの解に対応する特性値が「5678」であり、今回算出したパラメータの解に対応する特性値が「5679」である場合、上位から「567」の3つの値が一致するため、「3」である。
 また、桁数は、例えば、前回算出したパラメータの解に対応する特性値が「1234」であり、今回算出したパラメータの解に対応する特性値が「123.4」である場合、上位から同じ桁に存在する値は一致しないため、「0」である。これにより、設定部402は、計算量を低減するための指針を設定することができる。設定部402は、例えば、パラメータの解が精度よく算出されたことを検出可能にすることができる。
 設定部402は、例えば、前回算出したパラメータの解と今回算出したパラメータの解との差分が第2閾値以下になることを示す終了条件Bを設定する。第2閾値は、例えば、第1閾値とは異なる閾値である。第2閾値は、例えば、利用者によって予め設定される。これにより、設定部402は、計算量を低減するための指針を設定することができる。設定部402は、例えば、パラメータの解が精度よく算出されたことを検出可能にすることができる。
 設定部402は、例えば、前回算出したパラメータの解と前々回算出したパラメータの解との差分と、今回算出したパラメータの解と前回算出したパラメータの解との差分との変動度が第3閾値以下になることを示す終了条件Cを設定する。第3閾値は、例えば、第1閾値および第2閾値とは異なる閾値である。第3閾値は、例えば、利用者によって予め設定される。これにより、設定部402は、計算量を低減するための指針を設定することができる。設定部402は、例えば、パラメータの解が未収束であることを検出可能にすることができる。
 設定部402は、具体的には、少なくとも終了条件Aと終了条件Cとのいずれかを設定する。設定部402は、具体的には、終了条件Aと終了条件Bと終了条件Cとをすべて設定してもよい。設定部402は、具体的には、終了条件Aと終了条件Bと終了条件Cとのうち、いずれか2つを設定してもよい。
 演算部403は、特定の演算を繰り返し実施する。演算部403は、例えば、特定の演算を、終了条件Aを満たすまで繰り返し実施する。演算部403は、具体的には、パラメータの初期値に基づいて関数を用いてパラメータの解を算出する。その後、演算部403は、具体的には、前回算出したパラメータの解に基づいて関数を用いてパラメータの解を算出する特定の演算を、終了条件Aを満たすまで繰り返し実施する。これにより、演算部403は、パラメータの解を精度よく算出することができる。演算部403は、計算量の増大化を抑制することができる。
 演算部403は、例えば、特定の演算を、終了条件Cを満たすまで繰り返し実施する。演算部403は、具体的には、パラメータの初期値に基づいて関数を用いてパラメータの解を算出する。その後、演算部403は、具体的には、前回算出したパラメータの解に基づいて関数を用いてパラメータの解を算出する特定の演算を、終了条件Cを満たすまで繰り返し実施する。これにより、演算部403は、パラメータの解が未収束であることを比較的早期に検出し易くすることができる。演算部403は、計算量の増大化を抑制することができる。
 演算部403は、例えば、特定の演算を、少なくとも終了条件Aまたは終了条件Bのいずれかを満たすまで繰り返し実施してもよい。演算部403は、具体的には、パラメータの初期値に基づいて関数を用いてパラメータの解を算出する。その後、演算部403は、具体的には、前回算出したパラメータの解に基づいて関数を用いてパラメータの解を算出する特定の演算を、少なくとも終了条件Aまたは終了条件Bのいずれかを満たすまで繰り返し実施する。これにより、演算部403は、パラメータの解を精度よく算出することができる。演算部403は、計算量の増大化を抑制することができる。
 演算部403は、例えば、特定の演算を、少なくとも終了条件Cまたは終了条件Bのいずれかを満たすまで繰り返し実施してもよい。演算部403は、具体的には、パラメータの初期値に基づいて関数を用いてパラメータの解を算出する。その後、演算部403は、具体的には、前回算出したパラメータの解に基づいて関数を用いてパラメータの解を算出する特定の演算を、少なくとも終了条件Cまたは終了条件Bのいずれかを満たすまで繰り返し実施する。これにより、演算部403は、パラメータの解を精度よく算出することができる。演算部403は、パラメータの解が未収束であることを比較的早期に検出し易くすることができる。演算部403は、計算量の増大化を抑制することができる。
 演算部403は、例えば、特定の演算を、少なくとも終了条件Aまたは終了条件Cのいずれかを満たすまで繰り返し実施してもよい。演算部403は、具体的には、パラメータの初期値に基づいて関数を用いてパラメータの解を算出する。その後、演算部403は、具体的には、前回算出したパラメータの解に基づいて関数を用いてパラメータの解を算出する特定の演算を、少なくとも終了条件Aまたは終了条件Cのいずれかを満たすまで繰り返し実施する。これにより、演算部403は、パラメータの解を精度よく算出することができる。演算部403は、パラメータの解が未収束であることを比較的早期に検出し易くすることができる。演算部403は、計算量の増大化を抑制することができる。
 演算部403は、例えば、特定の演算を、少なくとも終了条件A、終了条件B、または、終了条件Cのいずれかを満たすまで繰り返し実施してもよい。演算部403は、具体的には、パラメータの初期値に基づいて関数を用いてパラメータの解を算出する。その後、演算部403は、具体的には、前回算出したパラメータの解に基づいて関数を用いてパラメータの解を算出する特定の演算を、少なくとも終了条件A、終了条件B、または、終了条件Cのいずれかを満たすまで繰り返し実施する。これにより、演算部403は、パラメータの解を精度よく算出することができる。演算部403は、パラメータの解が未収束であることを比較的早期に検出し易くすることができる。演算部403は、計算量の増大化を抑制することができる。
 判定部404は、パラメータの解が収束したか否かを判定する。判定部404は、終了条件Aを満たす場合、パラメータの解が収束したと判定する。判定部404は、終了条件Bを満たす場合、パラメータの解が収束したと判定する。判定部404は、終了条件Cを満たす場合、パラメータの解が未収束であると判定する。
 出力部405は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部405は、少なくともいずれかの機能部の処理結果を利用者に通知可能にし、情報処理装置100の利便性の向上を図ることができる。
 出力部405は、例えば、終了条件Aを満たした場合、今回算出したパラメータの解を出力する。出力部405は、具体的には、パラメータの解を、利用者が参照可能に出力する。これにより、出力部405は、比較的精度のよいパラメータの解を利用可能にすることができる。
 出力部405は、例えば、終了条件Bを満たした場合、今回算出したパラメータの解を出力する。出力部405は、具体的には、パラメータの解を、利用者が参照可能に出力する。これにより、出力部405は、比較的精度のよいパラメータの解を利用可能にすることができる。
 出力部405は、例えば、終了条件Cを満たした場合、パラメータの解が未収束であることを示す通知を出力する。出力部405は、具体的には、パラメータの解が未収束であることを示す通知を、利用者が参照可能に出力する。これにより、出力部405は、パラメータの解が未収束であることを、利用者が把握可能にすることができる。
(情報処理装置100の動作例1)
 次に、図5を用いて、情報処理装置100の動作例1について説明する。動作例1は、情報処理装置100が、少なくとも上述した終了条件Cを利用する場合に対応する。
 図5は、情報処理装置100の動作例1を示す説明図である。図5において、情報処理装置100は、SCF法に従って、所定の状況設定における、空間内の各点の電子密度ρ(r)を算出する特定の演算を繰り返し実施する。
 以下の説明では、x回目に算出した電子密度ρ(r)を「電子密度ρx(r)」と表記する場合がある。また、以下の説明では、説明の簡略化のため、電子密度ρ(r)は、空間内のいずれかの点の電子密度ρ(r)について示すとする場合がある。
 情報処理装置100は、例えば、終了条件を設定する。終了条件は、例えば、電子密度ρn(r)を算出した際、電子密度ρn-1(r)と電子密度ρn-2(r)との差分Δρn-1(r)と、電子密度ρn(r)と電子密度ρn-1(r)との差分Δρn(r)との差分変動率が閾値DTH以下であることを含む。DTHは、例えば、5[%]である。
 例えば、差分Δρn-1(r)=電子密度ρn-2(r)-電子密度ρn-1(r)である。例えば、差分Δρn(r)=電子密度ρn-1(r)-電子密度ρn(r)である。差分変動率は、(差分Δρn(r)-差分Δρn-1(r))/差分Δρn-1(r)である。終了条件は、具体的には、空間内に複数の点がある場合、すべての点の差分変動率が閾値DTH以下であることを含む。
 終了条件は、さらに、電子密度ρn(r)と電子密度ρn-1(r)との差分Δρn(r)がΔρ許容値以下であることを含んでいてもよい。終了条件は、具体的には、空間内に複数の点がある場合、すべての点の差分Δρn(r)がΔρ許容値以下であることを含んでいてもよい。
 情報処理装置100は、n回目の電子密度ρn(r)を算出した際、差分変動率が閾値DTH以下であれば、特定の演算の繰り返しを終了し、電子密度ρn(r)が未収束であると判定する。情報処理装置100は、電子密度ρn(r)が未収束であると判定した場合、電子密度ρn(r)が未収束であることを示す通知を、利用者が参照可能に出力する。
 情報処理装置100は、n回目の電子密度ρn(r)を算出した際、差分Δρn(r)がΔρ許容値以下であれば、特定の演算の繰り返しを終了し、電子密度ρn(r)が収束したと判定する。情報処理装置100は、電子密度ρn(r)が収束したと判定した場合、電子密度ρn(r)を、利用者が参照可能に出力する。
 また、情報処理装置100は、回数nが上限に達した場合に、特定の演算の繰り返しを終了し、電子密度ρn(r)が未収束であると判定してもよい。
 一方で、従来手法は、終了条件に、電子密度ρn(r)と電子密度ρn-1(r)との差分Δρn(r)がΔρ許容値以下であることを採用する。このため、従来手法は、差分Δρn(r)がΔρ許容値以下にならない限り、回数nが上限に達するまで、特定の演算を繰り返し実施し続けることになる。
 グラフ500は、従来手法に関し、特定の演算を繰り返した回数nと、差分Δρn(r)との対応関係を表す特性曲線501を示す。グラフ500に示すように、従来手法は、電子密度ρn(r)が収束困難な状況設定であると、回数nが上限に達するまで、特定の演算を繰り返し実施し続けることになり、計算量の増大化を招くことになる。従来手法は、回数nの上限が設定されていなければ、無限ループに陥ることになる。
 一方で、グラフ510は、情報処理装置100に関し、特定の演算を繰り返した回数nと、差分変動率との対応関係を表す特性曲線511を示す。グラフ510に示すように、情報処理装置100は、電子密度ρn(r)が収束困難な状況設定であっても、回数n=aにおいて、電子密度ρn(r)が未収束であると比較的早期に判定することができ、特定の演算の繰り返しを終了することができる。このため、情報処理装置100は、計算量の増大化を抑制することができる。
 ここでは、情報処理装置100が、電子密度ρ(r)を算出する問題に適用される場合について説明したが、これに限らない。例えば、情報処理装置100が、電子密度ρ(r)を算出する問題以外の他の問題に適用される場合があってもよい。ここでは、情報処理装置100が、SCF法を実現する場合について説明したが、これに限らない。例えば、情報処理装置100が、SCF法以外の反復解法を実現する場合があってもよい。
(動作例1における全体処理手順)
 次に、図6を用いて、情報処理装置100が実行する、動作例1における全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
 図6は、動作例1における全体処理手順の一例を示すフローチャートである。図6において、情報処理装置100は、差分の変動値を用いた終了条件を設定する(ステップS601)。次に、情報処理装置100は、SCF法を実施する(ステップS602)。そして、情報処理装置100は、電子密度の解が収束していれば、電子密度の解と全電子エネルギーとを出力し、電子密度の解が未収束であれば、未収束を示す通知を出力する(ステップS603)。
 ステップS603では、情報処理装置100は、具体的には、空間内の点が複数ある場合、複数の点の電子密度の解がすべて収束していれば、それぞれの点の電子密度の解と、全電子エネルギーとを出力する。情報処理装置100は、具体的には、空間内の点が複数ある場合、少なくともいずれかの点の電子密度の解が未収束であれば、未収束を示す通知を出力する。その後、情報処理装置100は、全体処理を終了する。
(動作例1における演算処理手順)
 次に、図7を用いて、情報処理装置100が実行する、動作例1における演算処理手順の一例について説明する。演算処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
 図7は、動作例1における演算処理手順の一例を示すフローチャートである。図7において、情報処理装置100は、電子密度ρ(r)を設定する(ステップS701)。情報処理装置100は、例えば、空間内に複数の点がある場合、それぞれの点の電子密度ρ(r)を設定する。情報処理装置100は、例えば、1回目の設定であれば、電子密度ρ(r)の初期値を設定し、2回目以降の設定であれば、何らかの方法により電子密度ρ(r)を設定する。
 次に、情報処理装置100は、電子密度ρ(r)に基づいて、Kohn-Sham方程式を解き、1電子波動関数φi(r)を導出する(ステップS702)。情報処理装置100は、例えば、空間内に複数の点がある場合、それぞれの点について1電子波動関数φi(r)を導出する。そして、情報処理装置100は、1電子波動関数φi(r)を用いて、電子密度ρ’(r)を算出する(ステップS703)。情報処理装置100は、例えば、空間内に複数の点がある場合、それぞれの点の電子密度ρ’(r)を算出する。
 次に、情報処理装置100は、差分Δρ(r)=電子密度ρ(r)-電子密度ρ’(r)を算出する(ステップS704)。そして、情報処理装置100は、差分変動率=(今回の差分Δρ(r)-前回の差分Δρ(r))/前回の差分Δρ(r)を算出する(ステップS705)。情報処理装置100は、例えば、空間内に複数の点がある場合、それぞれの点の差分Δρ(r)と差分変動率とを算出する。
 次に、情報処理装置100は、差分Δρ(r)≦Δρ許容値であるか否かを判定する(ステップS706)。情報処理装置100は、例えば、空間内に複数の点がある場合、すべての点の差分Δρ(r)≦Δρ許容値であるか否かを判定する。
 ここで、差分Δρ(r)≦Δρ許容値である場合(ステップS706:Yes)、情報処理装置100は、電子密度ρ(r)が収束したと判定し、電子密度ρ(r)を出力し、演算処理を終了する。例えば、空間内に複数の点がある場合、すべての点の差分Δρ(r)≦Δρ許容値であれば、情報処理装置100は、演算処理を終了する。
 一方で、差分Δρ(r)≦Δρ許容値ではない場合(ステップS706:No)、情報処理装置100は、ステップS707の処理に移行する。例えば、空間内に複数の点がある場合、少なくともいずれかの点の差分Δρ(r)≦Δρ許容値でなければ、情報処理装置100は、ステップS707の処理に移行する。
 ステップS707では、情報処理装置100は、差分変動率≦DTHであるか否かを判定する(ステップS707)。情報処理装置100は、例えば、空間内に複数の点がある場合、少なくともいずれかの点の差分Δρ(r)≦Δρ許容値であるか否かを判定する。
 ここで、差分変動率≦DTHである場合(ステップS707:Yes)、情報処理装置100は、電子密度ρ(r)が未収束であると判定し、未収束の通知を出力し、演算処理を終了する。例えば、空間内に複数の点がある場合、少なくともいずれかの点の差分変動率≦DTHであれば、情報処理装置100は、演算処理を終了する。
 一方で、差分変動率≦DTHではない場合(ステップS707:No)、情報処理装置100は、ステップS701の処理に戻る。例えば、空間内に複数の点がある場合、すべての点の差分変動率≦DTHでなければ、情報処理装置100は、ステップS701の処理に戻る。
 ここで、情報処理装置100は、図6および図7の各フローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップS706,S707の処理の順序は入れ替え可能である。また、情報処理装置100は、図6および図7の各フローチャートの一部ステップの処理を省略してもよい。例えば、ステップS706の処理は省略可能である。
(情報処理装置100の動作例2)
 次に、図8を用いて、情報処理装置100の動作例2について説明する。動作例2は、情報処理装置100が、少なくとも上述した終了条件Aを利用する場合に対応する。
 図8は、情報処理装置100の動作例2を示す説明図である。図8において、情報処理装置100は、SCF法に従って、所定の状況設定における、空間内の各点の電子密度ρ(r)を算出する特定の演算を繰り返し実施する。
 以下の説明では、x回目に算出した電子密度ρ(r)を「電子密度ρx(r)」と表記する場合がある。また、以下の説明では、説明の簡略化のため、電子密度ρ(r)は、空間内のいずれかの点の電子密度ρ(r)について示すとする場合がある。
 情報処理装置100は、例えば、終了条件を設定する。終了条件は、例えば、電子密度ρn(r)を算出した際、電子密度ρn-1(r)に対応する全電子エネルギーと、電子密度ρn(r)に対応する全電子エネルギーとで、有効数字の桁数が、閾値SD以上であることを含む。SDは、例えば、5[桁]である。
 有効数字は、上位の桁から、連続して同一の桁における値が一致した場合に関し、値が一致した部分の数字列である。有効数字の桁数は、上位の桁から、連続して同一の桁における値が一致した場合に関し、値が一致した桁がいくつあるかを示す数である。
 終了条件は、例えば、電子密度ρn(r)を算出した際、今回まで連続する過去のi回以上の有効数字の桁数が、閾値SD以上であることを含んでいてもよい。iは、例えば、2以上の整数である。
 終了条件は、さらに、例えば、電子密度ρn(r)と電子密度ρn-1(r)との差分Δρn(r)がΔρ許容値以下であることを含んでいてもよい。終了条件は、具体的には、空間内に複数の点がある場合、すべての点の差分Δρn(r)がΔρ許容値以下であることを含んでいてもよい。
 情報処理装置100は、n回目の電子密度ρn(r)を算出した際、有効数字の桁数がSD以上であれば、特定の演算の繰り返しを終了し、電子密度ρn(r)が収束したと判定する。情報処理装置100は、電子密度ρn(r)が収束したと判定した場合、電子密度ρn(r)を、利用者が参照可能に出力する。
 情報処理装置100は、n回目の電子密度ρn(r)を算出した際、差分Δρn(r)がΔρ許容値以下であれば、特定の演算の繰り返しを終了し、電子密度ρn(r)が収束したと判定する。情報処理装置100は、電子密度ρn(r)が収束したと判定した場合、電子密度ρn(r)を、利用者が参照可能に出力する。
 また、情報処理装置100は、回数nが上限に達した場合に、特定の演算の繰り返しを終了し、電子密度ρn(r)が未収束であると判定してもよい。
 一方で、従来手法は、終了条件に、電子密度ρn(r)と電子密度ρn-1(r)との差分Δρn(r)がΔρ許容値以下であることを採用する。このため、従来手法は、差分Δρn(r)がΔρ許容値以下にならない限り、回数nが上限に達するまで、特定の演算を繰り返し実施し続けることになる。
 グラフ800は、従来手法に関し、特定の演算を繰り返した回数nと、空間内の点iに関する差分Δρn(ri)との対応関係を表す特性曲線801~803を示す。特性曲線801は、具体的には、電子密度ρn(ri)が比較的小さい点iに対応する。特性曲線802は、具体的には、電子密度ρn(ri)が中程度の点iに対応する。特性曲線803は、具体的には、電子密度ρn(ri)が比較的大きい点iに対応する。
 グラフ800に示すように、従来手法は、いずれかの点iの電子密度ρn(ri)が比較的小さく差分Δρn(ri)の減少度合いが比較的小さい状況設定であると、特定の演算を繰り返す回数nが増大し易くなり、計算量の増大化を招くことになる。
 一方で、グラフ810は、情報処理装置100に関し、特定の演算を繰り返した回数nと、有効数字の桁数との対応関係を表す特性曲線811を示す。グラフ810に示すように、情報処理装置100は、いずれかの点の電子密度ρn(ri)が比較的小さく差分Δρn(ri)の減少度合いが比較的小さい状況設定であっても、電子密度ρn(ri)が収束したと比較的早期に判定することができる。そして、情報処理装置100は、特定の演算の繰り返しを終了することができる。このため、情報処理装置100は、計算量の増大化を抑制することができる。
 ここでは、情報処理装置100が、電子密度ρ(r)を算出する問題に適用される場合について説明したが、これに限らない。例えば、情報処理装置100が、電子密度ρ(r)を算出する問題以外の他の問題に適用される場合があってもよい。ここでは、情報処理装置100が、SCF法を実現する場合について説明したが、これに限らない。例えば、情報処理装置100が、SCF法以外の反復解法を実現する場合があってもよい。
(動作例2における全体処理手順)
 次に、図9を用いて、情報処理装置100が実行する、動作例2における全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
 図9は、動作例2における全体処理手順の一例を示すフローチャートである。図9において、情報処理装置100は、物理的特性値を用いた終了条件を設定する(ステップS901)。次に、情報処理装置100は、SCF法を実施する(ステップS902)。そして、情報処理装置100は、電子密度の解が収束していれば、電子密度の解と全電子エネルギーとを出力し、電子密度の解が未収束であれば、未収束を示す通知を出力する(ステップS903)。
 ステップS903では、情報処理装置100は、具体的には、空間内の点が複数ある場合、複数の点の電子密度の解がすべて収束していれば、それぞれの点の電子密度の解と、全電子エネルギーとを出力する。情報処理装置100は、具体的には、空間内の点が複数ある場合、少なくともいずれかの点の電子密度の解が未収束であれば、未収束を示す通知を出力する。その後、情報処理装置100は、全体処理を終了する。
(動作例2における演算処理手順)
 次に、図10を用いて、情報処理装置100が実行する、動作例2における演算処理手順の一例について説明する。演算処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
 図10は、動作例2における演算処理手順の一例を示すフローチャートである。図10において、情報処理装置100は、電子密度ρ(r)を設定する(ステップS1001)。情報処理装置100は、例えば、空間内に複数の点がある場合、それぞれの点の電子密度ρ(r)を設定する。情報処理装置100は、例えば、1回目の設定であれば、電子密度ρ(r)の初期値を設定し、2回目以降の設定であれば、何らかの方法により電子密度ρ(r)を設定する。
 次に、情報処理装置100は、電子密度ρ(r)に基づいて、Kohn-Sham方程式を解き、1電子波動関数φi(r)を導出する(ステップS1002)。情報処理装置100は、例えば、空間内に複数の点がある場合、それぞれの点について1電子波動関数φi(r)を導出する。そして、情報処理装置100は、1電子波動関数φi(r)を用いて、電子密度ρ’(r)を算出する(ステップS1003)。情報処理装置100は、例えば、空間内に複数の点がある場合、それぞれの点の電子密度ρ’(r)を算出する。
 次に、情報処理装置100は、差分Δρ(r)=電子密度ρ(r)-電子密度ρ’(r)を算出する(ステップS1004)。情報処理装置100は、例えば、空間内に複数の点がある場合、それぞれの点の差分Δρ(r)を算出する。そして、情報処理装置100は、電子密度ρ’(r)に基づいて、物理的特性値として全電子エネルギーを算出する(ステップS1005)。
 次に、情報処理装置100は、差分Δρ(r)≦Δρ許容値であるか否かを判定する(ステップS1006)。情報処理装置100は、例えば、空間内に複数の点がある場合、すべての点の差分Δρ(r)≦Δρ許容値であるか否かを判定する。
 ここで、差分Δρ(r)≦Δρ許容値である場合(ステップS1006:Yes)、情報処理装置100は、電子密度ρ(r)が収束したと判定し、電子密度ρ(r)を出力し、演算処理を終了する。例えば、空間内に複数の点がある場合、すべての点の差分Δρ(r)≦Δρ許容値であれば、情報処理装置100は、演算処理を終了する。
 一方で、差分Δρ(r)≦Δρ許容値ではない場合(ステップS1006:No)、情報処理装置100は、ステップS1007の処理に移行する。例えば、空間内に複数の点がある場合、少なくともいずれかの点の差分Δρ(r)≦Δρ許容値でなければ、情報処理装置100は、ステップS1007の処理に移行する。
 ステップS1007では、情報処理装置100は、全電子エネルギーの有効数字の桁数≧SDであるか否かを判定する(ステップS1007)。ここで、有効数字の桁数≧SDである場合(ステップS1007:Yes)、情報処理装置100は、電子密度ρ(r)が収束したと判定し、電子密度ρ(r)を出力し、演算処理を終了する。一方で、有効数字の桁数≧SDではない場合(ステップS1007:No)、情報処理装置100は、ステップS1001の処理に戻る。
 ここで、情報処理装置100は、図9および図10の各フローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップS1006,S1007の処理の順序は入れ替え可能である。また、情報処理装置100は、図9および図10の各フローチャートの一部ステップの処理を省略してもよい。例えば、ステップS1006の処理は省略可能である。
(情報処理装置100による効果)
 次に、図11~図13を用いて、情報処理装置100による効果の一例について説明する。
 図11は、従来手法との計算結果の比較例を示す説明図である。図11の表1100は、アンモニア触媒の問題について、CP2Kを利用した従来手法の計算結果と、動作例2でCP2Kを利用してSD=5を設定した場合の計算結果1と、動作例2でCP2Kを利用してSD=4を設定した場合の計算結果2とを示す。CP2Kは、オープンソースソフトウェアである。
 従来手法は、全電子エネルギー=-7572.428を算出する。従来手法では、全電子エネルギー=-7572.428を算出する際のステップ数は、53ステップである。従来手法では、全電子エネルギー=-7572.428を算出する際の経過時間=計算時間は、383.261sである。
 一方で、計算結果1では、全電子エネルギー=-7572.409である。計算結果1では、全電子エネルギー=-7572.409を算出する際のステップ数は、37ステップである。計算結果1では、全電子エネルギー=-7572.409を算出する際の経過時間=計算時間は、266.375sである。計算結果1では、従来手法を基準とした計算時間の高速化率は、1.44である。計算結果1に示すように、情報処理装置100は、従来手法と同様の全電子エネルギーの値を、従来手法より1.44倍高速に算出することができる。
 また、計算結果2では、全電子エネルギー=-7572.240である。計算結果2では、全電子エネルギー=-7572.240を算出する際のステップ数は、20ステップである。計算結果2では、全電子エネルギー=-7572.240を算出する際の経過時間=計算時間は、145.025sである。計算結果2では、従来手法を基準とした計算時間の高速化率は、2.64である。計算結果2に示すように、情報処理装置100は、従来手法と同様の全電子エネルギーの値を、従来手法より2.64倍高速に算出することができる。次に、図12の説明に移行する。
 図12は、従来手法との高速化率の比較例を示す説明図である。図12のグラフ1200は、従来手法を基準:1とした場合における、計算結果1の高速化率と計算結果2の高速化率とを示す。グラフ1200に示すように、情報処理装置100は、従来手法に比べて、SCF法の高速化を図ることができ、SCF法にかかる計算時間の増大化を抑制することができる。情報処理装置100は、例えば、従来手法に比べて、1.4~2.6倍の高速化を図ることができる。次に、図13の説明に移行する。
 図13は、表示例を示す説明図である。図13において、情報処理装置100は、ステップごとの計算結果を示すログ1300を出力する。図13の例では、情報処理装置100は、具体的には、計算結果2に対応するステップごとの計算結果を示すログ1300を出力する。ログ1300は、ステップごとに、当該ステップにおけるステップ数と、当該ステップにおける差分と、当該ステップにおける全電子エネルギーと、当該ステップにおける計算時間とを対応付けて示す。
 このように、情報処理装置100は、有効桁数に基づいて、差分Δρ(r)≦Δρ許容値になる前に、電子密度ρ(r)と全電子エネルギーとが収束したことを判定することができ、計算量の増大化を抑制することができる。
 以上説明したように、情報処理装置100によれば、特定の演算を、前回算出したパラメータの解に対応する特性値と、今回算出したパラメータの解に対応する特性値との間で、値が一致する上位の桁数が第1閾値以上になるまで、繰り返し実施することができる。これにより、情報処理装置100は、計算量の増大化を抑制することができる。
 情報処理装置100によれば、桁数が第1閾値以上になった場合、今回算出したパラメータの解を出力することができる。これにより、情報処理装置100は、パラメータの解を利用可能にすることができる。
 情報処理装置100によれば、特定の演算を、桁数が第1閾値以上になるか、または、前回算出したパラメータの解と今回算出したパラメータの解との差分が第2閾値以下になるまで、繰り返し実施することができる。これにより、情報処理装置100は、計算量の増大化を抑制することができる。情報処理装置100は、比較的精度のよいパラメータの解が算出されたことを検出することができる。
 情報処理装置100によれば、パラメータの初期値に基づいて関数を用いてパラメータの解を算出することができる。情報処理装置100によれば、前回算出したパラメータの解に基づいて関数を用いてパラメータの解を算出する特定の演算を、桁数が第1閾値以上になるまで繰り返し実施することができる。これにより、情報処理装置100は、パラメータの解を算出可能にすることができる。
 情報処理装置100によれば、特定の演算を、前回算出したパラメータの解と前々回算出したパラメータの解との差分と、今回算出したパラメータの解と前回算出したパラメータの解との差分との変動度が第3閾値以下になるまで、繰り返し実施することができる。これにより、情報処理装置100は、計算量の増大化を抑制することができる。
 情報処理装置100によれば、変動度が第3閾値以下になった場合、パラメータの解が未収束であることを示す通知を出力することができる。これにより、情報処理装置100は、パラメータの解が未収束であることを、利用者が把握可能にすることができる。
 情報処理装置100によれば、特定の演算を、変動度が第3閾値以下になるか、または、前回算出したパラメータの解と今回算出したパラメータの解との差分が第2閾値以下になるまで、繰り返し実施することができる。これにより、情報処理装置100は、計算量の増大化を抑制することができる。情報処理装置100は、比較的精度のよいパラメータの解が算出されたことを検出することができる。
 情報処理装置100によれば、パラメータの初期値に基づいて関数を用いてパラメータの解を算出することができる。情報処理装置100によれば、前回算出したパラメータの解に基づいて関数を用いてパラメータの解を算出する特定の演算を、変動度が第3閾値以下になるまで繰り返し実施することができる。これにより、情報処理装置100は、パラメータの解を算出可能にすることができる。
 情報処理装置100によれば、特定の演算を、桁数が第1閾値以上になるか、または、変動度が第3閾値以下になるまで、繰り返し実施することができる。これにより、情報処理装置100は、計算量の増大化を抑制することができる。
 情報処理装置100によれば、パラメータに、電子密度を採用することができる。情報処理装置100によれば、関数に、1電子波動関数を算出可能にするKohn-Sham方程式を含めることができる。これにより、情報処理装置100は、電子密度を算出する際の計算量の増大化を抑制することができる。
 情報処理装置100によれば、特定の演算に、SCF法に対応する演算を採用することができる。これにより、情報処理装置100は、SCF法の高速化を図ることができる。
 なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した情報処理プログラムは、インターネットなどのネットワークを介して配布してもよい。
 100 情報処理装置
 101 関数
 200 情報処理システム
 201 数値計算装置
 202 クライアント装置
 210 ネットワーク
 300 バス
 301 CPU
 302 メモリ
 303 ネットワークI/F
 304 記録媒体I/F
 305 記録媒体
 400 記憶部
 401 取得部
 402 設定部
 403 演算部
 404 判定部
 405 出力部
 500,510,800,810,1200 グラフ
 501,511,801~803,811 特性曲線
 1100 表
 1300 ログ

Claims (13)

  1.  関数を用いてパラメータの解を算出する特定の演算を、前回算出した前記パラメータの解に対応する特性値と、今回算出した前記パラメータの解に対応する特性値との間で、値が一致する上位の桁数が第1閾値以上になるまで、繰り返し実施する、
     処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  2.  前記桁数が前記第1閾値以上になった場合、今回算出した前記パラメータの解を出力する、
     処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
  3.  前記実施する処理は、
     前記特定の演算を、前記桁数が前記第1閾値以上になるか、または、前回算出した前記パラメータの解と今回算出した前記パラメータの解との差分が第2閾値以下になるまで、繰り返し実施する、ことを特徴とする請求項1または2に記載の情報処理プログラム。
  4.  前記パラメータの初期値に基づいて前記関数を用いて前記パラメータの解を算出する、
     処理を前記コンピュータに実行させた後、
     前記実施する処理は、
     前回算出した前記パラメータの解に基づいて前記関数を用いて前記パラメータの解を算出する特定の演算を、前記桁数が前記第1閾値以上になるまで繰り返し実施する、ことを特徴とする請求項1または2に記載の情報処理プログラム。
  5.  関数を用いてパラメータの解を算出する特定の演算を、前回算出した前記パラメータの解と前々回算出した前記パラメータの解との差分と、今回算出した前記パラメータの解と前回算出した前記パラメータの解との差分との変動度が第1閾値以下になるまで、繰り返し実施する、
     処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  6.  前記変動度が前記第1閾値以下になった場合、前記パラメータの解が未収束であることを示す通知を出力する、
     処理を前記コンピュータに実行させることを特徴とする請求項5に記載の情報処理プログラム。
  7.  前記実施する処理は、
     前記特定の演算を、前記変動度が前記第1閾値以下になるか、または、前回算出した前記パラメータの解と今回算出した前記パラメータの解との差分が第2閾値以下になるまで、繰り返し実施する、ことを特徴とする請求項5または6に記載の情報処理プログラム。
  8.  前記パラメータの初期値に基づいて前記関数を用いて前記パラメータの解を算出する、
     処理を前記コンピュータに実行させた後、
     前記実施する処理は、
     前回算出した前記パラメータの解に基づいて前記関数を用いて前記パラメータの解を算出する特定の演算を、前記変動度が前記第1閾値以下になるまで繰り返し実施する、ことを特徴とする請求項5または6に記載の情報処理プログラム。
  9.  前記実施する処理は、
     前記特定の演算を、前記桁数が前記第1閾値以上になるか、または、前回算出した前記パラメータの解と前々回算出した前記パラメータの解との差分と、今回算出した前記パラメータの解と前回算出した前記パラメータの解との差分との変動度が第3閾値以下になるまで、繰り返し実施する、ことを特徴とする請求項1または2に記載の情報処理プログラム。
  10.  前記パラメータは、電子密度であり、
     前記関数は、1電子波動関数を算出可能にするKohn-Sham方程式を含む、ことを特徴とする請求項1,2,5,6のいずれか一つに記載の情報処理プログラム。
  11.  前記特定の演算は、Self Consistent Field法に対応する、ことを特徴とする請求項1,2,5,6のいずれか一つに記載の情報処理プログラム。
  12.  関数を用いてパラメータの解を算出する特定の演算を、前回算出した前記パラメータの解に対応する特性値と、今回算出した前記パラメータの解に対応する特性値との間で、値が一致する上位の桁数が第1閾値以上になるまで、繰り返し実施する、
     処理をコンピュータが実行することを特徴とする情報処理方法。
  13.  関数を用いてパラメータの解を算出する特定の演算を、前回算出した前記パラメータの解と前々回算出した前記パラメータの解との差分と、今回算出した前記パラメータの解と前回算出した前記パラメータの解との差分との変動度が第1閾値以下になるまで、繰り返し実施する、
     処理をコンピュータが実行することを特徴とする情報処理方法。
PCT/JP2022/017849 2022-04-14 2022-04-14 情報処理プログラム、および情報処理方法 WO2023199486A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/017849 WO2023199486A1 (ja) 2022-04-14 2022-04-14 情報処理プログラム、および情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/017849 WO2023199486A1 (ja) 2022-04-14 2022-04-14 情報処理プログラム、および情報処理方法

Publications (1)

Publication Number Publication Date
WO2023199486A1 true WO2023199486A1 (ja) 2023-10-19

Family

ID=88329403

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/017849 WO2023199486A1 (ja) 2022-04-14 2022-04-14 情報処理プログラム、および情報処理方法

Country Status (1)

Country Link
WO (1) WO2023199486A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248672A (ja) * 2002-02-22 2003-09-05 Denso Corp 数値流体計算方法及び数値計算の収束性判定方法
JP2015141533A (ja) * 2014-01-28 2015-08-03 シャープ株式会社 電子状態算出装置、電子状態算出方法、及び電子状態算出プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248672A (ja) * 2002-02-22 2003-09-05 Denso Corp 数値流体計算方法及び数値計算の収束性判定方法
JP2015141533A (ja) * 2014-01-28 2015-08-03 シャープ株式会社 電子状態算出装置、電子状態算出方法、及び電子状態算出プログラム

Similar Documents

Publication Publication Date Title
US20100306300A1 (en) Sparse Matrix Padding
US20140114934A1 (en) Multi-level inline data deduplication
JP2018537788A5 (ja)
US20210151128A1 (en) Learning Method, Mixing Ratio Prediction Method, and Prediction Device
CN113657602A (zh) 用于量子计算的方法及其装置
CN115994582A (zh) 量子测量设备性能比较方法及装置、电子设备和介质
US7953581B2 (en) System, method and apparatus for sensitivity based fast power grid simulation with variable time step
WO2023199486A1 (ja) 情報処理プログラム、および情報処理方法
US20210407539A1 (en) Flexible on-cylinder limit for drive performance management
US20080243960A1 (en) Deterministic file content generation of seed-based files
TWI758223B (zh) 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體
JP3892167B2 (ja) 粒子集団の配置を生成する生成装置および方法
US20220309128A1 (en) Recording medium, information processing method, and information processing apparatus
JP2024003643A (ja) ニューラルネットワークの学習方法、コンピュータプログラム、及び余寿命予測システム
Wu et al. Streaming Approach to In Situ Selection of Key Time Steps for Time‐Varying Volume Data
KR102289411B1 (ko) 가중치 기반의 피처 벡터 생성 장치 및 방법
CN107229564B (zh) 一种压力模拟方法及装置
JP2024024463A (ja) 情報処理プログラム、情報処理方法、および情報処理装置
Cui et al. Elucidating the solution space of extended reverse-time SDE for diffusion models
CN110968575B (zh) 一种大数据处理系统的去重方法
CN112463040B (zh) 一种数据写入方法、装置、电子设备及存储介质
CN114494315B (zh) 隧道横断面特征提取方法、装置、设备和存储介质
KR20100072577A (ko) 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법, 이를수행하기 위한 컴퓨팅 장치 및 이를 수행하기 위한 프로그램 기록매체
Zhou et al. LGBM‐CBFS: A Heuristic Feature Sampling Method Based on Tree Ensembles
KR20240047195A (ko) 로우 비트 신경망에 수반되는 성능 손실 문제를 해결하기 위한 양자화 모델 정확도 복원 방법 및 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22937465

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2024515282

Country of ref document: JP