Information processing device, information processing method, and program

WO2026176813A1PCT designated stage Publication Date: 2026-08-27TOHOKU UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2026/000371
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-18
Filing Date
2026-01-08
Publication Date
2026-08-27

Smart Images

  • Figure JP2026000371_27082026_PF_FP_ABST
    Figure JP2026000371_27082026_PF_FP_ABST
Patent Text Reader

Abstract

This information processing device comprises a control unit that executes i-th spin calculation processing, which is processing for calculating the energy of a spin Si (i is an integer equal to or greater than 0 and less than I) in a model to be analyzed, which is a classical spin Ising model comprising I spins. In the i-th spin calculation processing, the energy of an interaction between the spin Si and each spin of an i-th calculation connection number is calculated, wherein the i-th calculation connection number is an integer multiple of a predetermined value N (N is an integer equal to or greater than 2) and is a minimum number equal to or greater than the number of i-th actual spins that are spins having a non-zero interaction with the spin Si in the model to be analyzed.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing device, information processing method, and program

[0001] The present invention relates to an information processing apparatus, an information processing method, and a program. This application claims priority based on Japanese Patent Application No. 2025-023971, filed in Japan on 18 February 2025, the contents of which are incorporated herein by reference.

[0002] There is growing interest in techniques for simulating quantum annealing using classical computers. More specifically, there is growing interest in techniques for simulating quantum annealing using classical computers by employing a classical spin system Ising model that mimics the Ising model of a quantum spin system. (For example, Non-Patent Document 1)

[0003] Hasitha MW ,M Hariyama., “Highly-Parallel FPGA Accelerator for Simulated Quantum Annealing”, JOURNAL OF LATEX CLASS FILES, VOL. 14, NO. 8, AUGUST 2015

[0004] While such techniques may not be comparable to ideal (i.e., dissipation-free and decoherence-free) quantum annealing machines, they aim to obtain results faster using classical computers. It should be noted that these issues are common to the analysis of Ising models of classical spin systems in general, even outside of quantum annealing.

[0005] In view of the above circumstances, the present invention aims to provide a technology that enables faster analysis of the Ising model of classical spin systems.

[0006] One aspect of the present invention relates to an Ising model of a classical spin system to be analyzed, which is an Ising model consisting of I spins (where I is an integer of 2 or more), and the spin S iA control unit that executes a first i - spin calculation process, which is a process of calculating energy for i (where i is an integer from 0 or more and less than I), and the energy includes the interaction energy between spins. In the first i - spin calculation process, the number is a multiple of a predetermined value N (N is an integer of 2 or more), and is the minimum number that is equal to or more than the number of first i - actual spins, which are spins with non - zero interaction with the spin S in the analysis target model. i For each spin of the first i - calculation connection number, which is the minimum number equal to or more than the number of first i - actual spins, the interaction energy between each spin and the spin S i is calculated. The sum of the coupling coefficient J p defined between the spin S q and the spin S pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the first i - spin calculation process, for the interaction energy between the first i - actual spin and the spin S i i the edge coefficient between the first i - actual spin indicated by the analysis target model and the spin S i is used, and for the interaction energy between each spin of the number obtained by subtracting the number of first i - actual spins from the first i - calculation connection number and the spin S <着 i zero is used as the edge coefficient. It is an information processing device.

[0007] One aspect of the present invention is a control step in which a computer executes a first i - spin calculation process, which is a process of calculating the energy of a spin S i (where i is an integer from 0 or more and less than I) in an Ising model of a classical spin system to be analyzed, which is an analysis target model composed of I (I is an integer of 2 or more) spins. The energy includes the interaction energy between spins. In the first i - spin calculation process, the number is a multiple of a predetermined value N (N is an integer of 2 or more), and is the number of spins in the analysis target model where the spin S iThe number of non-zero interactions between each spin and the spin S is the smallest number greater than or equal to the number of i-th real spins, which is the i-th computational connection number. i The interaction energy between them is calculated, and spin S p and spin S q The coupling coefficient J defined between them pq and the spin S p and the spin S q The coupling coefficient J defined between them qp The sum of the above spin S p and the spin S q Defined as the edge coefficient between and the i spin calculation process, in the calculation of the energy in the i spin calculation process, the i real spin and the spin S i The energy of the interaction between the i real spin and the spin S shown in the analysis model is as follows: i The edge coefficient between the two is used, and each spin and the number of spins obtained by subtracting the number of actual spins from the number of calculated connections i and the spin S i In this information processing method, zero is used as the edge coefficient for the energy of the interaction between the two, and in the control step, N calculations of the energy are performed in parallel.

[0008] One aspect of the present invention is a program for causing a computer to function as the above-mentioned information processing device.

[0009] This invention makes it possible to perform the analysis of the Ising model of classical spin systems at a faster rate.

[0010] An explanatory diagram illustrating the information processing apparatus of the embodiment. An explanatory diagram illustrating the effect of the i-th spin calculation process in the embodiment. A diagram showing an example of the hardware configuration of the information processing apparatus of the embodiment. A flowchart showing an example of the processing flow executed by the information processing apparatus of the embodiment. An explanatory diagram illustrating an example of time-parallel processing in a modified example. A diagram for illustrating the effect of time-parallel processing in a modified example. A diagram showing another example of time-parallel processing in a modified example. An explanatory diagram illustrating yet another example of time-parallel processing in a modified example.

[0011] (Embodiment) Figure 1 is an explanatory diagram illustrating an information processing device 1 of an embodiment. The information processing device 1 includes a control unit 11 which comprises a processor 91 such as a CPU (Central Processing Unit), GPU (Graphics Processing Unit), or NPU (Neural Network Processing Unit) connected by a bus, and a memory 92.

[0012] The control unit 11 is capable of executing N processes (where N is an integer of 2 or more) in parallel. N is a predetermined value that satisfies the condition of being an integer of 2 or more.

[0013] The control unit 11 performs an analysis on an Ising model of a classical spin system consisting of I spins (where I is an integer of 2 or more) (hereinafter referred to as the "model under analysis"), and the spin S in the model under analysis i The analysis includes the calculation of the energy of (where i is an integer between 0 and I, inclusive). Note that the energy here includes the interaction energy between spins.

[0014] Such analyses are used, for example, to obtain solutions to specific optimization problems. They are also used, for example, when analyzing the aforementioned object using the Monte Carlo method.

[0015] Therefore, such analysis is performed, for example, when simulating quantum annealing using a classical spin system. The classical spin system used in simulating quantum annealing is, for example, a classical spin system derived from a quantum spin system and obtained using the Suzuki-Trotter decomposition. Therefore, the model under analysis may be, for example, such a classical spin system derived from a quantum spin system and obtained using the Suzuki-Trotter decomposition.

[0016] As described above, the control unit 11 controls the spin S in the model under analysis. i The process of calculating the energy is performed. Specifically, this calculation performed by the control unit 11 is the calculation process for the i-th spin. As mentioned above, the energy here includes the interaction energy between spins.

[0017] The i-th spin calculation process is performed on the spin S in the model under analysis. i This is the process of calculating the energy of each spin and spin S of the i-th calculation connection. i This process satisfies the condition that the energy of the interaction with is calculated.

[0018] Therefore, in the i-th spin calculation process, for each of the i-th calculation connection spins, spin S i The energy of the interaction with is calculated. The i-th computational connection number is the smallest number greater than or equal to the number of i-th real spins, which is an integer multiple of the value N. The i-th real spin is spin S in the model under analysis. i This is a spin whose interaction with the other element is non-zero.

[0019] The following describes the coupling coefficient J in the Ising Hamiltonian. pq and coupling coefficient J qp The sum of these is the edge coefficient E p,q That is to say, spin S p and spin S q The coupling coefficient J defined between them pq and spin S p and spin S q The coupling coefficient J defined between them qp The sum of the spin S p and spin S q Edge coefficient E between p,q We will define and explain it as follows.

[0020] Using this terminology, a non-zero interaction means that the edge coefficient is non-zero. Note that the coupling coefficient is J. pq and coupling coefficient J qp This can also result in different values. In other words, a non-zero interaction means that the interaction energy is non-zero. A zero interaction means that the interaction energy is zero. The edge coefficient is a value that represents the strength of the interaction between spins (i.e., spin coupling). Although it is probably unnecessary as it is common knowledge, for the sake of explanation, the coupling coefficient J in the Ising Hamiltonian is... pq The Ising Hamiltonian is H = -ΣJ pq S pS q -Σh p S p Coupling coefficient J in pq That is. h p is, Spin S p This represents the strength of the external field applied to the function. The Σ in the first term on the right-hand side means taking the sum over all pairs of p and q, and the Σ in the second term on the right-hand side means taking the sum over all p.

[0021] In the calculation of the interaction energy in the i-th spin calculation process, the i-th real spin and spin S i The energy of the interaction between the i-th real spin and spin S is shown in the model under analysis. i The edge coefficient between them is used. Also, in the calculation of the interaction energy in the i-th spin calculation process, the number of spins obtained by subtracting the number of i-th actual spins from the number of i-th calculation connections and spin S i For the interaction energy between the two, zero is used as the edge coefficient.

[0022] Since the model under analysis is the Ising model, coupling coefficients are defined between predetermined spins. Therefore, the spin S shown in the model under analysis p and spin S q The edge coefficient between is a coupling coefficient whose value is defined in the model under analysis, and is a spin S p and spin S q Coupling coefficient J between pq And, the coupling coefficients for which values ​​are defined in the model under analysis, and the spin S q and spin S p Coupling coefficient J between qp This represents the sum of the two coefficients. Considering the relationship between the coupling coefficient and the interaction, it can also be said that if an edge coefficient or coupling coefficient is defined between spins, then an interaction is defined between those spins.

[0023] <Explanation using a specific example> Before explaining the effects of executing the i-th spin calculation process, we will explain the i-th spin calculation process using a specific example to facilitate understanding of its effects. Here, we will explain the i-th spin calculation process using the example where I = 5 and the control unit 11 can execute three processes in parallel (i.e., N = 3). More specifically, we will explain the i-th spin calculation process using the example where the model M1 shown in Figure 1 is the model to be analyzed and the control unit 11 can execute three processes in parallel.

[0024] Model M1 is Spin S 0 , Spin S 1 , Spin S 2 , Spin S 3 and spin S 4 This is a classical spin system (sparse model) composed of five spins. Spin S 0 From Spin S 4 Each spin up to this point is a classical spin. In Model M1, spin S 0 is, Spin S 1 An interaction is defined only between and . This interaction is a non-zero interaction. And in Figure 1, spin S 0 and spin S 1 The edge coefficient between E 0,1 It is expressed as follows.

[0025] Furthermore, when we say that an interaction is defined in a model, it means that a value indicating the edge coefficient of that interaction is recorded in a predetermined storage location such as the memory unit 13, which will be described later, and that the control unit 11 can use that value when analyzing the model. Therefore, when we say that an interaction is defined, we can also say that the edge coefficient is defined.

[0026] In Model M1, Spin S 1 is, Spin S 0 , Spin S 2 , Spin S 3 and spin S 4 Interactions are defined between each of them. These interactions are non-zero interactions. In Figure 1, spin S 1 and spin S 0 The edge coefficient between them is E as described above.0,1 is represented as. In FIG. 1, spin S 1 and spin S 2 The edge coefficient between them is E 1,2 is represented as. In FIG. 1, spin S 1 and spin S 3 The edge coefficient between them is E 1,3 is represented as. In FIG. 1, spin S 1 and spin S 4 The edge coefficient between them is E 1,4 is represented as.

[0027] In model M1, spin S 2 is, spin S 1 and spin S 3 There is an interaction defined between them. These interactions are non-zero interactions. Spin S 0 and spin S 4 There is no interaction defined between them (no interaction). In FIG. 1, spin S 2 and spin S 1 The edge coefficient between them is E as described above 1,2 is represented as. In FIG. 1, spin S 2 and spin S 3 The edge coefficient between them is E 2,3 is represented as.

[0028] In model M1, spin S 3 is, spin S 1 and spin S 3 There is an interaction defined between them. These interactions are non-zero interactions. Spin S 0 and spin S 4 There is no interaction defined between them (no interaction). In FIG. 1, spin S 3 and spin S 1 The edge coefficient between them is E as described above 1,3 is represented as. In FIG. 1, spin S 3 and spin S 2 The edge coefficient between them is E as described above 2,3 is represented as.

[0029] In model M1, spin S 4 is, spin S1 An interaction is defined between them. This interaction is a non-zero interaction. Spin S 0 , Spin S 2 and spin S 3 No interaction is defined between them (there is no interaction). In Figure 1, spin S 4 and spin S 1 The edge coefficient between them is E as described above. 1,4 It is expressed as follows.

[0030] By the way, in the analysis of model M1 performed by the control unit 11, spin S 0 ~Spin S 4 For each spin, it is necessary to obtain the sum of the interaction energies related to that spin. Specifically, the sum of the interaction energies related to that spin is obtained by considering the spin S i As such, one spin is spin S i This refers to the total energy of spin couplings where the edge coefficient is defined.

[0031] For example, spin S 0 The sum of the interaction energies related to spin S 0 The interaction between the spins is defined as spin S 1 Since it is only, Spin S 0 and spin S 1 This is the energy of the interaction between the two. For example, spin S 1 The sum of the interaction energies related to spin S 1 and spin S 0 The energy of the interaction between and spin S 1 and spin S 2 The energy of the interaction between and spin S 1 and spin S 3 The energy of the interaction between and spin S 1 and spin S 4 It is the sum of the energy of the interaction between and

[0032] This spin S iAs a process to obtain the sum of the interaction energies related to the i-th spin, the control unit 11 performs an i-th spin calculation process. Image G1 in Figure 1 is an explanatory image illustrating the i-th spin calculation process performed in the analysis of model M1.

[0033] Image G1 shows five models: Model M100, Model M101, Model M102, Model M103, and Model M104. Model M100 is spin S 0 and spin S 1 This is a model in which the following is defined. In Model M100, spin S 0 This includes the interaction shown by model M1 (i.e., the edge coefficient E 0,1 In addition to the interaction represented by , the interaction of edge coefficient C01 and the interaction of edge coefficient C02 are also defined. The values ​​of edge coefficient C01 and edge coefficient C02 are both zero.

[0034] Model M101 is Spin S 1 And, Spin S 0 , Spin S 2 , Spin S 3 and spin S 4 This is a model in which the following is defined. In Model M101, spin S 1 This includes the interaction shown by model M1 (i.e., the edge coefficient E 0,1 Edge coefficient E 1,2 Edge coefficient E 1,3 and edge coefficient E 1,4 In addition to the interactions of the above, the interactions of edge coefficient C11 and edge coefficient C12 are also defined. The values ​​of edge coefficient C11 and edge coefficient C12 are both zero.

[0035] The control unit 11 itself adds an edge coefficient that is a multiple of a number that allows the control unit 11 to execute parallel processing (in this example, N=3) (in this example, a multiple of 3), and that does not affect the calculation result. Since the value of the edge coefficient that does not affect the result is zero, it is set to zero. Note that the value of the edge coefficient does not have to be zero as long as it does not affect the calculation result. The definition of a value that does not affect the calculation result is that the difference in the calculation result between when that value is used and when it is not used is within a predetermined range.

[0036] Model M102 is Spin S 2 And, Spin S 1 and spin S 3 This is a model in which the following is defined. In Model M102, spin S 2 This includes the interaction shown by model M1 (i.e., the edge coefficient E 1,2 and edge coefficient E 2,3 In addition to the interactions of the above, an interaction of the edge coefficient C21 is also defined. The value of the edge coefficient C21 is zero. As a result, the control unit 11 itself adjusts the edge coefficient so that it is a number that allows for parallel processing, in this example, a multiple of 3, namely 6. Specifically, this adjustment means that the control unit 11 adjusts the spin S i This process assigns edge coefficients such that the edge coefficients connected to the edge are multiples of a predetermined value N. This process enables the control unit 11 to process at least a portion of the interaction energy calculation in parallel.

[0037] Similarly, Model M103 is Spin S 3 And, Spin S 1 and spin S 2 This is a model in which the following is defined. In Model M103, spin S 3 This includes the interaction shown by model M1 (i.e., the edge coefficient E 1,3 and edge coefficient E 2,3 In addition to the interactions of the above, an interaction with edge coefficient C31 is also defined. The value of edge coefficient C31 is zero.

[0038] Similarly, Model M104 has a spin S 4 and spin S1 This is a model in which the following is defined. In Model M104, spin S 4 This includes the interaction shown by model M1 (i.e., the edge coefficient E 0,4 In addition to the interaction represented by , the interaction of edge coefficient C41 and the interaction of edge coefficient C42 are also defined. The values ​​of edge coefficient C41 and edge coefficient C42 are both zero.

[0039] The control unit 11 itself performs parallel processing at its maximum capacity by adding and adjusting edge count values ​​that do not affect the calculation results, so that the number of parallel processing units N is a multiple of the number N can execute in parallel (in this example, N=3), and by adding edge count values ​​that do not affect the calculation results. Note that the definition of maximum capacity means the maximum degree of parallelism according to the environment. Therefore, the maximum capacity depends on the selection of the degree of parallelism N. Increasing the degree of parallelism N increases parallel processing, but also increases the number of arithmetic units (hardware area). For this reason, the degree of parallelism N is changed according to the purpose of the hardware design. For example, if the purpose is to increase parallel processing, N is increased under the constraint of hardware area. On the other hand, if it is desired to increase both utilization and parallel processing, N is set to a moderate value. Calculations with a degree of parallelism N can greatly simplify the control unit 11. By providing the control unit 11 with as many resources as possible for arithmetic processing and making the control hardware very small, high speed can be achieved. The information processing device 1 can be executed correctly regardless of the value of the degree of parallelism N.

[0040] In the i-th spin calculation process performed by the control unit 11 during the analysis of model M1, the spin S in model M10i is calculated. i The sum of the interaction energies related to is obtained. And in obtaining that sum of energies, one of the spins is spin S i The energy of each spin coupling, for which an edge coefficient is defined, is calculated.

[0041] Therefore, in the 0th spin calculation process, spin S in model M100 is calculated. 0 The sum of the interaction energies related to spin S 0This is obtained by calculating the energy of each spin coupling for which an edge coefficient is defined.

[0042] Specifically, in the 0th spin calculation process, the edge coefficient E 0,1 Three calculations are performed: the calculation of the interaction energy of the first interaction, the calculation of the interaction energy of edge coefficient C01, and the calculation of the interaction energy of edge coefficient C02. Then, in the 0th spin calculation process, the edge coefficient E is calculated from the results of these calculations. 0,1 The sum of the interaction energy of the first element, the interaction energy of edge coefficient C01, and the interaction energy of edge coefficient C02 is obtained.

[0043] By the way, since the values ​​of edge coefficients C01 and C02 are zero, the interaction energy of edge coefficient C01 and the interaction energy of edge coefficient C02 are both zero. Therefore, in the 0th spin calculation process, the edge coefficient E is calculated in three steps. 0,1 Energy equal to the interaction energy is obtained. That is, in the 0th spin calculation process, the spin S in model M1 is obtained through three calculations. 0 The energy obtained is equal to the sum of the energies of the interactions related to .

[0044] To facilitate understanding, we will also provide specific explanations for each of the cases i=1, i=2, i=3, and i=4.

[0045] In the first spin calculation process, spin S in model M101 1 The sum of the interaction energies related to spin S 1 This is obtained by calculating the energy of each spin coupling for which an edge coefficient is defined.

[0046] Specifically, in the first spin calculation process, the edge coefficient E 0,1 Calculation of the interaction energy and the edge coefficient E 1,2 Calculation of the interaction energy and the edge coefficient E 1,3 Calculation of the interaction energy and the edge coefficient E 1,4Six calculations are performed: the calculation of the interaction energy of, the calculation of the interaction energy of edge coefficient C11, and the calculation of the interaction energy of edge coefficient C12. Then, in the first spin calculation process, the edge coefficient E is calculated from the results of that calculation. 0,1 The interaction energy and the edge coefficient E 1,2 The interaction energy and the edge coefficient E 1,3 The interaction energy and the edge coefficient E 1,4 The sum of the interaction energy of the first element, the interaction energy of edge coefficient C11, and the interaction energy of edge coefficient C12 is obtained.

[0047] Since the values ​​of edge coefficients C11 and C12 are zero, the interaction energy of edge coefficient C11 and the interaction energy of edge coefficient C12 are both zero. Therefore, in the first spin calculation process, the spin S in model M1 is calculated through six calculations. 1 The energy obtained is equal to the sum of the energy of the interactions related to it. In other words, edge counts that do not affect the additional calculation result do not affect the calculation result.

[0048] In the second spin calculation process, spin S in model M102 2 The sum of the interaction energies related to spin S 2 This is obtained by calculating the energy of each spin coupling for which an edge coefficient is defined.

[0049] Specifically, in the second spin calculation process, the edge coefficient E 1,2 Calculation of the interaction energy and the edge coefficient E 2,3 Three calculations are performed: the calculation of the interaction energy, the calculation of the interaction energy of the edge coefficient C21, and so on. Then, in the second spin calculation process, the edge coefficient E is calculated from the results of the first calculation. 1,2 The interaction energy and the edge coefficient E 2,3 The sum of the interaction energy of and the interaction energy of the edge coefficient C21 is obtained.

[0050] Since the value of the edge coefficient C21 is zero, the interaction energy of both edge coefficients C21 is zero. Therefore, in the second spin calculation process, the spin S in model M1 is calculated in three steps. 2 The energy obtained is equal to the sum of the energies of the interactions related to .

[0051] In the third spin calculation process, spin S in model M103 3 The sum of the interaction energies related to spin S 3 This is obtained by calculating the energy of each spin coupling for which an edge coefficient is defined.

[0052] Specifically, in the third spin calculation process, the edge coefficient E 1,3 Calculation of the interaction energy and the edge coefficient E 2,3 Three calculations are performed: the calculation of the interaction energy, the calculation of the interaction energy of the edge coefficient C31, and so on. Then, in the third spin calculation process, the edge coefficient E is calculated from the results of the calculations. 1,3 The interaction energy and the edge coefficient E 2,3 The sum of the interaction energy of the element and the interaction energy of the edge coefficient C31 is obtained.

[0053] Since the value of edge coefficient C31 is zero, the interaction energy of edge coefficient C31 is zero for both. Therefore, in the third spin calculation process, the spin S in model M1 is calculated in three steps. 3 The energy obtained is equal to the sum of the energies of the interactions related to .

[0054] In the fourth spin calculation process, spin S in model M104 4 The sum of the interaction energies related to spin S 4 This is obtained by calculating the energy of each spin coupling for which an edge coefficient is defined.

[0055] Specifically, in the fourth spin calculation process, the edge coefficient E 1,4Three calculations are performed: the calculation of the interaction energy of E, the calculation of the interaction energy of edge coefficient C41, and the calculation of the interaction energy of edge coefficient C42. Then, in the fourth spin calculation process, the edge coefficient E is calculated from the results of these calculations. 1,4 The sum of the interaction energy of the first element, the interaction energy of edge coefficient C41, and the interaction energy of edge coefficient C42 is obtained.

[0056] Since the values ​​of edge coefficients C41 and C42 are zero, the interaction energy of edge coefficient C41 and the interaction energy of edge coefficient C42 are both zero. Therefore, in the fourth spin calculation process, the edge coefficient E is calculated in three steps. 1,4 Energy equal to the interaction energy is obtained. That is, in the fourth spin calculation process, the spin S in model M1 is obtained through three calculations. 4 The energy obtained is equal to the sum of the energies of the interactions related to .

[0057] As described above, the added edge count values, which do not affect the calculation result, do not affect the calculation result. In the information processing device 1, the calculation processing capacity can be improved by setting the edge count values ​​that do not affect the calculation result to a multiple of the parallel processing capacity so that the control unit 11 can process them in parallel.

[0058] The i-th spin calculation process is as follows. As can be seen from the explanation so far, spin S in Model M1 1 This is an example of the 0th real spin. Spin S in Model M1 0 , Spin S 2 , Spin S 3 and spin S 4 This is an example of the first real spin. Spin S in Model M1 1 and spin S 3 This is an example of the second real spin. Spin S in Model M1 1 and spin S 2 This is an example of a third real spin. Spin S in Model M1 1 This is an example of a fourth real spin.

[0059] Note that the interaction of edge coefficient C01 and edge coefficient C02, which are edge count values ​​that do not affect the calculation results in Model M100, are both spin and spin S that do not exist in Model M1 and do not affect the calculation results. 0 This is the interaction between them. If we consider spins that do not affect these calculation results, the 0th spin calculation process will involve each spin of the 0th calculation connection and spin S. 0 It can be said that the interaction between them is being calculated. However, in the 0th spin calculation process, it is sufficient to define values ​​that do not affect the calculation results, such as an edge coefficient of 0, and it is not necessary to use values ​​representing spins that do not affect these calculation results. Note that both the interaction of edge coefficient C01 and the interaction of edge coefficient C02 are between each spin and spin S, which is the number obtained by subtracting the number of 0th actual spins from the 0th calculation connection number. 0 This is an example of the interaction between [the two entities].

[0060] These circumstances are also true for models M101 through M104, but I will explain them as well.

[0061] The interaction of edge coefficient C11 and edge coefficient C12 in Model M101 is a spin-spin interaction that does not exist in Model M1 and does not affect the calculation results. 1 This is the interaction between them. If we consider spins that do not affect these calculation results, the first spin calculation process will involve each spin of the first calculation connection and spin S. 1 It can be said that the interaction between them is being calculated. However, in the first spin calculation process, it is sufficient to define values ​​that do not affect the calculation results, such as an edge coefficient of 0, and it is not necessary to use values ​​that represent spins that do not affect these calculation results. Note that both the interaction of edge coefficient C11 and the interaction of edge coefficient C12 are between each spin and spin S, which is the number obtained by subtracting the number of first real spins from the number of first calculated connections. 1 This is an example of the interaction between [the two entities].

[0062] The interaction of edge coefficient C21 in model M102 is not present in model M1 and does not affect the calculation results, involving spin and spin S. 2This is the interaction between them. If we consider spins that do not affect this calculation result, the second spin calculation process will involve each spin of the second calculation connection and spin S. 2 It can be said that the interaction between them is being calculated. However, in the second spin calculation process, it is sufficient to define values ​​that do not affect the calculation results, such as an edge coefficient of 0, and it is not necessary to use values ​​that represent spins that do not affect these calculation results. Note that the interaction of the edge coefficient C21 is between each spin and spin S, which is the number of spins obtained by subtracting the number of second real spins from the number of second calculation connections. 2 This is an example of the interaction between [the two entities].

[0063] The interaction of edge coefficient C31 in model M103 is not present in model M1 and does not affect the calculation results, involving spin and spin S. 3 This is the interaction between them. If we consider spins that do not affect this calculation result, the third spin calculation process will involve each spin of the third calculation connection and spin S. 3 It can be said that the interaction between them is being calculated. However, in the third spin calculation process, it is sufficient to define values ​​that do not affect the calculation results, such as an edge coefficient of 0, and it is not necessary to use values ​​representing spins that do not affect these calculation results. Note that the interaction of the edge coefficient C31 is between each spin and spin S, which is the number of spins obtained by subtracting the number of third real spins from the number of third calculation connections. 3 This is an example of the interaction between [the two entities].

[0064] The interaction of edge coefficient C41 and edge coefficient C42 in Model M104 is a spin-spin interaction that does not exist in Model M1 and does not affect the calculation results. 4 This is the interaction between them. If we consider spins that do not affect these calculation results, the fourth spin calculation process will involve each spin of the fourth calculation connection and spin S. 4It can be said that the interaction between them is being calculated. However, in the fourth spin calculation process, it is sufficient to define values ​​that do not affect the calculation results, such as an edge coefficient of 0, and it is not necessary to use values ​​that represent spins that do not affect these calculation results. Note that both the interaction of edge coefficient C41 and the interaction of edge coefficient C42 are between each spin and spin S, the number of spins obtained by subtracting the number of fourth real spins from the number of fourth calculation connections. 4 This is an example of the interaction between [the two entities].

[0065] As mentioned above, in the example in Figure 1, three interactions are defined for each of the models M100, M102, M103, and M104. Therefore, in the example in Figure 1, the number of 0th computational connections, 2nd computational connections, 3rd computational connections, and 4th computational connections are all 3. Also, as mentioned above, six interactions are defined for model M101 in the example in Figure 1. Therefore, in the example in Figure 1, the number of 1st computational connections is 6.

[0066] <Effects of the i-th spin calculation process> Based on the explanation so far, we will now explain an example of the effects of the i-th spin calculation process. As can be seen from the explanation so far, the i-th spin calculation process uses connections that do not affect the calculation result of zero edge coefficients in addition to the connection with the i-th actual spin to calculate spin S i This can also be described as a process of calculating the energy of the interaction with the model. Here, "connection" refers to the interaction defined in the model, regardless of whether the edge coefficient is zero or non-zero.

[0067] In this type of connection, when the i-th spin calculation process is performed, the number of connections is an integer multiple of N, for example, in the example in Figure 1, for example, spin S 1 The number of connections is 3 (i.e., N × 1), for example, spin S 4 The number of connections is 6 (i.e., N × 2). Therefore, for each spin S i When calculating the energy of the interaction, the calculations for the energies of the three interactions can be performed in parallel.

[0068] If we did not consider connections that would not affect such calculation results, for example, if the number of first real spins is 3 and the number of fourth real spins is 4, even if we tried to obtain the energies of the three interactions in parallel, it would not be possible. This is because, in this case, the least common multiple is 1.

[0069] In this way, the i-th spin calculation process prepares connections that do not affect the calculation result other than the connection to the i-th real spin, so that the number of connections is an integer multiple of N, and the interaction energy is calculated. Therefore, the i-th spin calculation process is a process that can be processed in parallel. Consequently, the information processing device 1 that performs the analysis including the i-th spin calculation process can perform the analysis of the Ising model of a classical spin system at a faster speed.

[0070] Figure 2 is an explanatory diagram illustrating the effects of the i-th spin calculation process in the embodiment. More specifically, Figure 2 is an explanatory diagram illustrating the effects of the i-th spin calculation process using Model M1 in Figure 1 as an example.

[0071] Figure 2 shows images G21 and G22. Image G21 shows an example of the time required for calculation in terms of the number of time steps when the interaction energy is obtained by serial processing without the i-th spin calculation process being performed. Image G22 shows an example of the time required for calculation in terms of the number of time steps when the i-th spin calculation process, which is parallel processing performed by the control unit 11, is performed.

[0072] Image G21 shows Image G211. Image G211 shows the connections of each spin when the i-th spin calculation process is not performed and the interaction energy is obtained through series processing. Since the interaction energy is obtained through series processing, Image G211 shows the relationship of connections between each spin in Model M1.

[0073] Image G22 shows Image G221. Image G221 shows the connection of each spin when the i-th spin calculation process is performed and the interaction energy is obtained. Since the i-th spin calculation process is performed and the interaction energy is obtained, the spin S shown in model M10i i Image G221 shows the connection regarding this.

[0074] Note: Spin S i and spin S i The connection refers to a connection with a spin that does not affect the calculation result. For example, in image G221, there are two connections where the "spin number (i)" is 0 and the "connected spin number (j)" is 0. One of these represents a connection with edge coefficient C01, and the other represents a connection with edge coefficient C02.

[0075] Furthermore, image G221 also shows the combinations of connections that are processed in parallel. Specifically, in the 0th spin calculation process, image G221 shows two connections where the “spin number (i)” is 0 and the “connected spin number (j)” is 0 (i.e., the connection of edge coefficient C01 and the connection of edge coefficient C02), and a connection where the “spin number (i)” is 0 and the “connected spin number (j)” is 1 (i.e., edge coefficient E 0,1 This indicates that the connection between and will be processed in parallel.

[0076] Furthermore, in the first spin calculation process, there are two connections where the “spin number (i)” is 1 and the “connected spin number (j)” is 1 (i.e., the connection of edge coefficient C11 and the connection of edge coefficient C12), and a connection where the “spin number (i)” is 1 and the “connected spin number (j)” is 0 (i.e., edge coefficient E 0,1 This indicates that the connection between and will be processed in parallel.

[0077] Image G221 shows a connection in the first spin calculation process where the “spin number (i)” is 1 and the “connected spin number (j)” is 2 (i.e., edge coefficient E 1,2 (connection) and a connection where “spin number (i)” is 1 and “connected spin number (j)” is 3 (i.e., edge coefficient E 1,3 (connection) and a connection where “spin number (i)” is 1 and “connected spin number (j)” is 4 (i.e., edge coefficient E 1,4 This indicates that the connection between and will be processed in parallel.

[0078] Image G221 shows the second spin calculation process, where the "spin number (i)" is 2 and the "connected spin number (j)" is 2 (i.e., the connection with edge coefficient C21), and the connection where the "spin number (i)" is 2 and the "connected spin number (j)" is 1 (i.e., the connection with edge coefficient E 1,2 (connection) and a connection where “spin number (i)” is 2 and “connected spin number (j)” is 3 (i.e., edge coefficient E 2,3 This indicates that the connection between and will be processed in parallel.

[0079] Image G221 shows the third spin calculation process, a connection where the “spin number (i)” is 3 and the “connected spin number (j)” is 3 (i.e., a connection with edge coefficient C31), and a connection where the “spin number (i)” is 3 and the “connected spin number (j)” is 1 (i.e., an edge coefficient E 1,3 (connection) and a connection where “spin number (i)” is 3 and “connected spin number (j)” is 2 (i.e., edge coefficient E 2,3 This indicates that the connection between and will be processed in parallel.

[0080] Image G221 shows that in the fourth spin calculation process, there are two connections where the “spin number (i)” is 4 and the “connected spin number (j)” is 4 (i.e., the connection of edge coefficient C41 and the connection of edge coefficient C42), and a connection where the “spin number (i)” is 4 and the “connected spin number (j)” is 1 (i.e., edge coefficient E 1,4 This indicates that the connection between and will be processed in parallel.

[0081] Thus, image G221 shows that there are a total of six pairs of connections that are processed in parallel.

[0082] Image G21 shows Image G212. This shows the computation time when each connection shown in Image G211 is executed sequentially by serial processing. Since there are 10 possible connections in Image G211, the number of time steps is 10.

[0083] On the other hand, when the i-th spin calculation process is performed, parallel processing is performed, so the number of time steps is expected to be less than 10. Image G22 shows Image G222, which demonstrates that this expectation is correct. Image G222 shows that processing is performed for each set of parallel processing shown in Image G221. Since there are six sets of connections to be processed in parallel as shown in Image G222, the number of time steps is 6.

[0084] Thus, by performing the i-th spin calculation process, the computation time is reduced compared to the serial processing case.

[0085] <Diagram showing an example of the hardware configuration of the information processing device 1> Figure 3 is a diagram showing an example of the hardware configuration of the information processing device 1 according to the embodiment. The information processing device 1 includes a control unit 11 and executes a program. The information processing device 1 functions as a device comprising a control unit 11, an interface unit 12, and a storage unit 13 by executing a program.

[0086] More specifically, the processor 91 reads the program stored in the storage unit 13 and stores the read program in the memory 92. By executing the program stored in the memory 92, the information processing device 1 functions as a device comprising a control unit 11, an interface unit 12, and a storage unit 13.

[0087] The control unit 11 controls the operation of various functional units of the information processing device 1. The control unit 11 performs, for example, the analysis including the i-th spin calculation process described above. The control unit 11 records, for example, various information generated by the execution of various processes in the storage unit 13. The control unit 11 retrieves, for example, the information stored in the storage unit 13. Retrieving the information stored in the storage unit 13 is the process of reading the information stored in the storage unit 13 from the storage unit 13.

[0088] The interface unit 12 is configured to include a communication interface for connecting the information processing device 1 to an external device. The interface unit 12 communicates with the external device via wired or wireless connection. The external device is, for example, a device that transmits information indicating the model to be analyzed (hereinafter referred to as "model to be analyzed information"). The information indicating the model to be analyzed includes, for example, information indicating the spins present in the model to be analyzed, information indicating which of the defined interactions is present, and information indicating the edge coefficients of the defined interactions. The interface unit 12 acquires the model to be analyzed information by communicating with the external device that transmits the model to be analyzed information.

[0089] The interface unit 12 may include input devices such as a mouse, keyboard, or touch panel. The interface unit 12 may also be configured as an interface connecting these input devices to the information processing device 1. In this way, the input devices of the interface unit 12 receive various types of information to the information processing device 1 via wired or wireless connections. Note that the information does not necessarily have to be input to the communication interface of the interface unit 12; it may also be input to the input devices of the interface unit 12.

[0090] The interface unit 12 outputs various types of information, for example. The interface unit 12 includes, for example, a display device such as a CRT (Cathode Ray Tube) display, a liquid crystal display, or an organic EL (Electro-Luminescence) display, as well as a speaker. The interface unit 12 may be configured as an interface for connecting these display devices or speakers to the information processing device 1. Therefore, the interface unit 12 may output information input to its input device as an image or sound, for example.

[0091] The information or signals obtained by the interface unit 12 are output to the control unit 11 or the storage unit 13.

[0092] The storage unit 13 is configured using a computer-readable storage medium (non-transitory computer-readable recording medium) such as a magnetic hard disk drive or a semiconductor memory device. The storage unit 13 stores various information related to the information processing device 1. The storage unit 13 stores information input via, for example, the interface unit 12. The storage unit 13 stores various information generated by, for example, the operation of the control unit 11. Note that the storage unit 13 does not necessarily have to be located in the information processing device 1; it may reside on, for example, the cloud, as long as the control unit 11 can communicate with it.

[0093] Figure 4 is a flowchart showing an example of the processing flow performed by the information processing device 1 in the embodiment. The control unit 11 acquires the model information to be analyzed (step S101). The control unit 11 performs an analysis on the model information to be analyzed, which includes the calculation of the i-th spin (step S102). Therefore, in step S102, the control unit 11 performs the calculation of the i-th spin.

[0094] The information processing device 1 configured in this way performs analysis including the calculation of the i-th spin. As a result, the information processing device 1 can perform analysis of the Ising model of a classical spin system at a faster speed, as described in the <Effects of the i-th spin calculation process> above.

[0095] (Modification 1) <Time-Parallel Processing> The control unit 11 may execute the (m+1) spin calculation process (where m is an integer between 0 and I) after completing the m-th spin calculation process, but it is not necessarily required to execute the (m+1) spin calculation process after completing the m-th spin calculation process. Therefore, the control unit 11 may start executing the (m+1) spin calculation process while the m-th spin calculation process is in progress. Hereinafter, the process of starting the execution of the (m+1) spin calculation process while the m-th spin calculation process is in progress will be referred to as time-parallel processing.

[0096] Figure 5 is an explanatory diagram illustrating an example of time-parallel processing in a modified example. More specifically, Figure 5 is an explanatory diagram illustrating an example of time-parallel processing using the case where the number of time steps from the start to the end of the i-th spin calculation process is 4, with i = 0 to 2 as examples. In Figure 5, "processing of i = 0" means the 0th spin calculation process, "processing of i = 1" means the 1st spin calculation process, and "processing of i = 2" means the 2nd spin calculation process.

[0097] Figure 5 shows images G51 and G52. Image G51 shows an example of the computation time in terms of the number of time steps when time-parallel processing is not performed and the (m+1) spin calculation is performed after the m spin calculation is completed. Image G52 shows an example of the computation time in terms of the number of time steps when time-parallel processing is performed.

[0098] Image G51 shows that the number of time steps from the start of the 0th spin calculation process to the end of the 2nd spin calculation process is 3 × 4 = 12, and Image G52 shows that it is 6. In the example of Image G52, the (m+1)th spin calculation process starts when the first step of the mth spin calculation process, which requires 4 steps, is completed. As a result, in the example of Image G52, the number of time steps from the start of the 0th spin calculation process to the end of the 2nd spin calculation process is 6.

[0099] By performing time-parallel processing in this way, the analysis of the Ising model of classical spin systems can be performed even faster.

[0100] In Figure 5, the symbol "II" represents the time from the start of the m-th spin calculation process to the start of the (m+1)-th spin calculation process. In the example in Figure 5, II = 1. The larger the value of II, the greater the number of time steps from the start of the 0th spin calculation process to the end of the 2nd spin calculation process. Note that II does not depend on m.

[0101] Figure 6 is a diagram illustrating the effect of time-parallel processing in a modified example. More specifically, Figure 6 is a concrete example showing, in terms of the number of time steps, an example of computation time when time-parallel processing is not performed and the (m+1)th spin calculation process is performed after the mth spin calculation process is completed.

[0102] Figure 6 shows the same image as image G211 used in Figure 2, but as image G511. Figure 6 also shows image G512. Image G512 is a diagram that shows an example of the calculation time in terms of the number of time steps when time-parallel processing is not performed and the (m+1) spin calculation process is performed after the m spin calculation process is completed. Image G512 is a diagram that shows an example where it takes 3 clock cycles to perform the calculation of the interaction energy between spin i and spin j in each i spin calculation process. As specifically shown in G512, if the (m+1) spin calculation process is performed after the m spin calculation process is completed in order from spin 0 to spin 4, the processing time interval for each spin j is 3, so the calculation processing time becomes very long at 30 cycles.

[0103] The arrow shown in G512 indicates that the result of the previous calculation is used. For example, the arrows in time step 15 to time step 16 mean that the calculation result obtained in the first spin calculation process is used in the second spin calculation process. Note that after the i-th spin calculation process and before the (i+1)th spin calculation process, spin i (i.e., spin S) described later is used. i A flip operation may be performed with respect to ). In this case, the result of the flip operation with respect to spin i may be used in the (i+1) spin calculation process.

[0104] Figure 7 shows another example of time-parallel processing in a modified example. Figure 7 shows images G521a, G521b, G521c, and G522. Image G521a shows the connection of each spin shown in image G511 of Figure 6, with edge coefficients added or adjusted so as to enable time-parallel processing, without affecting the calculation results. For example, for spin number i=0 in image 511, image G521a shows that not only the interaction energy with spin number j=1, but also the interaction with spin number j=0 is obtained twice. Note that the edge coefficients that do not affect the calculation results are, for example, values ​​smaller than spin number i. Therefore, for example, the edge coefficient that does not affect the calculation results for spin number i=2 can be any real number between 0 and 2, for example, 1 or 0. In the example of image G521a, the edge coefficients are adjusted to a number that allows parallel processing, in this example, to be a multiple of 3.

[0105] In the example in Figure 7, the calculation order is then rearranged to enable time-parallel processing, as shown in image G521b, after adjusting the number of connections. For example, for spin number 1, the order is rearranged so that the calculation for the connection of the spin for spin number 0, which is being calculated at, is performed later. Before the rearrangement, the order is rearranged so that the connection of the spin that is being calculated earlier is performed later. For example, the order is rearranged so that the calculation related to spin number 0, which is being calculated before spin number 1, is performed after the calculation for spin number 1.

[0106] In the example in Figure 7, in order to keep the execution interval of each calculation process (three calculations each in this case) constant, an edge coefficient that does not affect the calculation result is added, as shown in image G521c. In this example, an edge coefficient that does not affect the calculation result is added at spin numbers 2 and 3 so that the processing time interval for spin number j is 2.

[0107] Image G522 shows an example of the process that includes each process in which the results are displayed in G521a to G521c. In the example in Figure 7, after the i-th spin calculation process, spin i (i.e., spin S) is calculated. i The flip calculation related to spin i is also performed. In the example of image G522, it is assumed that the calculation of the i-th spin and the flip calculation related to spin i take a total of 3 clock cycles.

[0108] The flip operation with respect to spin i is a process in which the value of spin i is reversed (from +1 to -1, or from -1 to +1) if the value of the exponential function whose exponent is the difference in the i-th spin energy is greater than a random variable that is a random number between 0.0 and 1.0. Since whether or not a flip occurs depends on the random variable, the flip operation with respect to spin i is a probabilistic process. The difference in the i-th spin energy is the value obtained by subtracting the energy of spin i after the flip from the energy of spin i before the flip.

[0109] The arrow in image G522 indicates that the result of the flip operation on spin i is used in the (i+1) spin calculation process. Incidentally, in the (i+1) spin calculation process, if the result of the flip operation on spin i is obtained before the start of the calculation of the interaction between spin (i+1) and spin i, for example, it is possible to perform a calculation that reflects the result of the i-th spin calculation process. In the example in image G522, the (i+1) spin calculation process is started while the i-th spin calculation process is being executed. However, even if the (i+1) spin calculation process has started, if the result of the flip operation on spin i is obtained before the start of the calculation of the interaction between spin (i+1) and spin i, it is possible to perform a calculation that reflects the result of the i-th spin calculation process.

[0110] Therefore, in the example shown in Figure 7, for example, the result of the flip operation on spin i is obtained before the operation on the spin that has been inverted by the flip operation on spin i is started in the (i+1) spin calculation process. This is also the case in the examples shown in Figures 6 and 8.

[0111] In the example in Figure 7, a flip operation was performed with respect to spin i. However, this is not necessarily required. If it is not performed, the operation concerning spin j may begin before the (i+1)th spin calculation process starts, for example, before the (i+1)th spin calculation process starts. Alternatively, it may occur during the execution of the (i+1)th spin calculation process, but before the operation concerning spin j begins in the (i+1)th spin calculation process. The same applies to the examples in Figures 6 and 8.

[0112] Image G522 shows that, in order to keep the number of arithmetic units constant, an edge coefficient that does not affect the calculation result is added (in this example, a multiple of 3). After this process, Image G522 shows that the order is changed, meaning that parts where the result of the calculation process for the previous spin number i is not needed are calculated in parallel first.

[0113] Image G522 also shows that a virtual edge coefficient is added so that the processing time interval for each spin number j is 2. The arrows in G522 indicate the points where the results of the calculation and update performed for the previous spin number i are introduced. As is clear from comparing image G522 with image G512, the process that took 30 cycles in the example of image G512 is completed in 17 cycles in the example of image G522, demonstrating that the calculation is performed at a very high speed.

[0114] Figure 8 is an explanatory diagram illustrating yet another example of time-parallel processing in a modified example. More specifically, Figure 8 is a modified example of Figure 7. In Figure 7, the processing time interval for spin number j was 2, but the processing time interval for spin number j may be 1.

[0115] Figure 8 shows images G531c and G532. In the example in Figure 8, after the processing shown in image G521b of Figure 7, an edge coefficient that does not affect the calculation result is added, as shown in image G531c. In this example, an edge coefficient that does not affect the calculation result is added to spin numbers 1 to 3 so that the processing time interval for spin number j becomes 1.

[0116] Image G532 shows the specific calculation process. The arrows in Image G532 indicate the points where the calculation is performed for the previous spin number i (i.e., the calculation for the i-th spin is performed) and the updated results are introduced. Image G532 shows that by setting the processing time interval for spin number j to 1, the number of cycles is reduced to 13, resulting in faster calculation processing.

[0117] In the example shown in Figure 8, the flip calculation for spin i may be performed after the calculation of the i-th spin.

[0118] (Modification 2) <Parallel processing between trotters> As mentioned above, the model to be analyzed may be a classical spin system derived from a quantum spin system, and may be a classical spin system obtained using the Suzuki-Trotter decomposition. In this case, one or more classical spin systems are obtained, and these are generally called trotters. The control unit 11 may perform the i-th spin calculation process for each trotter. In addition, parallel processing between trotters may be performed in the analysis executed by the control unit 11. Parallel processing between trotters is a well-known technique, for example, the technique described in Non-Patent Document 1.

[0119] In the case of the technology described in Non-Patent Document 1, the following calculation (1) is performed within each trotter.

[0120]

[0121] Here, spin(j) represents the value of the j-th spin. i,j represents the edge coefficient. The left side of equation (1) is the energy of the i-th spin. As can be seen from equation (1), in the technique of Non-Patent Document 1, addition or subtraction and multiplication are used to calculate the energy of the i-th spin.

[0122] By the way, the spin value spin(j) is either +1 or -1. That is, spin(j) is sign[spin(j)]. Taking this into consideration, equation (1) can be rearranged to obtain equation (2).

[0123]

[0124] Here, sign[spin(j)] = σj sign[spin(j+1)] = σ j+1 Substituting this, we obtain equation (3).

[0125]

[0126] In equation (3), σ j E i,j If we consider it as a single value, then addition or subtraction is used in the calculation of the energy of the i-th spin, and multiplication is not used. When multiplication is not used, the computational load is smaller than when multiplication is used. Therefore, if the energy is calculated using equation (3), the computational load is smaller than if it is calculated using equation (1).

[0127] For the calculation without multiplication shown in equation (3) to be performed, σ must be used in the energy calculation. j E i,j Instead of σ being calculated, j E i,j When the value of σ is already stored in a predetermined memory location, reading the value from that memory location will result in σ j E i,j The value should be obtained.

[0128] Therefore, the control unit 11 will store in advance σ in a predetermined memory location. j E i,j You may read out the value of σ. Also, in the designated storage location, j E i,j + σ j+1 E i,j+1 The value of σ may be stored. j E i,j + σ j+1 E i,j+1 The value of is σ j and σ j+1 There are four possible combinations. Therefore, the predetermined memory location is σ j E i,j + σ j+1 E i,j+1 The value of is σ j and σ j+1 Four possible combinations, depending on the pair of i and j, may be stored in memory.

[0129] Note, σj and σ j+1 There are four possible combinations, but σ j = 1 and σ j+1 = Set of 1 and σ j = -1 and σ j+1 The relationship with the set = -1 is simply the same, but with the sign reversed. And σ j = 1 and σ j+1 = -1 set and σ j = -1 and σ j+1 The relationship with the set =1 is simply the same as the sign being reversed. Therefore, in the designated memory location, σ j E i,j + σ j+1 E i,j+1 Regarding the value of i, there are not 4 possibilities for each pair of i and j, but σ j E i,j + σ j+1 E i,j+1 The value of may be stored in two different ways for each pair of i and j, where the sign is not reversed. That is, for example, +E i,j +E i,j+1 and, -E i,j +E i,j+1 It is possible that both of these possibilities, and , are stored as pairs of i and j.

[0130] By the way, in the i-th spin calculation process, the calculation of equation (2) may be performed. At this time, σ is taken from the predetermined storage location mentioned above. j E i,j + σ j+1 E i,j+1 The value of σ may be read. This read is σ j and σ j+1 σ j E i,j + σ j+1 E i,j+1 The process may involve reading a table that shows the values. In this case, the read table may be used in the energy calculation.

[0131] Up to this point, σ j E i,j Ya σ j E i,j + σ j+1 E i,j+1As shown above, we explained that values ​​can be pre-stored, such as the sum of two terms or the value of one term, and that these values ​​can be retrieved and used in energy calculations. However, the pre-stored values ​​are not limited to the sum of one or two terms; the sum of three or more terms, such as the sum of three or four terms, may also be stored. Note that each term on the right-hand side of equation (3) represents the interaction energy between spins. Therefore, the sum of two terms is the sum of two interaction energies between spins, the sum of three terms is the sum of three interaction energies between spins, and the sum of four terms is the sum of four interaction energies between spins.

[0132] Note that the sum here includes subtraction, as making the coefficient negative results in subtraction. Also, σ j and σ j+1 The combination represents a spin pattern, indicating which spins are upward and which are downward. The predetermined storage location is, for example, the storage unit 13.

[0133] Therefore, the individual values ​​of the interaction energy between spins, or the sum of the interaction energy between a predetermined number of spins, may be pre-stored in a predetermined memory location for each spin pattern. In this case, during the i-th spin calculation process, the individual values ​​of the interaction energy between spins, or the sum of the interaction energy between a predetermined number of spins, which have been pre-stored, may be retrieved from that predetermined memory location and used. This reduces the computational load required for the i-th spin calculation process compared to calculating the interaction energy between spins within the i-th spin calculation process itself.

[0134] As will be explained later, the individual values ​​of the interaction energy between spins, or the sum of the interaction energies between a predetermined number of spins, only need to be obtained for each spin pattern before the i-th spin calculation process is executed, and do not necessarily need to be read from a predetermined storage location. Even if they are not read from storage, if they have already been obtained before the i-th spin calculation process is executed, using those obtained values ​​will reduce the computational load required for the i-th spin calculation process.

[0135] By the way, in parallel processing between Trotters, instead of using a table that has been pre-stored in a predetermined memory location, a table may be generated. In this table generation, all necessary table entries may be generated in parallel series. Parallel series is a combination of parallel and serial processing. For example, if there are 8 table entries and there is an arithmetic unit for calculating 4 entries in parallel, using parallel series, the 4 entries can be calculated in parallel while the same arithmetic unit is used twice in series to calculate all 8 entries.

[0136] Note that the number of entries in the n-spin table is 2 n-1 An entry is a concept also called a cell, and it is an element when a table is viewed as a matrix.

[0137] In the case of parallel processing between trotters, the entire table may be used by each trotter. In this case, a table is required for each trotter's II clock cycle. Therefore, in parallel processing between trotters in this case, under this constraint, 2 n-1 The calculation of each entry is performed in two clock cycles. Therefore, in this case, parallel processing between trotters requires two n-1 The number of arithmetic units required is sufficient to compute the table entry using / II. Note that, as mentioned above, II is the time from when the m-th spin calculation process starts until the (m+1)-th spin calculation process starts, and is a time that does not depend on m.

[0138] Incidentally, entries may be calculated by each trotter. If each trotter calculates it, all trotters will calculate the same content as one table entry. Therefore, one entry requires the same number of arithmetic units as the number of trotters to perform parallel processing.

[0139] Considering the above, for example, the number of entries may be less than or equal to the number of trotters multiplied by II. Therefore, if the number of trotters is M, the number of entries is 2. n-1For example, M × II may be a value less than or equal to 16 × 4. Therefore, for example, if the Trotter number is 16 and II is 4, the number of entries in the table may be a predetermined number less than or equal to 16 × 4 = 64. However, the number of entries is 2 n-1 Since it is expressed as such, considering this, the number of entries is 64 or less, a predetermined 2 n-1 It can be said that this is acceptable. For example, n = 7 satisfies this condition. The number of entries may be, for example, 32. Also, the number of trotters in parallel processing between trotters may be a predetermined number of, for example, 16 or more.

[0140] Here, we show an example where the number of operations is reduced when the table is shared by all trotters in parallel processing between trotters.

[0141] This section presents a comparative example of using and not using a table for an 8-trotter case. In particular, when a table is not used, σ is calculated for each trotter. j E i,j + σ j+1 E i,j+1 An example of obtaining the value of is shown. Without using a table, addition or subtraction is performed once for each trotter, resulting in a total of eight calculations for each pair of i and j. On the other hand, when using a table, although two calculations are performed for each pair of i and j during table generation, each trotter only reads the value and does not perform addition or subtraction. Therefore, even considering the table generation, using a table reduces the computational load. Note that the two calculations for table generation refer to, for example, + E i,j + E i,j+1 Calculation of + E i,j -E i,j+1 As in the calculation of σ j E i,j + σ j+1 E i,j+1 This means there are two possible values ​​for that are not related by sign inversion.

[0142] In parallel processing between trotters, the table may be used by transferring it from one trotter to the next. This ensures that the table is shared among all trotters. The transfer may occur at predetermined time intervals. During the transfer, the table, which records only the values ​​used to calculate the energy of the i-th spin, is transferred at time t q At time t, the data is transferred from the source to the destination trotter. q The time t is the time of the next transfer. q+1 In each trotter, a table containing only the values ​​used to calculate the energy of the (i+1)th spin may be transferred from the source trotter to the destination trotter.

[0143] Note that a table may consist of multiple smaller tables. This can be used, for example, when n is greater than a predetermined value.

[0144] (Modification 3) The control unit 11 may perform the same procedure as the analysis using sparse matrices when edge coefficients are used in the analysis. That is, when the control unit 11 uses the values ​​of edge coefficients in the analysis, it may read only the edge coefficients whose values ​​are non-zero from a predetermined storage location for edge coefficients, such as the storage unit 13. This reduces the amount of memory required.

[0145] (Modification 4) Note that the edge coefficient E i,j is the coefficient J pq and coefficient J qp If the data is recorded in a predetermined recording location such as the memory unit 13, the control unit 11 will analyze the edge coefficient E i,j It is possible to obtain it.

[0146] The information processing device 1 may be implemented using multiple information processing devices connected to each other via a network. In this case, each process performed by the information processing device 1 may be performed in a distributed manner by the multiple information processing devices.

[0147] Furthermore, all or part of the functions of the information processing device 1 may be implemented using hardware such as ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), or FPGA (Field Programmable Gate Array). The program may be recorded on a computer-readable recording medium. Computer-readable recording media include, for example, portable media such as flexible disks, magneto-optical disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into computer systems. The program may also be transmitted via a telecommunications line.

[0148] While embodiments of this invention have been described in detail above with reference to the drawings, the specific configuration is not limited to these embodiments and includes designs and the like that do not depart from the spirit of this invention.

[0149] 1... Information processing device, 11... Control unit, 12... Interface unit, 13... Storage unit, 91... Processor, 92... Memory

Claims

1. A control unit that executes a process for calculating an energy of a spin S i (where i is an integer of 0 or more and less than I) in an analysis target model that is an Ising model of a classical spin system composed of I (I is an integer of 2 or more) spins. The energy includes an interaction energy between spins. In the i-th spin calculation process, the number of the i-th actual spins, which is a multiple of a predetermined value N (N is an integer of 2 or more) and is the minimum number of spins having a non-zero interaction with the spin S i in the analysis target model, is the i-th calculation connection number. The interaction energy between each spin of the i-th calculation connection number and the spin S i is calculated. The sum of the coupling coefficient J p defined between the spin S q and the spin S pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. i (where i is an integer of 0 or more and less than I) in an analysis target model that is an Ising model of a classical spin system composed of I (I is an integer of 2 or more) spins. The energy includes an interaction energy between spins. In the i-th spin calculation process, the number of the i-th actual spins, which is a multiple of a predetermined value N (N is an integer of 2 or more) and is the minimum number of spins having a non-zero interaction with the spin S i in the analysis target model, is the i-th calculation connection number. The interaction energy between each spin of the i-th calculation connection number and the spin S i is calculated. The sum of the coupling coefficient J p defined between the spin S<> q and the spin S pq and the coupling coefficient J p defined between the spin S<0000<<000008> and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. i and the spin S i , the interaction energy between each spin of the i-th calculation connection number, which is the minimum number of spins having a non-zero interaction with the spin S i in the analysis target model, is calculated. The sum of the coupling coefficient J p defined between the spin S q and the spin S pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. i and the spin S p , the interaction energy between each spin of the i-th calculation connection number, which is the minimum number of spins having a non-zero interaction with the spin S i in the analysis target model, is calculated. The sum of the coupling coefficient J p defined between the spin S q and the spin S pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. p and spin S q , the interaction energy between each spin of the i-th calculation connection number, which is the minimum number of spins having a non-zero interaction with the spin S i in the analysis target model, is calculated. The sum of the coupling coefficient J p defined between the spin S q and the spin S pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. q and the coupling coefficient J pq defined between the spin S p and the spin S q , the sum of the coupling coefficient J p defined between the spin S q and the spin S pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. pq and the spin S p , the sum of the coupling coefficient J<000<>0004> defined between the spin S q and the spin S pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. p and the spin S q , the sum of the coupling coefficient J p defined between the spin S q and the spin S pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. q and the coupling coefficient J p defined between the spin S qp and the spin S p , the sum of the coupling coefficient J p defined between the spin S q and the spin S pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. qp and the sum of the coupling coefficient J p defined between the spin S q and the spin S pq and the coupling coefficient J p defined between the spin S<0<>00008> and the spin S qp is defined as the edge coefficient between the spin S<>000010> and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. p and the spin S q , the sum of the coupling coefficient J p defined between the spin S<0000<>005> and the spin S pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. q and the spin S i , the sum of the coupling coefficient J p defined between the spin S q pq and the coupling coefficient J p defined between the spin S q and the spin S qp is defined as the edge coefficient between the spin S p and the spin S q . In the calculation of the energy in the i-th spin calculation process, the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin and the spin S i . Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. i and the interaction energy between the i-th actual spin and the spin S i , the edge coefficient between the i-th actual spin and the spin S<00000<>(012> is used in the calculation of the energy in the i-th spin calculation process. Zero is used as the edge coefficient for the interaction energy between each spin obtained by subtracting the number of the i-th actual spins from the i-th calculation connection number and the spin S i . The control unit executes the calculation of N energies in parallel. An information processing apparatus. i and the spin S i , the edge coefficient between the i-th actual spin and the spin S i is used for the interaction energy between the i-th actual spin​​ 2. The information processing apparatus according to claim 1, wherein the control unit starts executing the (m+1) spin calculation process while the m spin calculation process is being executed.

3. The information processing apparatus according to claim 1, wherein the model to be analyzed is a classical spin system derived from a quantum spin system and is a classical spin system obtained using the Suzuki-Trotter decomposition.

4. The information processing apparatus according to claim 1, wherein the values ​​of the interaction energy between the spins, or the sum of the interaction energy between a predetermined number of spins, are values ​​obtained before the execution of the i-spin calculation process for each spin pattern.

5. The Ising model of the classical spin system under analysis, which is an Ising model consisting of I spins (where I is an integer greater than or equal to 2), and the spin S i The process includes a control step in which a computer performs an i-th spin calculation process, which is a process of calculating the energy of (i is an integer between 0 and I), wherein the energy includes the interaction energy between spins, and in the i-th spin calculation process, the number is an integer multiple of a predetermined value N (N is an integer between 2 and I) and is the number of the spin S in the model under analysis. i The number of non-zero interactions between each spin and the spin S is the smallest number greater than or equal to the number of i-th real spins, which is the i-th computational connection number. i The interaction energy between them is calculated, and spin S p and spin S q The coupling coefficient J defined between them pq and spin S p and spin S q The coupling coefficient J defined between them qp The sum of the spin S p and spin S q Defined as the edge coefficient between and the i spin calculation process, in the calculation of the energy in the i spin calculation process, the i real spin and the spin S i The energy of the interaction between the i real spin and the spin S shown in the analysis model is as follows: i The edge coefficient between the two is used, and each spin and the number of spins obtained by subtracting the number of actual spins from the number of calculated connections i and the spin S i An information processing method in which zero is used as the edge coefficient for the energy of the interaction between and , and in the control step, N calculations of the energy are performed in parallel.

6. A program for causing a computer to function as an information processing device according to claim 1.