Computation device and computation method

The computing device generates non-single-chain reduction rules based on tensor characteristics to improve the accuracy and efficiency of high-rank tensor reproduction by connecting small tensors across multiple axes, addressing the limitations of existing technologies.

WO2026120829A1PCT designated stage Publication Date: 2026-06-11MITSUBISHI ELECTRIC CORP

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2025-03-10
Publication Date
2026-06-11

Smart Images

  • Figure JP2025008647_11062026_PF_FP_ABST
    Figure JP2025008647_11062026_PF_FP_ABST
Patent Text Reader

Abstract

This computation device comprises a small tensor generation unit (1) that generates, from a high-rank tensor, which is a tensor having elements representing quantities respectively associated with a plurality of partial regions included in a high-dimensional region that is a two- or more-dimensional region, small tensors, which are a plurality of tensors having a smaller number of elements than the number of elements of the high-rank tensor, and a contraction rule for reproducing the high-rank tensor by connecting the plurality of small tensors, wherein the small tensor generation unit (1) generates, as the contraction rule, a non-single-chain contraction rule on the basis of the characteristics of identification information for identifying each of the small tensors.
Need to check novelty before this filing date? Find Prior Art

Description

Computing device and computing method

[0001] The present disclosure relates to a computing device and a computing method.

[0002] There is a computing device that generates a reduction rule for reproducing a high-rank tensor by connecting a plurality of tensors having a number of elements smaller than the number of elements held by the high-rank tensor (hereinafter referred to as "small tensors") and connecting between the plurality of small tensors. A high-rank tensor is a tensor having elements representing quantities associated with each of a plurality of sub-regions included in a high-dimensional region that is a two-dimensional or higher-dimensional region. As such a computing device, for example, Non-Patent Document 1 discloses a technique for generating a rule for linearly connecting between a plurality of small tensors as a reduction rule for reproducing a high-rank tensor.

[0003] Egor Kornev et.al, “Numerical solution of the incompressible Navier-Stokes equations for chemical mixers via quantum-inspired Tensor Train Finite Element Method”, arXiv:2305.10784

[0004] Although the computing device disclosed in Non-Patent Document 1 can generate a reduction rule for linearly connecting between a plurality of small tensors, it cannot generate a reduction rule for connecting between a plurality of small tensors that are considered to be physically strongly correlated on two or more different coordinate axes. As a result, when reproducing a high-rank tensor using a plurality of small tensors and a reduction rule, there is a problem that the reproduction accuracy of the high-rank tensor may deteriorate.

[0005] The present disclosure has been made to solve the above problems, and an object thereof is to obtain a computing device that can also generate a reduction rule for connecting between a plurality of small tensors that are considered to be physically strongly correlated on two or more different coordinate axes.

[0006] The computing device according to this disclosure includes a small tensor generation unit that generates small tensors, which are multiple tensors having fewer elements than the number of elements in a high-rank tensor, from a high-rank tensor, which is a tensor having elements representing quantities associated with each of multiple sub-regions contained in a high-dimensional region that is a region of two or more dimensions, and a contraction rule for reconstructing a high-rank tensor by connecting the multiple small tensors. The small tensor generation unit generates a non-single-chain contraction rule as the contraction rule, based on the characteristics of identification information that identifies each small tensor.

[0007] According to this disclosure, it is also possible to generate reduction rules for connecting multiple small tensors that are considered to be physically highly correlated in two or more different coordinate axes.

[0008] This is a diagram showing the configuration of a computing device according to Embodiment 1. This is a hardware configuration diagram showing the hardware of the computing device according to Embodiment 1. This is a hardware configuration diagram of a computer when the computing device is implemented by software or firmware, etc. This is a flowchart showing the calculation method, which is the processing procedure of the computing device. Figure 5A is an explanatory diagram showing an example in which tensors representing quantities associated with each of a plurality of sub-regions included in a two-dimensional region are represented by a combination of a small tensor 31 and a contraction rule 32. Figure 5B is an explanatory diagram showing an example in which tensors representing quantities associated with each of a plurality of sub-regions included in a three-dimensional region are represented by a combination of a small tensor 31 and a contraction rule 32. Figure 5C is an explanatory diagram showing a case in which, among a plurality of sub-regions included in a two-dimensional region, the small tensor 31 relating to some of the sub-regions is connected only to small tensors 31 aligned in the x direction and not to small tensors 31 aligned in the y direction. Figure 6A is an explanatory diagram showing an intermediate tensor in one direction, and Figure 6B is an explanatory diagram showing an intermediate tensor in two directions. Figure 7A is an explanatory diagram showing an example where the resonance amount generated in the resonators 41 corresponds to the elements of a small tensor when a flow path 42 is provided between a plurality of resonators 41, and Figure 7B is an explanatory diagram showing an example where a reduction rule is generated that connects small tensors with large interactions among a plurality of small tensors. This is a configuration diagram showing the arithmetic device according to Embodiment 3. This is a hardware configuration diagram showing the hardware of the arithmetic device according to Embodiment 3. This is a flowchart showing the process of changing the reduction rule by the small tensor generation unit 4. Figure 11A is an explanatory diagram showing an example of a reduction rule generated by the small tensor generation unit 4, and Figures 11B and 11C are explanatory diagrams showing examples of the reduction rule after it has been changed by the small tensor generation unit 4.

[0009] To provide a more detailed explanation of this disclosure, the forms for implementing this disclosure will be described below with reference to the attached drawings.

[0010] Embodiment 1. Figure 1 is a configuration diagram showing the arithmetic unit according to Embodiment 1. Figure 2 is a hardware configuration diagram showing the hardware of the arithmetic unit according to Embodiment 1. The arithmetic unit shown in Figure 1 comprises a small tensor generation unit 1, a small tensor update unit 2, and a high-rank tensor reproduction unit 3.

[0011] The small tensor generation unit 1 is implemented, for example, by the small tensor generation circuit 11 shown in Figure 2. The small tensor generation unit 1 includes a tensor generation processing unit 1a and a reduction rule generation unit 1b. The small tensor generation unit 1 obtains a high-rank tensor from an external source, for example. A high-rank tensor is a tensor having elements that represent quantities associated with each of a plurality of sub-regions contained in a high-dimensional region which is a region of two or more dimensions. The small tensor generation unit 1 generates small tensors, which are a plurality of tensors having fewer elements than the number of elements in the high-rank tensor.

[0012] The second-order or higher dimensions related to the higher-dimensional domain include, for example, spatial dimensions, time dimensions, frequency dimensions, wavenumber dimensions, or dimensions convertible from these dimensions. Furthermore, the second-order or higher dimensions may be a combination of, for example, spatial dimensions, time dimensions, frequency dimensions, wavenumber dimensions, or dimensions convertible from these dimensions. Dimensions convertible from these dimensions mean dimensions convertible from any of the spatial dimensions, time dimensions, frequency dimensions, or wavenumber dimensions. The domain of the second-order or higher dimensions includes, for example, the domain defined by time and Euclidean coordinates. The quantities associated with each subdomain represent, for example, physical quantities, traffic volume, pixel values, or the analysis results of a machine learning model that analyzes image data. A physical quantity might be, for example, flow velocity. The higher-dimensional domain includes, for example, multiple subdomains divided into a mesh. A mesh number, which is identification information for identifying the small tensor related to each subdomain, is defined in binary. The mesh number is appended to the small tensor, for example, as a subscript. The subscript may be the entire binary number representing the mesh number, or it may be a part of the binary number representing the mesh number. Here, the mesh number, which is the identifier for identifying the small tensor, is defined in binary. However, this is just one example, and the mesh number is not limited to being defined in binary.

[0013] The small tensor generation unit 1 generates reduction rules for reconstructing high-rank tensors by connecting multiple small tensors. Specifically, the small tensor generation unit 1 generates non-single-chain reduction rules based on the characteristics of the identification information that identifies each small tensor. The characteristics of the identification information that identifies a small tensor include, for example, the symmetry of mesh numbers, which are two or more pieces of identification information, or the correlation between two or more mesh numbers. The small tensor generation unit 1 outputs the small tensors to the small tensor update unit 2 and outputs the reduction rules to the high-rank tensor reconstruction unit 3.

[0014] The tensor generation processing unit 1a obtains a high-rank tensor from an external source. The tensor generation processing unit 1a generates a plurality of small tensors having fewer elements than the high-rank tensor. The tensor generation processing unit 1a outputs the plurality of small tensors and identification information for each small tensor to the reduction rule generation unit 1b. The reduction rule generation unit 1b obtains the plurality of small tensors and identification information for each small tensor from the tensor generation processing unit 1a. The reduction rule generation unit 1b generates a non-single-chain reduction rule as a reduction rule to reproduce the high-rank tensor, based on the characteristics of the identification information. The reduction rule generation unit 1b outputs the plurality of small tensors to the small tensor update unit 2 and outputs the reduction rule to the high-rank tensor reproduction unit 3.

[0015] The small tensor update unit 2 is implemented, for example, by the small tensor update circuit 12 shown in Figure 2. The small tensor update unit 2 obtains multiple small tensors from the small tensor generation unit 1. The small tensor update unit 2 updates the elements of each small tensor. The small tensor update unit 2 outputs each small tensor after the element update to the high-rank tensor reproduction unit 3.

[0016] The high-rank tensor reproduction unit 3 is implemented, for example, by the high-rank tensor reproduction circuit 13 shown in Figure 2. The high-rank tensor reproduction unit 3 obtains the contraction rule from the small tensor generation unit 1 and obtains the small tensor after element updates from the small tensor update unit 2. The high-rank tensor reproduction unit 3 uses the small tensor and the contraction rule to reproduce the high-rank tensor.

[0017] In Figure 1, the small tensor generation unit 1, the small tensor update unit 2, and the high-rank tensor reproduction unit 3, which are components of the arithmetic unit, are assumed to be implemented by dedicated hardware as shown in Figure 2. That is, the arithmetic unit is assumed to be implemented by a small tensor generation circuit 11, a small tensor update circuit 12, and a high-rank tensor reproduction circuit 13. The small tensor generation circuit 11, the small tensor update circuit 12, and the high-rank tensor reproduction circuit 13 can be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof.

[0018] The components of a computing unit are not limited to those implemented by dedicated hardware; the computing unit may also be implemented by software, firmware, or a combination of software and firmware. The software or firmware is stored as a program in the computer's memory. A computer refers to the hardware that executes programs, and includes, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a central processing unit, a processing unit, a computing unit, a microprocessor, a microcomputer, a processor, or a DSP (Digital Signal Processor).

[0019] Figure 3 is a hardware configuration diagram of a computer when the arithmetic unit is implemented by software or firmware. When the arithmetic unit is implemented by software or firmware, programs that cause the computer to execute the respective processing procedures in the small tensor generation unit 1, the small tensor update unit 2, and the high-rank tensor reproduction unit 3 are stored in memory 21. The computer's processor 22 then executes the programs stored in memory 21.

[0020] Furthermore, Figure 2 shows an example where each component of the arithmetic unit is implemented by dedicated hardware, and Figure 3 shows an example where the arithmetic unit is implemented by software or firmware, etc. However, this is only one example, and some components of the arithmetic unit may be implemented by dedicated hardware, while the remaining components may be implemented by software or firmware, etc.

[0021] Next, the operation of the arithmetic unit shown in Figure 1 will be explained. Figure 4 is a flowchart showing the arithmetic method, which is the processing procedure of the arithmetic unit. The tensor generation processing unit 1a of the small tensor generation unit 1 obtains a high-rank tensor from an external source. The tensor generation processing unit 1a generates multiple small tensors from the high-rank tensor (step ST1 in Figure 4). The tensor generation processing unit 1a outputs the multiple small tensors and identification information that identifies each small tensor to the reduction rule generation unit 1b.

[0022] The reduction rule generation unit 1b obtains a plurality of small tensors and identification information to identify each small tensor from the tensor generation processing unit 1a. The reduction rule generation unit 1b generates a non-single-chain reduction rule as a reduction rule to reproduce the high-rank tensor, based on the characteristics of the identification information (step ST1 in Figure 4). The reduction rule generation unit 1b outputs the plurality of small tensors to the small tensor update unit 2 and outputs the reduction rule to the high-rank tensor reproduction unit 3. Specifically, the tensor generation processing unit 1a decomposes the high-rank tensor into a plurality of small tensors and reduction rules by, for example, singular value decomposition. As the singular value decomposition, for example, LU decomposition, QR decomposition, QLP decomposition, or incomplete LU decomposition can be used. Alternatively, as the singular value decomposition, for example, a combination of LU decomposition, QR decomposition, QLP decomposition, or incomplete LU decomposition can be used.

[0023] The bond dimension, which is the degree of freedom of the contraction rule, can increase exponentially with each decomposition. When performing singular value decomposition of a high-rank tensor, the exponential increase in the bond dimension can be suppressed by approximating the high-rank tensor with a small tensor. The approximation may be performed with each decomposition, or it may be performed under predetermined conditions, for example, when the bond dimension is greater than or equal to a certain value. It is known that the state can be accurately approximated by orthogonalization using decomposition methods such as singular value decomposition before approximating the small tensor. In the method of approximating along with decomposition, the generation and approximation of the small tensor are performed simultaneously, thus reducing the number of orthogonalization steps.

[0024] For example, the sum-of-products operation or the Kronecker product can be used as a contraction rule. Alternatively, a combination of either the sum-of-products operation or the Kronecker product with other rules such as the tensor product can be used as a contraction rule. Specifically, when the sum-of-products operation is used as a contraction rule to map matrices A and B to matrix C, the contraction rule is expressed as shown in equation (1) below. When the Kronecker product is used as a contraction rule to map matrices A and B to matrix C, the contraction rule is expressed as shown in equation (2) below.

[0025] In equations (1) and (2), a i,k is an element of matrix A, b k,j c is an element of matrix B, c i,j These are the components of matrix C.

[0026] Figure 5 is an explanatory diagram showing an example of a small tensor 31 and a reduction rule 32 generated by the small tensor generation unit 1. In the example in Figure 5, the small tensor 31 is represented by nodes, and the reduction rule 32 is represented by lines connecting multiple small tensors 31. Of the multiple reduction rules 32, at least some of them are based on the characteristics between two or more mesh numbers, and the set of small tensors 31 is connected in a non-single chain manner.

[0027] Figure 5A shows an example in which tensors representing quantities associated with each of multiple subregions contained in a two-dimensional domain are represented by a combination of a small tensor 31 and a reduction rule 32. In the example of Figure 5A, eight small tensors 31 are arranged in the x direction (eight small tensors 31 placed on the near side in the figure), and eight small tensors 31 are arranged in the y direction (eight small tensors 31 placed on the far side in the figure). In the example of Figure 5A, the x and y directions are both the left and right directions in the figure. Of the mesh numbers m and n that identify the small tensor 31, the mesh number m in the x direction is expressed in binary. A binary number is a sequence of one or more bits that are "1" or "0". If, for example, there are 11 bits that are "1" or "0", then the first bit represents the ones place of the binary number, the second bit represents the twos place, and the eleventh bit represents the 1024s place. Therefore, the 11th bit has a scale 1024 times larger than the 1st bit. The mesh number n in the y direction, among the mesh numbers m and n that identify the small tensor 31, is also expressed in binary.

[0028] In the example in Figure 5A, when the mesh number in the x-direction is represented by the binary number "abcdefgh", of the eight small tensors 31 arranged in the x-direction, the leftmost small tensor 31 represents "a", the second small tensor 31 from the left represents "b", and the rightmost small tensor 31 represents "h". Therefore, among the eight small tensors 31 arranged in the x-direction, the leftmost small tensor 31 has the largest scale, the smallest scale is determined by the small tensors 31 to the right, and the smallest scale is determined by the smallest small tensor 31 to the right. When the mesh number in the y-direction is represented by the binary number "stuvwxyz", of the eight small tensors 31 arranged in the y-direction, the leftmost small tensor 31 represents "s", the second small tensor 31 from the left represents "t", and the rightmost small tensor 31 represents "z". Therefore, among the eight small tensors 31 arranged in the y direction, the leftmost small tensor 31 has the largest scale, and the small tensors 31 to the right have progressively smaller scales, with the rightmost small tensor 31 having the smallest scale. Consequently, the eight small tensors 31 arranged in the y direction are thought to have a high correlation with the small tensors 31 whose order from the left in the x direction is close to the order from the left in the y direction among the eight small tensors 31 arranged in the x direction. In other words, there is a high correlation between multiple small tensors 31 with similar scales. On the other hand, the eight small tensors 31 arranged in the y direction are thought to have a low correlation with the small tensors 31 whose order from the left in the x direction is far from the order from the left in the y direction among the eight small tensors 31 arranged in the x direction. In other words, there is a low correlation between multiple small tensors 31 with far apart scales.

[0029] Specifically, among the eight minor tensors 31 arranged in the y-direction, the leftmost minor tensor 31 can be assumed to have the greatest correlation with the leftmost minor tensor 31 among the eight minor tensors 31 arranged in the x-direction. Among the eight minor tensors 31 arranged in the y-direction, the second minor tensor 31 from the left can be assumed to have the greatest correlation with the second minor tensor 31 from the left among the eight minor tensors 31 arranged in the x-direction. Among the eight minor tensors 31 arranged in the y-direction, the rightmost minor tensor 31 can be assumed to have the greatest correlation with the rightmost minor tensor 31 among the eight minor tensors 31 arranged in the x-direction.

[0030] Since the correlation between multiple small tensors 31 with similar scales is high, and the correlation between multiple small tensors 31 with vastly different scales is low, it is expected that the reproducibility of high-rank tensors will be improved if multiple small tensors 31 with similar scales are coupled, while multiple small tensors 31 with vastly different scales are not coupled.

[0031] In the example in Figure 5A, among the eight small tensors 31 aligned in the x-direction, if the difference in scale between two small tensors 31 is within a factor of two, the correlation between them is considered to be large, and small tensors 31 with high correlation are connected. That is, the eight small tensors 31 are connected in a linear fashion. Similarly, among the eight small tensors 31 aligned in the y-direction, if the difference in scale between two small tensors 31 is within a factor of two, the correlation between them is considered to be large, and small tensors 31 with high correlation are connected. That is, the eight small tensors 31 are connected in a linear fashion. Furthermore, the correlation between two small tensors 31 whose order when counted from the left in the x-direction is the same as the order when counted from the left in the y-direction is considered to be large, and small tensors 31 with high correlation are connected. The connections between the small tensors 31 aligned in the x-direction and the small tensors 31 aligned in the y-direction are chain-like connections, and in the example in Figure 5A, there are eight such connections. Therefore, the non-single-chain structure shown in Figure 5A is a combination of two linear bonds and eight chain-like bonds.

[0032] In the example in Figure 5A, two small tensors 31 with a scale difference of less than 2x are coupled in the x-direction. However, this is just one example, and a high correlation between two small tensors 31 is not limited to those with a scale difference of less than 2x. For example, if the scale difference is within 4x or 8x, then two small tensors 31 with a scale difference of less than 4x or 8x may be coupled. Similarly, in the y-direction, two small tensors 31 with a scale difference of less than 2x are coupled. However, this is just one example, and a high correlation between two small tensors 31 is not limited to those with a scale difference of less than 2x. For example, if the scale difference is within 4x or 8x, then two small tensors 31 with a scale difference of less than 4x or 8x may be coupled. Here, the scale difference between two small tensors 31 is defined as a magnification factor. However, this is just one example, and the difference in scale between the two small tensors 31 may be defined by an index other than the magnification factor. An example of such an index other than the magnification factor is the correlation characteristics of vortices in a subdomain.

[0033] Figure 5A shows an example in which tensors representing quantities associated with each of several subregions contained in a two-dimensional domain are represented by a combination of a minor tensor 31 and a contraction rule 32. However, this is only one example; for example, as shown in Figure 5B, tensors representing quantities associated with each of several subregions contained in a three-dimensional domain may also be represented by a combination of a minor tensor 31 and a contraction rule 32.

[0034] Furthermore, as shown in Figure 5C, for example, among the multiple subregions included in the two-dimensional domain, the small tensor 31 relating to some of the subregions may be connected only to the small tensor 31 aligned in the x-direction and not to the small tensor 31 aligned in the y-direction. Of the eight small tensor 31 aligned in the x-direction, for example, the leftmost small tensor 31 is connected only to the second small tensor 31 from the left and not to the small tensor 31 aligned in the y-direction. In the example of Figure 5C, a non-single-chain reduction rule 32 is generated based on the characteristics of the mesh number that identifies two or more small tensors among the multiple subregions. Figure 5B is an explanatory diagram showing an example in which a tensor representing a quantity associated with each of the multiple subregions included in the three-dimensional domain is represented by a combination of a small tensor 31 and a reduction rule 32. Figure 5C is an explanatory diagram showing a case in which, among the multiple subregions included in the two-dimensional domain, the small tensor 31 relating to some of the subregions is connected only to the small tensor 31 aligned in the x-direction and not to the small tensor 31 aligned in the y-direction.

[0035] The small tensor update unit 2 obtains multiple small tensors from the small tensor generation unit 1. The small tensor update unit 2 updates the elements of each small tensor (step ST2 in Figure 4). The element update by the small tensor update unit 2 corresponds to an operation on the quantity associated with each sub-region. If the quantity associated with each sub-region is, for example, flow velocity, then the element update of the small tensor would be the time evolution of the flow velocity in each sub-region. The element update by the small tensor update unit 2 may use operators or linear equations, for example. As general tensor network update methods are known techniques, a detailed explanation is omitted. The small tensor update unit 2 outputs each small tensor after the element update to the high-rank tensor reproduction unit 3.

[0036] The high-rank tensor reproduction unit 3 obtains contraction rules from the small tensor generation unit 1 and obtains small tensors from the small tensor update unit 2. The high-rank tensor reproduction unit 3 reproduces the high-rank tensor using the small tensors and contraction rules (step ST3 in Figure 4). The high-rank tensor can be reproduced, for example, by performing contraction calculations on multiple small tensors according to the contraction rules shown in equation (1) or equation (2).

[0037] The reproduction of a high-rank tensor by the high-rank tensor reproduction unit 3 includes not only directly reproducing the elements representing the quantities associated with each of the subdomains of the high-rank tensor, but also reproducing the characteristic quantities of the quantities associated with each subdomain without reproducing the elements. Examples of characteristic quantities associated with subdomains include the expected value of a physical quantity or the variance of a physical quantity. If the computing device shown in Figure 1 is, for example, a computing device applicable to thermal fluid analysis, then the quantities associated with each subdomain correspond to the results of the thermal fluid analysis. Therefore, if the high-rank tensor reproduction unit 3 displays the reproduction results of the high-rank tensor on, for example, an external display device, the user viewing the display device can confirm the results of the thermal fluid analysis. Note that the computing device shown in Figure 1 is not limited to thermal fluid analysis, but can also be applied to, for example, structural analysis, electric field analysis, vibration analysis, or acoustic analysis.

[0038] Furthermore, when the high-rank tensor reproduction unit 3 reproduces a high-rank tensor, it first performs contractions between small tensors of different dimensions, and then performs contractions between two or more small tensors of the same dimension. In the example in Figure 5A, the high-rank tensor reproduction unit 3 performs contractions between tensors of similar scale in the x-direction and between tensors of similar scale in the y-direction, before performing contractions between tensors of similar scale in the x-direction and between tensors of similar scale in the y-direction. This reduces the contraction rules of the intermediate tensors generated by the contractions, which can reduce the amount of memory required.

[0039] For example, if the number of each coordinate axis is long compared to the number of dimensions of the domain, a one-directional intermediate tensor, as shown in Figure 6A, has many contraction rules, and the degrees of freedom of these contraction rules are accumulated multiple times. A one-directional intermediate tensor is a tensor that reproduces the numbers of the same dimensions of the intermediate tensor. As a result, the rank of the one-directional intermediate tensor increases. On the other hand, a two-directional intermediate tensor, as shown in Figure 6B, has fewer contraction rules, so the rank of the two-directional intermediate tensor is lower than that of the one-directional intermediate tensor. Since the number of elements in a tensor can be calculated by the accumulation of the degrees of freedom of the identification information that identifies the tensor, a two-directional intermediate tensor with a lower rank can often reduce the amount of memory required compared to a one-directional intermediate tensor with a higher rank. Figure 6A is an explanatory diagram showing a one-directional intermediate tensor, and Figure 6B is an explanatory diagram showing a two-directional intermediate tensor.

[0040] In the example shown in Figure 5B, the high-rank tensor reconstruction unit 3 performs a contraction calculation between tensors aligned in the x-direction, y-direction, and z-direction before performing contraction calculations between tensors aligned in the x-direction, y-direction, and z-direction. If the number of each coordinate axis is long compared to the number of dimensions of the domain, limiting the contraction to one direction and generating numbers of the same dimension may result in a large number of contraction rules and an increase in required memory. By performing a contraction calculation between tensors aligned in the x-direction, y-direction, and z-direction, contraction can be performed before the required memory increases.

[0041] In the above-described Embodiment 1, from a high-rank tensor, which is a tensor having elements representing quantities associated with respective ones of a plurality of sub-regions included in a high-dimensional region that is a two-dimensional or higher-dimensional region, a plurality of small tensors, which are tensors having a number of elements smaller than the number of elements the high-rank tensor has, and a reduction rule for reproducing the high-rank tensor by connecting between the plurality of small tensors are generated, and an arithmetic device is configured to include a small-tensor generation unit 1. The small-tensor generation unit 1 generates a non-single-chain reduction rule based on characteristics of identification information for identifying each of the small tensors as the reduction rule. Therefore, the arithmetic device can also generate a reduction rule for connecting between a plurality of small tensors that are considered to have a strong physical correlation on mutually different coordinate axes of two dimensions or higher. As a result, when reproducing the high-rank tensor using the plurality of small tensors and the reduction rule, deterioration of the reproduction accuracy of the high-rank tensor can be suppressed.

[0042] In the arithmetic device shown in FIG. 1, the small-tensor generation unit 1 generates a non-single-chain reduction rule based on the correlation between two or more pieces of identification information as a characteristic of the identification information for identifying each of the small tensors. However, this is merely an example, and the small-tensor generation unit 1 may generate a non-single-chain reduction rule based on the symmetry between two or more pieces of identification information as a characteristic of the identification information for identifying each of the small tensors.

[0043] If the small tensor generation unit 1 is configured to generate non-single-chain reduction rules based on the symmetry between two or more pieces of identification information as a characteristic of the identification information that identifies each small tensor, then it can also generate reduction rules for connecting multiple small tensors that are considered to have strong physical symmetry in two or more different coordinate axes. Alternatively, the small tensor generation unit 1 may generate non-single-chain reduction rules based on a quantity similar to either the symmetry between two or more pieces of identification information or the correlation between two or more pieces of identification information as a characteristic of the identification information that identifies each small tensor. A quantity similar to either of these could be, for example, the degree of connection between two or more pieces of identification information or the degree of entanglement between two or more pieces of identification information. Furthermore, the small tensor generation unit 1 may generate non-single-chain reduction rules based on the background of the elements corresponding to each sub-region. As the background of the elements corresponding to each sub-region, for example, the translational symmetry of the physical model for higher-dimensional regions can be used.

[0044] The small tensor generation unit 1 may generate non-single-chain reduction rules based on the structure of a higher-dimensional region, as shown in Figure 7. Figure 7A is an explanatory diagram showing an example where the resonance amounts generated in the resonators 41 correspond to the elements of a small tensor when a flow path 42 is provided between a plurality of resonators 41. In the example of Figure 7A, the interaction between adjacent resonators 41 is considered to be large in the x-direction. Among the resonators 41 arranged in the y-direction, the interaction between adjacent resonators 41 is considered to be large among the five resonators 41 located in the third position from the left in the x-direction. Figure 7B is an explanatory diagram showing an example where reduction rules are generated that connect small tensors with large interactions among a plurality of small tensors. The two rightmost small tensors and the two second-to-right small tensors interact with each other in the gap through which the fluid passes. The two fifth-to-right small tensors interact with each other due to the resonance of the structure.

[0045] In the arithmetic unit shown in FIG. 1, the small tensor generation unit 1 defines the identification information for identifying each small tensor by the mesh number. However, this is only an example. If the element representing the quantity associated with each of a plurality of sub-regions included in the high-dimensional region is, for example, point cloud data, the identification information may be, for example, a number for identifying a plurality of points included in the point cloud.

[0046] In the arithmetic unit shown in FIG. 1, the small tensor update unit 2 updates the elements of the small tensor using an operator. However, this is only an example. When random values or predetermined values are given to the elements of the small tensor, the small tensor update unit 2 may perform optimization calculation or convergence calculation of the elements. In this case, not only can a high-rank tensor be reproduced, but also the computational cost associated with tensor decomposition can be omitted.

[0047] Embodiment 2. In Embodiment 1, for example, an arithmetic unit applicable to thermal fluid analysis is shown. In Embodiment 2, an arithmetic unit applicable to traffic data analysis will be described. The configuration of the arithmetic unit according to Embodiment 2 is the same as the configuration of the arithmetic unit according to Embodiment 1. Therefore, the configuration diagram showing the arithmetic unit according to Embodiment 2 is FIG. 1.

[0048] Even when applied to the analysis of traffic data, the small tensor generation unit 1 can generate non-single-chain reduction rules as reduction rules, based on the characteristics of the identification information that identifies each small tensor. An example in the analysis of traffic data in which the correlation is thought to change depending on the scale of the subdomain will be described. For example, if a machine learning model for analyzing image data is available, if image data showing traffic conditions is given to the machine learning model, the analysis results of traffic data will be obtained as the analysis results of the machine learning model. In this case, the quantities associated with each subdomain are the analysis results of the machine learning model. If the computing device according to Embodiment 2 is a computing device applicable to the analysis of traffic data, the quantities associated with each subdomain correspond to the analysis results of traffic data. Therefore, if the high-rank tensor reproduction unit 3 displays the high-rank tensor reproduction results on, for example, an external display device, the user viewing the display device can confirm the analysis results of the traffic data.

[0049] For example, when analyzing traffic data using machine learning, the correlation between the parameters for analyzing pedestrians and the parameters for analyzing vehicles is considered to be small. On the other hand, considering the time scales of pedestrians and vehicles, the correlation is considered to be relatively small when the time scales are far apart, and relatively large when the time scales are similar. Therefore, the correlation changes depending on the time scale. For example, in a technology that classifies the type of traffic participant using image data obtained from a camera, the spatial scale of a traffic participant is considered to be different from the spatial scale of other traffic participants and the spatial scale of structures. Therefore, the correlation changes depending on the spatial scale.

[0050] The time scale and spatial scale often have relationships relating to symmetry or correlation. Therefore, the small tensor generator 1 can generate non-single-chain reduction rules based on at least one of the time scale or spatial scale. The small tensor generator 1 may also generate non-single-chain reduction rules based on the wave number dimension or frequency dimension instead of the time scale or spatial scale. The wave number dimension or frequency dimension can be obtained, for example, by Fourier analysis of the elements of a subdomain. Alternatively, the small tensor generator 1 may also generate non-single-chain reduction rules based on momentum in quantum mechanics. Momentum p is expressed as p = hk / 2π, where h is Planck's constant, π is pi, and k is the wave number. Here, momentum p is the dimension transformed from the wave number dimension.

[0051] Embodiment 3. Embodiment 3 describes an arithmetic device in which the small tensor generation unit 4 modifies the reduction rule based on the elements after they have been updated by the small tensor update unit 2.

[0052] Figure 8 is a configuration diagram showing the arithmetic unit according to Embodiment 3. In Figure 8, the same reference numerals as in Figure 1 indicate the same or corresponding parts, so a detailed explanation is omitted. Figure 9 is a hardware configuration diagram showing the hardware of the arithmetic unit according to Embodiment 3. In Figure 9, the same reference numerals as in Figure 2 indicate the same or corresponding parts, so a detailed explanation is omitted. The arithmetic unit shown in Figure 8 includes a small tensor generation unit 4, a small tensor update unit 2, and a high-rank tensor reproduction unit 3.

[0053] The small tensor generation unit 4 is implemented, for example, by the small tensor generation circuit 14 shown in Figure 9. It comprises the small tensor generation unit 4, the tensor generation processing unit 4a, and the reduction rule generation unit 4b. The small tensor generation unit 4 obtains a high-rank tensor from an external source, for example. The small tensor generation unit 4 generates small tensors, which are multiple tensors having fewer elements than the high-rank tensor. The small tensor generation unit 4 generates reduction rules to reconstruct the high-rank tensor by connecting the multiple small tensors. Specifically, the small tensor generation unit 4 generates non-single-chain reduction rules based on the characteristics of the identification information that identifies each small tensor. The small tensor generation unit 4 modifies the reduction rules based on the elements after they have been updated by the small tensor update unit 2. The small tensor generation unit 4 outputs the small tensors to the small tensor update unit 2 and outputs the reduction rules to the high-rank tensor reconstruction unit 3.

[0054] The tensor generation processing unit 4a obtains a high-rank tensor from an external source. The tensor generation processing unit 4a generates a plurality of small tensors having fewer elements than the high-rank tensor. The tensor generation processing unit 4a outputs the plurality of small tensors and identification information for each small tensor to the reduction rule generation unit 4b. The reduction rule generation unit 4b obtains the plurality of small tensors and identification information for each small tensor from the tensor generation processing unit 4a. The reduction rule generation unit 4b generates a non-single-chain reduction rule as a reduction rule to reproduce the high-rank tensor, based on the characteristics of the identification information. The reduction rule generation unit 4b also modifies the reduction rule based on the elements after the update by the small tensor update unit 2. The reduction rule generation unit 4b outputs the plurality of small tensors to the small tensor update unit 2 and outputs the modified reduction rule to the high-rank tensor reproduction unit 3.

[0055] In Figure 8, the small tensor generation unit 4, the small tensor update unit 2, and the high-rank tensor reproduction unit 3, which are components of the arithmetic unit, are assumed to be implemented by dedicated hardware as shown in Figure 9. That is, the arithmetic unit is assumed to be implemented by a small tensor generation circuit 14, a small tensor update circuit 12, and a high-rank tensor reproduction circuit 13. The small tensor generation circuit 14, the small tensor update circuit 12, and the high-rank tensor reproduction circuit 13 can be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof.

[0056] The components of a computing unit are not limited to those implemented by dedicated hardware; the computing unit may also be implemented by software, firmware, or a combination of software and firmware. The software or firmware is stored as a program in the computer's memory. A computer refers to the hardware that executes programs, and includes, for example, a CPU, GPU, central processing unit, processing unit, computing unit, microprocessor, microcomputer, processor, or DSP.

[0057] When the computing unit is implemented by software or firmware, a program that causes the computer to execute the respective processing procedures in the small tensor generation unit 4, the small tensor update unit 2, and the high-rank tensor reproduction unit 3 is stored in the memory 21 shown in Figure 3. Then, the processor 22 shown in Figure 3 executes the program stored in the memory 21.

[0058] Furthermore, Figure 9 shows an example where each component of the arithmetic unit is implemented by dedicated hardware, while Figure 3 shows an example where the arithmetic unit is implemented by software or firmware, etc. However, this is merely one example, and it is also possible that some components of the arithmetic unit are implemented by dedicated hardware, and the remaining components are implemented by software or firmware, etc.

[0059] Next, the operation of the arithmetic unit shown in Figure 8 will be explained. However, since it is the same as the arithmetic unit shown in Figure 1 except for the small tensor generation unit 4, the operation of the small tensor generation unit 4 will be explained here.

[0060] The small tensor generation unit 4 generates multiple small tensors having fewer elements than the high-rank tensor, similar to the small tensor generation unit 1 shown in Figure 1. The small tensor generation unit 4 generates non-single-chain reduction rules based on the characteristics of the identification information that identifies each small tensor. The small tensor generation unit 4 outputs the multiple small tensors to the small tensor update unit 2 and outputs the reduction rules to the high-rank tensor reproduction unit 3.

[0061] The small tensor update unit 2 obtains multiple small tensors from the small tensor generation unit 4. The small tensor update unit 2 updates the elements of each small tensor, similar to the first embodiment. The small tensor update unit 2 outputs each small tensor after the element update to the small tensor generation unit 4 and the high-rank tensor reproduction unit 3, respectively.

[0062] The small tensor generation unit 4 obtains each small tensor after the element update from the small tensor update unit 2. The small tensor generation unit 4 modifies the contraction rule based on the elements updated by the small tensor update unit 2. The process of modifying the contraction rule by the small tensor generation unit 4 is described below in detail. Figure 10 is a flowchart showing the process of modifying the contraction rule by the small tensor generation unit 4.

[0063] For the sake of explanation, here we assume that the reduction rule initially generated by the small tensor generation unit 4 is the reduction rule shown in Figure 11A. Figure 11A is an explanatory diagram showing an example of a reduction rule generated by the small tensor generation unit 4. After the elements of the small tensor are updated by the small tensor update unit 2, the small tensor generation unit 4 obtains the correlation results between multiple small tensors at each scale. The correlation results between multiple small tensors at each scale may be obtained from an external device (not shown), or they may be estimated by the small tensor generation unit 4 based on the characteristics of the identification information, as described in Embodiment 1. The correlation results between multiple small tensors at a particular scale change according to the element updates by the small tensor update unit 2. When the correlation between multiple small tensors at a particular scale is greater than a certain threshold, combining the multiple small tensors at that particular scale can represent a high-rank tensor more efficiently than leaving the multiple small tensors separate.

[0064] The small tensor generation unit 4 compares the correlation between multiple small tensors at each scale with a certain threshold (step ST11 in Figure 10). The certain threshold may be stored in the internal memory of the small tensor generation unit 4, or it may be provided from outside the arithmetic unit shown in Figure 8. If the correlation between multiple small tensors at each scale is greater than or equal to the threshold (step ST12 in Figure 10: YES), the small tensor generation unit 4 modifies the generated contraction rule by performing contraction between multiple small tensors at each scale, as shown in Figure 11B or Figure 11C (step ST13 in Figure 10). The contraction here is the contraction between multiple small tensors at the scale in which the correlation is greater than or equal to the threshold. The contraction between multiple small tensors is performed, for example, by a sum-of-products operation as shown in equation (1), or by a Kronecker product as shown in equation (2).

[0065] Figures 11B and 11C are explanatory diagrams showing examples of the reduction rules after modification by the small tensor generation unit 4. For example, in fluid analysis, when a strong correlation is thought to exist at a specific scale, such as when multiple vortices of a particular scale are generated, the reduction rule is changed to the one shown in Figure 11C by performing a reduction between small tensors having subscripts close to the specific scale.

[0066] The small tensor generation unit 4 modifies the contraction rule by decomposing the contracted tensor if the current contraction rule is, for example, the contraction rule shown in Figure 11B or Figure 11C, and the correlation between multiple small tensors at each scale falls below a threshold (step ST12 in Figure 10: NO). For example, singular value decomposition can be used as a method for decomposing the tensor. For example, one embodiment is to change the contraction rule shown in Figure 11B or Figure 11C to the contraction rule shown in Figure 11A. The decomposition here is a decomposition of tensors at the scale where the correlation is below a threshold among multiple scales.

[0067] In the above embodiment 3, the arithmetic device shown in Figure 8 is configured such that the small tensor generation unit 4 modifies the reduction rules based on the elements after the small tensor update unit 2. Therefore, the arithmetic device shown in Figure 8, like the arithmetic device shown in Figure 1, can generate reduction rules for connecting multiple small tensors that are considered to be physically strongly correlated in two or more different coordinate axes, and can also improve the accuracy of high-rank tensor reproduction compared to the arithmetic device shown in Figure 1.

[0068] The computing device relating to this disclosure can be used, for example, for analyzing image data.

[0069] Furthermore, this disclosure allows for free combination of each embodiment, modification of any component in each embodiment, or omission of any component in each embodiment.

[0070] 1 Small tensor generation unit, 1a Tensor generation processing unit, 1b Reduction rule generation unit, 2 Small tensor update unit, 3 High-rank tensor reproduction unit, 4 Small tensor generation unit, 4a Tensor generation processing unit, 4b Reduction rule generation unit, 11 Small tensor generation circuit, 12 Small tensor update circuit, 13 High-rank tensor reproduction circuit, 14 Small tensor generation circuit, 21 Memory, 22 Processor, 31 Small tensor, 32 Reduction rule, 41 Resonator, 42 Flow channel.

Claims

1. A computing device comprising: a small tensor generation unit that generates small tensors having fewer elements than the number of elements in a high-rank tensor, which is a tensor having elements representing quantities associated with each of a plurality of sub-regions contained in a high-dimensional region which is a region of two or more dimensions; and a reduction rule for reconstructing the high-rank tensor by connecting the plurality of small tensors, wherein the small tensor generation unit generates a non-single-chain reduction rule as the reduction rule based on the characteristics of identification information that identifies each small tensor.

2. The computing device according to claim 1, characterized in that the second or higher dimension relating to the higher-dimensional region includes a spatial dimension, a time dimension, a frequency dimension, a wave number dimension, or a dimension that can be converted from any of the spatial dimension, the time dimension, the frequency dimension, and the wave number dimension.

3. The arithmetic device according to claim 1 or 2, characterized in that the small tensor generation unit generates a non-single-chain reduction rule based on the characteristics of the identification information that identifies each small tensor, such as symmetry between two or more pieces of identification information, correlation between two or more pieces of identification information, or a quantity similar to either the symmetry or the correlation.

4. The computing device according to any one of claims 1 to 3, characterized in that the quantity associated with each sub-region is a physical quantity, traffic volume, pixel value, or the result of analysis by a machine learning model that analyzes image data.

5. The arithmetic device according to any one of claims 1 to 4, characterized in that, when the higher-dimensional region is a two-dimensional region, and in the two-dimensional region there are two sets of multiple small tensors arranged in the same direction, the small tensor generation unit generates a contraction rule as the non-single-chain contraction rule that indicates the connection between any small tensor included in one set and any small tensor included in the other set.

6. The arithmetic device according to any one of claims 1 to 5, further comprising a small tensor update unit that updates the elements of each small tensor generated by the small tensor generation unit.

7. The arithmetic device according to claim 6, characterized in that the small tensor generation unit changes the reduction rule based on the elements after they have been updated by the small tensor update unit.

8. The arithmetic device according to any one of claims 1 to 7, further comprising a high-rank tensor reproduction unit that reproduces a high-rank tensor using a plurality of small tensors generated by the small tensor generation unit and a reduction rule generated by the small tensor generation unit.

9. The arithmetic device according to claim 8, characterized in that, when reproducing a high-rank tensor, the high-rank tensor reproduction unit first performs contraction between small tensors of different dimensions, and then performs contraction between two or more small tensors of the same dimension.

10. A calculation method characterized in that a small tensor generation unit generates small tensors, which are multiple tensors having fewer elements than the number of elements in the high-rank tensor, from a high-rank tensor, which is a tensor having elements representing quantities associated with each of multiple sub-regions contained in a high-dimensional region that is a region of two or more dimensions, and a reduction rule for reconstructing the high-rank tensor by connecting the multiple small tensors, wherein the small tensor generation unit generates a non-single-chain reduction rule as the reduction rule based on the characteristics of identification information that identifies each small tensor.