Quantum computing support device and quantum computing support program

The quantum computing assistance device automates Hamiltonian conversion and iterative calculations, addressing inefficiencies in existing solvers by ensuring accurate and efficient computation of quantum problems.

JP2026078432APending Publication Date: 2026-05-14ASAHI KASEI KOGYO KABUSHIKI KAISHA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
ASAHI KASEI KOGYO KABUSHIKI KAISHA
Filing Date
2024-10-28
Publication Date
2026-05-14

AI Technical Summary

Technical Problem

Existing quantum computing solvers face challenges in efficiently calculating Hamiltonians due to the need for manual conversion to compatible formats and iterative calculations, often resulting in local minima rather than global minima, which is time-consuming and requires extensive user intervention.

Method used

A quantum computing assistance device and program that automates the process of converting undetermined Hamiltonians into solvable functions, setting calculation conditions, expanding mathematical symbols, and performing iterative calculations to find the lowest energy solution, using a storage unit, reception unit, expansion unit, compilation unit, calculation instruction unit, and output unit to assist quantum computation.

Benefits of technology

Facilitates efficient and user-friendly quantum computing by automating complex Hamiltonian conversions and iterative calculations, ensuring the solver finds the most stable energy state, reducing manual effort and time consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026078432000001_ABST
    Figure 2026078432000001_ABST
Patent Text Reader

Abstract

This invention provides a quantum computing support device and a quantum computing support program that assist quantum computation in solvers. [Solution] A quantum computing assist device for assisting quantum computation in a solver, comprising: a storage unit that stores in advance specifications specific to the solver; a reception unit that receives input of a Hamiltonian for which the calculation conditions according to the specifications are undetermined; a setting unit that sets the calculation conditions of the received Hamiltonian according to the specifications stored in the storage unit; and an expansion unit that expands mathematical symbols included in the Hamiltonian for which the calculation conditions have been set, which cannot be directly calculated by the solver, into a function that can calculate them.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to a quantum computing support device and a quantum computing support program. [Background technology]

[0002] Non-Patent Document 1 calculates the polymer concentration distribution (morphology) by annealing, and the specific example of the Hamiltonian shown in Figure 4 is based on Non-Patent Document 1. As a technique for automatically converting Hamiltonians, for example, a method for lowering the order of the Hamiltonian described in Patent Document 1 has been proposed. [Prior art document] [Non-patent document] Katsuhiro Endo, Yoshiki Matsuda and Mayu Muramatsu, "A phase-field model by an Ising machine and its application to the phase-separation structure of a diblock polymer", Scientific Reports, 12:10794 (2022). [Patent] [Patent Document 1] Japanese Patent Application Publication No. 2021-60714 [Overview of the project]

[0003] In a first aspect of the present invention, a quantum computing assistance device is provided to assist quantum computation in a solver. The quantum computing assistance device comprises a storage unit that stores in advance specifications specific to the solver; a receiving unit that receives input of a Hamiltonian for which the calculation conditions according to the specifications are undetermined; a setting unit that sets the calculation conditions of the Hamiltonian that has been received according to the specifications stored in the storage unit; and an expansion unit that expands mathematical symbols included in the Hamiltonian for which the calculation conditions have been set into a function that can compute mathematical symbols that cannot be directly computed by the solver.

[0004] The above-described quantum computing support device may include a compilation unit that compiles the function so that it can be solved by the solver, a calculation instruction unit that causes the solver to perform quantum calculations based on the function multiple times and output multiple calculation results, and an output unit that obtains and outputs the calculation result with the lowest energy among the multiple calculation results.

[0005] In any of the above quantum computing assistance devices, the setting unit may associate a grid indicating the variables for which the calculation result is to be obtained with the bits of the solver.

[0006] In any of the above quantum computing assistance devices, the setting unit may calculate the maximum number of grids available for use by the solver.

[0007] In any of the quantum computing assist devices described above, the expansion unit may, in the case of a mathematical symbol being a multiple sum, expand the multiple sum starting from the outermost sum.

[0008] In any of the above quantum computing support devices, the reception unit may accept the Hamiltonian as input in a predetermined mathematical expression and read the coefficients and mathematical symbols in the Hamiltonian that it has received as input.

[0009] In a second aspect of the present invention, a quantum computing assistance program is provided to assist quantum computation in a solver. The quantum computing assistance program causes a computer to perform the following steps: accept input of a Hamiltonian whose calculation conditions are undetermined according to the specifications specific to the solver; set the calculation conditions of the accepted Hamiltonian according to the specifications stored in the memory unit; and expand mathematical symbols included in the Hamiltonian whose calculation conditions have been set, which cannot be directly calculated by the solver, into functions that can perform calculations.

[0010] It should be noted that the above summary of the invention does not enumerate all of its features. Furthermore, subcombinations of these features may also constitute an invention. [Brief explanation of the drawing]

[0011] [Figure 1] It is a block diagram showing an example of a quantum computing auxiliary device 100 that aids quantum computing in a solver 200. [Figure 2] It is a diagram showing an example of the specifications unique to the solver 200, which are stored in the storage unit 110 of the quantum computing auxiliary device 100. [Figure 3] It is a flowchart showing an example of the operation flow of a quantum computing auxiliary method by the quantum computing auxiliary device 100. [Figure 4] As an example of the calculation of the operation flow in FIG. 3, a Hamiltonian in the case of calculating the concentration distribution (morphology) of a polymer is shown. [Figure 5] It is an example of a screen for displaying the QUBO - type Hamiltonian Hsum that a user inputs into the quantum computing auxiliary device 100 in LaTex format for the Hamiltonian Hsum shown in FIG. 4. [Figure 6] It is an example of a screen for displaying the QUBO - type Hamiltonian Hint that a user inputs into the quantum computing auxiliary device 100 in LaTex format for the Hamiltonian Hint shown in FIG. 4. [Figure 7] It is an example of a screen for displaying the QUBO - type Hamiltonian Hadj that a user inputs into the quantum computing auxiliary device 100 in LaTex format for the Hamiltonian Hadj shown in FIG. 4. [Figure 8] It is an example of a screen for displaying the QUBO - type Hamiltonian Hlong that a user inputs into the quantum computing auxiliary device 100 in LaTex format for the Hamiltonian Hlong shown in FIG. 4. [Figure 9] An example of a grid set by the quantum computing auxiliary device 100 for 100 bits of the solver 200 shown in FIG. 2 is shown. [Figure 10] An expanded formula of the Hamiltonian Hsum shown in FIG. 5 is shown. [Figure 11] It is an example of an image showing the concentration distribution of the polymer output by the output unit 170. [Figure 12]Examples of a computer 2200 in which multiple aspects of the present invention may be embodied in whole or in part are shown. [Modes for carrying out the invention]

[0012] The present invention will be described below through embodiments of the invention, but these embodiments are not intended to limit the invention as defined in the claims. Furthermore, not all combinations of features described in the embodiments are necessarily essential to the solution of the invention.

[0013] Figure 1 is a block diagram showing an example of a quantum computing assistance device 100 that assists quantum computation in solver 200. Solver 200 is a computer that performs calculations using the principles of quantum mechanics and is classified into Ising machine type and quantum gate type. The quantum computing assistance device 100 assists either an Ising machine type solver or a quantum gate type solver. In this embodiment, quantum computing assistance device 100 assists quantum computation in an Ising machine type solver 200. Note that the Ising machine type solver 200 in this embodiment may also be called a quantum annealing type solver 200, or simply an annealer. The Ising machine type solver 200 may be a quantum annealer or a pseudo-quantum annealer.

[0014] The solver 200 of this embodiment has multiple interconnected bits and performs annealing on multiple bits. Specifically, the solver 200 sets interaction coefficients between multiple bits and obtains the bit with the most stable energy by gradually weakening the transverse magnetic field (or reducing the heat) from a superimposed state (or random state) with a transverse magnetic field applied, i.e., obtaining the optimal combination state of bits. The interaction is described by the Hamiltonian in Equation 1 below, and optimization can be said to be complete when the bit with the most stable Hamiltonian is obtained.

number

[0015] In equation 1 above, s is a variable representing a bit, taking the values ​​of 0 or 1 in QUBO notation and -1 or 1 in Ising notation. QUBO notation and Ising notation are mutually convertible. In equation 1 above, h i s is the interaction coefficient of the bit itself. i 2 Where it would normally be displayed as , in the QUBO style it is s 2 Since = s, it is usually expressed as degree 1. In the above formula 1, J ij is the interaction coefficient between bits. However, it is not obvious which bit combination is the most stable, and often the result falls to a local minimum, i.e., a local minimum rather than the minimum energy value. Therefore, solver 200 performs calculations many times to find the bits that make the Hamiltonian most stable.

[0016] To perform this type of annealing, the following steps (1) to (9) are generally followed: (1) Determine the problem to be solved. (2) Set the Hamiltonian. (3) Select the solver 200 to solve it. (4) Determine the calculation conditions according to the specific specifications of solver 200. (5) Expand the Hamiltonian. (6) Convert the Hamiltonian to QUBO formula or Ising format. (7) Iteratively calculate using solver 200 based on the QUBO formula, etc. (8) Estimate the most stable bit from among the multiple calculation results obtained through iterative calculation. (9) Display the output corresponding to the obtained bit.

[0017] Step (3) specifically means selecting one solver 200 from among several solvers 200. In Figure 1, only one solver 200 is shown simply for the purpose of clarifying the explanation. In the following explanation, multiple solvers 200 may be simply referred to as solver 200. Step (6) may be omitted if, for example, the user entered the Hamiltonian in step (2) using the QUBO or Ising format. The order of some of the steps (1) to (9) above may be changed.

[0018] As described above, step (7) is performed by Solver 200. If steps other than step (7) are performed manually, for example, in step (4), the calculation conditions mentioned above cannot be determined without knowledge of Solver 200. In step (5), users often set the Hamiltonian using mathematical symbols such as summation Σ to make it easier for them to understand. In this case, the calculation cannot be performed by Solver 200 unless the mathematical symbols are written out, for example, unless the summation Σ is expanded. Here, the Hamiltonian often contains multiple sums, and for the user to expand this Hamiltonian themselves, it is time-consuming, requiring either manual calculation or the preparation of a program for expansion. In step (6), the Hamiltonian must be converted to QUBO or Ising format in a format compatible with Solver 200. In step (8), the task of picking the most stable bit combination from multiple calculation results obtained by iterative calculation must be performed by writing a program.

[0019] Therefore, the quantum computing assistance device 100 automatically performs steps (3) to (9) in cooperation with the solver 200, thereby assisting users in easily performing calculations using the solver 200.

[0020] The quantum computing support device 100 comprises a storage unit 110, a reception unit 120, a setting unit 130, and an expansion unit 140. The quantum computing support device 100 of this embodiment further comprises a compilation unit 150, a calculation instruction unit 160, and an output unit 170.

[0021] The memory unit 110 pre-stores specifications specific to the solver 200. These specifications include, for example, the total number of bits the solver 200 possesses, whether the bits of the solver 200 are fully connected or not, and so on. The memory unit 110 stores these specifications for each of the multiple solvers 200. Figure 2 shows an example of the specifications specific to the solver 200 stored in the memory unit 110 of the quantum computing assistance device 100. In Figure 2, the intersection of each line represents a bit, and the line segments between bits schematically indicate the interaction between those bits. As shown in Figure 2, the solver 200 in this embodiment, for example, has 10 × 10 = 100 bits. Each of the 100 bits of the solver 200 is assigned a reference number from i = 0 to 99.

[0022] The reception unit 120 accepts a Hamiltonian input for which the calculation conditions according to the above specifications are undetermined. The calculation conditions according to the above specifications include, for example, a solver 200 suitable for performing calculations based on the Hamiltonian, the correspondence between the bits of the solver 200 and the grid that indicates the variables for which the calculation result is to be obtained in the quantum computing support device 100, etc. The correspondence between bits and grids includes the number of bits allocated to one grid. The reception unit 120 may include a user interface such as a keyboard or mouse operated by the user of the quantum computing support device 100, and may accept the above Hamiltonian input via such a user interface. The reception unit 120 outputs the accepted Hamiltonian to the setting unit 130.

[0023] The setting unit 130 sets the calculation conditions for the Hamiltonian received by the receiving unit 120 according to the specifications stored in the storage unit 110. The setting unit 130 refers to the storage unit 110 and reads the specifications. The setting unit 130 may, for example, set a solver 200 suitable for performing calculations based on the Hamiltonian, the correspondence between bits and grids as described above, etc., according to the specifications. The solver 200 may be predetermined, or it may be selected by the setting unit 130 based on predetermined criteria. The solver 200 thus determined may be changed to another solver 200 by the user. The setting unit 130 outputs the Hamiltonian with the set calculation conditions to the expansion unit 140.

[0024] The expansion unit 140 expands the Hamiltonian, whose calculation conditions have been set by the setting unit 130, into a function that can compute mathematical symbols that cannot be directly computed by the solver 200. Mathematical symbols that cannot be directly computed by the solver 200 include, for example, Σ (sum), Π (product), ∫ (integration), and dy / dx (differentiation). Mathematical symbols that can be directly computed include, for example, arithmetic operations and exponentiation. The expansion unit 140 outputs the function to the compilation unit 150.

[0025] The compilation unit 150 compiles the function so that it can be solved by the solver 200. The compilation unit 150 outputs the compiled function to the solver 200 selected by the setting unit 130.

[0026] The calculation instruction unit 160 instructs the solver 200 to perform quantum calculations based on the function multiple times and output multiple calculation results. The calculation instruction unit 160 outputs the multiple calculation results to the output unit 170 either collectively or sequentially.

[0027] The output unit 170 acquires and outputs a calculation result with lower energy among the plurality of calculation results input from the calculation instruction unit 160. The output unit 170 may acquire and output a calculation result with the lowest energy among the plurality of calculation results. The output unit 170 may, for example, display an image corresponding to the calculation result on a monitor for the user.

[0028] FIG. 3 is a flowchart showing an example of an operation flow of a quantum calculation assistance method by the quantum calculation assistance apparatus 100. FIG. 4 shows a Hamiltonian in the case of calculating the concentration distribution (morphology) of a polymer as an example of the calculation of the operation flow of FIG. 3.

[0029] In the example of FIG. 4, in order to calculate the optimum value of the concentration distribution of the polymer spreading in the two-dimensional plane, as a system, a two-dimensional grid is set, and the concentration harmony of each grid is set to five gradations. When expressing gradation in a system where the variable takes two values of a = 0 or a = 1, if there are four variables of a(i), a(i+1), a(i+2), a(i+3), the concentration can be expressed in five steps of 0, 1, 2, 3, 4 as the sum of a. Therefore, in this example, four variables are assigned to each grid, and five steps of 0, 1, 2, 3, 4, which are the sum of the variables, are assigned to five gradations of concentration of 0, 0.25, 0.5, 0.75, 1.

[0030] In this operation flow, as an example, the Hamiltonian H shown in FIG. 4 is calculated. As shown in FIG. 4, the Hamiltonian H is the sum of the Hamiltonians H sum , H int , H adj , and, H long FIG. 4 is expressed using mathematical symbols that are easy for the user to understand, for example, Σ.

[0031] According to the operation flow of FIG. 3, the user of the quantum calculation assistance apparatus 100 can use the QUBO-form Hamiltonian H, that is, the QUBO-form Hamiltonian H sum , H int , H adj , and, H longThe data is input to the quantum computing support device 100 in LaTeX format (step S101). The calculation conditions for the Hamiltonian H are yet to be determined according to the specifications described above. The user further inputs each Hamiltonian H sum Set the coefficients etc. in the above (step S103). Steps S101 to S103 may correspond to the above procedures (1) to (2).

[0032] Figure 5 shows the Hamiltonian H shown in Figure 4. sum Regarding this, the user inputs the QUBO-type Hamiltonian H into the quantum computing assistance device 100 in LaTeX format. sum This is an example of a screen that displays the Hamiltonian H set by the user. sum Coefficients K, f, α in etc. F , α I , α A , α OK This also shows that the coefficient K represents the resolution of each grid, the coefficient f represents the proportion of polymer in the system, and the coefficient α F , α I , α A , α OK This refers to the input variable.

[0033] The screen in question may be, for example, the monitor screen of a personal computer communicating with the quantum computing support device 100, and as shown on the screen, the user will be shown the Hamiltonian H sum You may also display the mathematical formula expressed using the above mathematical symbols. The same applies to each of the following figures, and redundant explanations will be omitted.

[0034] Figure 6 shows the Hamiltonian H shown in Figure 4. int Regarding this, the user inputs the QUBO-type Hamiltonian H into the quantum computing assistance device 100 in LaTeX format. int This is an example of a screen displaying the Hamiltonian H shown in Figure 4. Figure 7 shows the Hamiltonian H adj Regarding this, the user inputs the QUBO-type Hamiltonian H into the quantum computing assistance device 100 in LaTeX format. adj This is an example of a screen displaying the Hamiltonian H shown in Figure 4. Figure 8 shows the Hamiltonian H shown in Figure 4. longRegarding this, the user inputs the QUBO-type Hamiltonian H into the quantum computing assistance device 100 in LaTeX format. long This is an example of a screen that displays [something].

[0035] According to the operation flow in Figure 3, the reception unit 120 of the quantum computing support device 100 accepts a Hamiltonian input in a predetermined LaTeX format and reads the coefficients and mathematical symbols in the accepted Hamiltonian (step S105). The LaTeX format is one example of a predetermined mathematical expression, and may also be a mathematical expression editor prepared as a plugin for word processing software. For example, the coefficients refer to the coefficients shown in Figure 5, and the mathematical symbols refer to the sum Σ in each Hamiltonian shown in Figures 5 to 8, i.e., the symbol \sum in LaTeX format. Note that the coefficients may include the number of dimensions of the grid, that is, the number of dimensions may be set by the user.

[0036] The setting unit 130 of the quantum computing support device 100 sets the calculation conditions of the Hamiltonian that it has received as input, according to the above-mentioned specifications stored in the storage unit 110 (step S107). In this embodiment, the setting unit 130 associates the above-mentioned grid with the bits of the solver 200. In this embodiment, the setting unit 130 also calculates the maximum number of grids Nmax that can be used by the solver. Steps S105 to S107 may correspond to the above-mentioned procedures (3) to (4).

[0037] Figure 9 shows an example of a grid set up by the quantum computing support device 100 for the 100 bits of the solver 200 shown in Figure 2. In Figure 9, the intersections of the lines represent grids, and the line segments between grids schematically show the interaction between those grids. Figure 9 shows 25 grids, and each grid shows the reference number i=0 to 99 of the bits associated with that grid.

[0038] The setting unit 130 associates grids with bits according to the 100 bits of the solver 200 shown in Figure 2. First, in the case of an N x N 2D grid, the setting unit 130 calculates the maximum number of grids Nmax such that N x N x K (the total number of grids N x N multiplied by the resolution of each grid) is less than or equal to the total number of bits of the solver 200. When the resolution of each grid is K=4, Nmax=25. Therefore, an N x N = 5 x 5 grid can be calculated.

[0039] The setting unit 130 associates each of the 25 grids with each bit indicated by reference numbers i=0 to 99 in Figure 2. As an example, each grid may be associated with each bit as shown in Figure 9. In Figure 9, the nth grid is associated with four bits i=4*n+k (where k=0,1,2,3). The rules for associating grids with bits are stored in advance in the setting unit 130 in the form of mathematical formulas or tables, and these may be read out and used.

[0040] The above mapping makes it possible to set constraints within the grid, such as only one of i=0 to 3 being "1" and the rest being "0", as well as interactions between adjacent grids, for each bit of solver 200. The number of grids N used in the calculation is automatically calculated by the setting unit 130, or it may be specified by the user within a range less than or equal to Nmax.

[0041] According to the operation flow in Figure 3, the expansion unit 140 of the quantum computing assistance device 100 expands mathematical symbols included in the Hamiltonian for which the calculation conditions have been set into functions that can be calculated by the solver 200 (step S109). In this case, the expansion unit 140 may pre-store the relationship between mathematical symbols that cannot be calculated directly and the function obtained by expanding them, for example, the relationship between the LaTeX symbol \sum and the sum "+", and use that relationship for the expansion. Step S109 may correspond to the procedure (5) described above.

[0042] Figure 10 shows the Hamiltonian H shown in Figure 5. sumThe expanded expression is shown. If the mathematical symbol is a multiple sum, the expansion unit 140 expands the multiple sum starting from the outermost sum. In Figure 10, corresponding to the fact that the outer part of the multiple sum in Figure 5 is a sum over i and the inner part is a sum over k, the expanded sum of k is placed inside each parenthetical sign connected by the expanded sum of i "+". The expansion unit 140 repeats the expansion until there are no more mathematical symbols such as Σ and the expression can be expressed in the form of a mathematical symbol that can be calculated, such as a sum or a difference. The expanded function may be displayed on the screen or its display may be omitted. If the display is omitted, a message indicating that the expansion is complete may be displayed on the screen.

[0043] According to the operation flow in Figure 3, the quantum computing support device 100, for example in the unfolding unit 140, unfolds the Hamiltonian H sum H int H adj , and, H long The two are joined together (step S111). This means that the Hamiltonian H is now expressed as a function that can be calculated by solver 200.

[0044] The compilation unit 150 of the quantum computing assistance device 100 compiles the function so that it can be solved by the solver 200 (step S113), and outputs the compiled function to the solver 200 selected by the setting unit 130. The compilation unit 150 may also compile the function using a known module, such as the python® module, and input it to the solver 200.

[0045] The calculation instruction unit 160 of the quantum computing support device 100 causes the solver 200 to perform quantum calculations based on the function multiple times and output multiple calculation results (step S115). For example, when the calculation instruction unit 160 receives a calculation result from the solver 200, it determines whether the calculation result has been input a specified number of times, that is, whether the quantum calculation has been performed a specified number of times, and may cause the solver 200 to repeatedly execute the quantum calculation until the quantum calculation has been performed a specified number of times (step S117: NO). If the quantum calculation has been performed a specified number of times (step S117: YES), the calculation instruction unit 160 outputs the multiple calculation results to the output unit 170 either collectively or sequentially. The output unit 170 obtains and outputs the calculation result with the lowest energy among the multiple calculation results (step S119), and the operation flow ends. Steps S115 to S119 may correspond to the above procedures (7) to (9).

[0046] Figure 11 is an example of an image showing the polymer concentration distribution output by the output unit 170. The output unit 170 acquires and outputs the calculation result with the lowest energy from among the multiple calculation results input from the calculation instruction unit 160.

[0047] In Figure 11, the density distribution has 25 sub-regions corresponding to Nmax = 25, and each sub-region exemplifies five different densities with distinct patterns, corresponding to the setting of five density levels in the grid. The patterns of white fill, vertical lines, diagonal lines, horizontal lines, and dots shown in each sub-region of Figure 11 correspond to the five density levels of 0, 0.25, 0.5, 0.75, and 1 mentioned above.

[0048] According to the quantum computing assistance device 100 of the embodiment described above, by assisting quantum computing in the solver 200 as described above, users can easily perform calculations using the solver 200.

[0049] In the operation flow shown in Figure 3, the user may input each Hamiltonian in Ising format into the quantum computing support device 100 in Latex format. In this case, the quantum computing support device 100 may convert each Hamiltonian in Ising format into a QUBO form before expanding each Hamiltonian.

[0050] Furthermore, in the operation flow shown in Figure 3, if it is not necessary to input the Hamiltonians H separately, the step of "combining each Hamiltonian" may be omitted.

[0051] Various embodiments of the present invention may be described with reference to flowcharts and block diagrams, where a block may represent (1) a stage in a process in which an operation is performed or (2) a section of a device having the role of performing the operation. Specific stages and sections may be implemented by dedicated circuits, programmable circuits supplied with computer-readable instructions stored on a computer-readable medium, and / or processors supplied with computer-readable instructions stored on a computer-readable medium. Dedicated circuits may include digital and / or analog hardware circuits, and may include integrated circuits (ICs) and / or discrete circuits. Programmable circuits may include reconfigurable hardware circuits, including logical AND, logical OR, logical XOR, logical NAND, logical NOR, and other logic operations, flip-flops, registers, memory elements such as field-programmable gate arrays (FPGAs), programmable logic arrays (PLAs), etc.

[0052] Computer-readable media may include any tangible device capable of storing instructions to be executed by a suitable device, and as a result, computer-readable media having instructions stored therein will comprise a product containing instructions that can be executed to create means for performing operations specified in a flowchart or block diagram. Examples of computer-readable media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. More specific examples of computer-readable media may include floppy disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disk read-only memory (CD-ROM), digital multipurpose disc (DVD), Blu-ray® disc, memory stick, integrated circuit card, etc.

[0053] Computer-readable instructions may include assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk®, Java®, C++, and traditional procedural programming languages ​​such as the C programming language or similar programming languages.

[0054] Computer-readable instructions may be provided locally or via a wide area network (WAN) such as a local area network (LAN) or the internet to the processor or programmable circuit of a programmable data processing device such as a general-purpose computer, a special-purpose computer, or another computer, and the computer-readable instructions may be executed to create means for performing operations specified in a flowchart or block diagram. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.

[0055] Figure 12 shows an example of a computer 2200 in which multiple aspects of the present invention may be embodied in whole or in part. A program installed on the computer 2200 can cause the computer 2200 to function as an operation or one or more sections of an apparatus according to an embodiment of the present invention, or to execute such operation or one or more sections, and / or to cause the computer 2200 to execute a process or a stage of such process according to an embodiment of the present invention. Such a program may be executed by the CPU 2212 to cause the computer 2200 to perform a particular operation associated with some or all of the blocks in the flowcharts and block diagrams described herein.

[0056] The computer 2200 according to this embodiment includes a CPU 2212, RAM 2214, a graphics controller 2216, and a display device 2218, which are interconnected by a host controller 2210. The computer 2200 also includes input / output units such as a communication interface 2222, a hard disk drive 2224, a DVD-ROM drive 2226, and an IC card drive, which are connected to the host controller 2210 via an input / output controller 2220. The computer also includes legacy input / output units such as a ROM 2230 and a keyboard 2242, which are connected to the input / output controller 2220 via an input / output chip 2240.

[0057] The CPU 2212 operates according to programs stored in the ROM 2230 and RAM 2214, thereby controlling each unit. The graphics controller 2216 retrieves image data generated by the CPU 2212 from a frame buffer provided in RAM 2214 or from itself, and displays the image data on the display device 2218.

[0058] The communication interface 2222 communicates with other electronic devices via a network. The hard disk drive 2224 stores programs and data used by the CPU 2212 in the computer 2200. The DVD-ROM drive 2226 reads programs or data from the DVD-ROM 2201 and provides them to the hard disk drive 2224 via the RAM 2214. The IC card drive reads programs and data from the IC card and / or writes programs and data to the IC card.

[0059] The ROM 2230 stores boot programs and / or programs that depend on the computer 2200's hardware, which are executed by the computer 2200 when activated. The input / output chip 2240 may also connect various input / output units to the input / output controller 2220 via parallel ports, serial ports, keyboard ports, mouse ports, etc.

[0060] The program is provided on a computer-readable medium such as a DVD-ROM 2201 or an IC card. The program is read from the computer-readable medium and installed on a hard disk drive 2224, RAM 2214, or ROM 2230, which are also examples of computer-readable medium, and executed by the CPU 2212. The information processing described within these programs is read by the computer 2200, resulting in coordination between the program and the various types of hardware resources described above. The apparatus or method may be configured to realize the manipulation or processing of information in accordance with the use of the computer 2200.

[0061] For example, when communication is performed between a computer 2200 and an external device, the CPU 2212 may execute a communication program loaded into RAM 2214 and, based on the processing described in the communication program, instruct the communication interface 2222 to perform communication processing. Under the control of the CPU 2212, the communication interface 2222 reads transmission data stored in a transmission buffer processing area provided in a recording medium such as RAM 2214, a hard disk drive 2224, a DVD-ROM 2201, or an IC card, transmits the read transmission data to the network, or writes received data received from the network to a reception buffer processing area provided on the recording medium.

[0062] Furthermore, the CPU 2212 may read all or necessary parts of files or databases stored on external storage media such as the hard disk drive 2224, DVD-ROM drive 2226 (DVD-ROM 2201), or IC card into the RAM 2214, and perform various types of processing on the data in the RAM 2214. The CPU 2212 then writes the processed data back to the external storage media.

[0063] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and subjected to information processing. The CPU 2212 may perform various types of processing on the data read from RAM 2214, including various types of operations, information processing, conditional judgments, conditional branching, unconditional branching, information retrieval / replacement, etc., as described throughout this disclosure and specified by the program instruction sequence, and write the results back to RAM 2214. The CPU 2212 may also retrieve information in files, databases, etc., within the recording medium. For example, if multiple entries are stored in the recording medium, each having an attribute value of a first attribute associated with an attribute value of a second attribute, the CPU 2212 may search among the multiple entries for an entry that matches the condition for which the attribute value of the first attribute is specified, read the attribute value of the second attribute stored in that entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.

[0064] The programs or software modules described above may be stored on or near computer 2200 on a computer-readable medium. Alternatively, recording media such as hard disks or RAM provided within a server system connected to a dedicated communication network or the Internet can be used as computer-readable media, thereby providing programs to computer 2200 via the network.

[0065] Although the present invention has been described above using embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications or improvements can be made to the above embodiments. It will be clear from the claims that such modified or improved forms may also be included in the technical scope of the present invention.

[0066] For example, the control system may be a computer housed in a single enclosure. That is, the controller may be implemented by program execution on the computer's processor, and each input / output device may be implemented as an I / O device of the computer. Alternatively, the controller may be implemented as a virtual machine run by one or more processors. In such a configuration, the control system does not have a network, whether general-purpose or dedicated, and the controller and input / output devices may be connected by chipsets such as memory controller hubs and I / O controller hubs that connect the processors and I / O devices.

[0067] It should be noted that the execution order of operations, procedures, steps, and stages in the apparatus, systems, programs, and methods shown in the claims, specifications, and drawings is not explicitly stated as "before," "prior to," etc., and that these can be implemented in any order unless the output of a previous process is used in a later process. Even if the operation flow in the claims, specifications, and drawings is described using phrases such as "first," "next," etc. for convenience, it does not mean that it is essential to perform the operations in that order. [Explanation of Symbols]

[0068] 100 Quantum calculation auxiliary equipment 110 Storage section 120 Reception Department 130 Setting section 140 Expansion section 150 Compilation Section 160 Calculation instruction section 170 Output section 200 solvers 2200 Computers 2201 DVD-ROM 2210 Host Controller 2212 CPU 2214 RAM 2216 Graphics Controller 2218 Display Devices 2220 Input / Output Controller 2222 Communication Interface 2224 Hard Disk Drive 2226 DVD-ROM drive 2230 ROM 2240 Input / Output Chip 2242 keyboard

Claims

1. A quantum computing assist device that assists quantum computation in a solver, A storage unit that pre-stores specifications specific to the solver, A reception unit that accepts input of a Hamiltonian whose calculation conditions according to the aforementioned specifications are undetermined, A setting unit sets the calculation conditions of the Hamiltonian that has been received as input, according to the specifications stored in the storage unit, An expansion unit that expands the Hamiltonian, in which the calculation conditions are set, into a function that can compute mathematical symbols that cannot be directly computed by the solver, into a function that can compute them. A quantum computing support device equipped with the following features.

2. A compilation unit that compiles the aforementioned function so that it can be solved by the aforementioned solver, The solver is provided with a calculation instruction unit that causes it to perform quantum calculations based on the function multiple times and output multiple calculation results, An output unit that obtains and outputs the calculation result with the lowest energy among the aforementioned multiple calculation results. A quantum computing support device according to claim 1, comprising:

3. The setting unit associates a grid indicating the variables for which calculation results are to be obtained with the bits of the solver. The quantum computing support device according to claim 1.

4. The setting unit calculates the maximum number of grids available for use in the solver. The quantum computing support device according to claim 3.

5. The expansion unit, in the case of a mathematical symbol being a multiple sum, expands the multiple sum in order from the outermost sum. The quantum computing support device according to claim 1.

6. The receiving unit receives input of the Hamiltonian in a predetermined mathematical expression, and reads the coefficients and mathematical symbols in the Hamiltonian that it has received as input. The quantum computing support device according to claim 1.

7. A quantum computing assist program that assists quantum computation in a solver, which allows a computer to perform the task. A procedure for accepting a Hamiltonian input whose calculation conditions are undetermined according to the specific specifications of the solver, A procedure for setting the calculation conditions of the Hamiltonian that has been received as input to match the specifications stored in the memory unit, A procedure for expanding the Hamiltonian, which has the aforementioned calculation conditions set, into a function that can compute mathematical symbols that cannot be directly computed by the solver, and a procedure for doing so. A quantum computing support program that enables the execution of [the following].