Quantum computing error mitigation
A classical processor corrects erratic spin states in quantum processor solutions by minimizing Hamiltonian energy, enhancing the accuracy and efficiency of quantum computing for optimization problems.
Patent Information
- Application Number
- PCT/AU2025/050103
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-14
- Filing Date
- 2025-02-11
- Publication Date
- 2025-08-21
AI Technical Summary
Quantum computers generate solutions with errors due to qubit deviations, leading to non-optimal outcomes for complex optimization problems, which limits their practical application.
A method using a classical processor to identify and correct erratic spin states in quantum processor solutions by flipping spins to minimize the Hamiltonian energy, thereby producing an error-mitigated solution.
Improves the accuracy and efficiency of quantum computing for optimization problems by effectively mitigating errors in quantum processor solutions, enabling higher-quality results with manageable computational overhead.
Smart Images

Figure AU2025050103_21082025_PF_FP_ABST
Abstract
Description
"Quantum computing error mitigation" Cross-Reference to Related Applications
[0001] The present application claims priority from Australian Provisional Patent Application No 2024900349 filed on 14 February 2024, the contents of which are incorporated herein by reference in their entirety. Technical Field
[0002] This disclosure relates to mitigating error in a solution of an optimisation problem, e.g., where the solution is indicative of a ground-state of a Hamiltonian, or the like. The mitigation is performed using a classical processor. More particularly but not necessarily exclusively, the solution is computed by a quantum processor. Background
[0003] Quantum computing has the potential to solve problems that would be unfeasible for Boolean algebra-based classical computing. For example, quantum computing has the potential to solve complex optimisation problems by exploiting the quantum properties of quantum computing bits (qubits). More specifically, computing the global minimum of the objective function which represents the optimisation problem can be formulated as computing the ground-state of a quantum Hamiltonian, which represents the total energy of a quantum system. Hence, solving the optimisation problem becomes a matter of finding the quantum system with the minimum total energy, i.e., the ground-state of the Hamiltonian.
[0004] However, quantum computers may generate solutions with error. Consequently, the quantum computer may provide a solution with error to the optimisation problem. This means the quantum processor may provide a solution that deviates from the ground-state, i.e., the solution received from the quantum processor may not be the optimal solution to the optimisation problem. In other words, some spinstates in the solution may be incorrect, which leads to non-optimal solutions for the underlying problems.
[0005] A physical qubit in a quantum processor may deviate from its ideal quantum state due to factors such as environmental noise, random fields exerted on qubits and random fluctuations of qubit couplers. However, all qubits may need to perform correctly for a quantum processor to produce a correct answer. For purpose of illustration, if a quantum computer executes a program using 10 qubits each having an observed effective error rate of 1%, the probability that the quantum processor gives acorrect answer is 0.9910 = 0.9 or 90%, assuming that the errors in each qubit areuncorrelated and random. For 100 qubits, the probability is 0.99100 = 0.37. For 1000s, the probability drops to 0.99104 qubit00= 100000 or 4 in a hundred thousand. In other words, millions of computing repetitions are required to get a reasonably reliableanswer. For 10000 qubits, the probability reduces to 0.9910000 = 2 × 10−44, meaningthe probability becomes so small that the quantum computer will practically not give a correct answer. Although quantum computers with higher numbers of qubits are under development, the qubit error problem would likely remain.
[0006] Qubit error is one of the primary limitations for broad adoption of quantum computing to solve real-world problems, such as complex optimisation problems. Mitigating the effect of qubit error would improve the quantum computing efficiency and make it possible for a quantum computer to solve complex problems more accurately, such as large optimisation problems.
[0007] Any discussion of documents, acts, materials, devices, articles or the like which have been included in the present specification is not to be taken as an admission that any or all of these matters form part of the prior art base or were common general knowledge in the field relevant to the present disclosure as it existed before the priority date of each of the appended claims.
[0008] Throughout this specification the word “comprise”, or variations such as “comprises” or “comprising”, will be understood to imply the inclusion of a statedelement, integer or step, or group of elements, integers or steps, but not the exclusion of any other element, integer or step, or group of elements, integers or steps.
[0009] Throughout this specification the word “Hamiltonian”, will be understood as a mathematical function of spins or a mathematical function of measured values of spins or a mathematical function of variables representing the objective function of the optimisation problem, and the Hamiltonian energy will be understood as representing the measured or the computed value of such a function.
[0010] Throughout this specification the word “spin”, will be understood as a quantum mechanical operator or the expectation of such an operator or a mathematical symbol representing a variable in the objective function of the optimisation problem, and the spin state will be understood as representing the measured value of such an operator or the value of such a variable.
[0011] Throughout this specification the word “flip”, or variations such as “flips” or “flipping” or “flipped”, will be understood to imply changing from the present value to a different value of a stated element or a group of elements, such as a spin or a group of spins. Flipping a group of elements implies flipping all elements in the group. Summary
[0012] Disclosed herein are methods for mitigating error of a solution to an optimisation problem described by an optimisation objective function. The optimisation objective function is a function of one or more variables. The solution comprises variable states of each of the variables in the optimisation objective function and corresponds to an outcome of performing a computation to minimise the optimisation objective function value.
[0013] This disclosure provides methods to identify variables in the solution that may be in erratic states due to, for example, noise or decoherence or other factors. The methods aim to correct those states by flipping the variables to their correct states basedon reducing or minimising the optimisation objective function value, thereby producing an error-mitigated solution. The solution to the underlying optimisation problem is returned after such mitigation is completed. As such, this disclosure provides a method for improving a solution to an optimisation problem, which may be a more optimal solution than the originally-received solution.
[0014] According to the present disclosure, there is provided a method for mitigating error of a solution to an optimisation problem comprising, for a first variable of the one or more variables in the solution, determining a change to the optimisation objective function indicative of flipping the first variable to a first alternative variable state. The method further comprises, upon determining that the change reduces the objective optimisation function, flipping a second variable in the solution to a second alternative variable state to mitigate the error in the solution. The second variable is based on the first variable.
[0015] Disclosed herein are methods for mitigating error of a solution determined by a quantum processor, for which the optimisation objective function is represented by a Hamiltonian and the variables are referred to as “spins”. According to the present disclosure, there is provided a method for mitigating error of a solution indicative of a ground-state of a Hamiltonian determined by a quantum processor. The Hamiltonian represents an optimisation objective function and is a function of one or more spins.
[0016] In some embodiments, the method comprises performing by a classical processor the step of: receiving the solution from the quantum processor. The solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a quantum computation on the quantum processor to minimise the optimisation objective function.
[0017] In some embodiments, the method further comprises performing by a classical processor the step of: for a first group of spins of the one or more group of spins in the solution, determining a change to a Hamiltonian energy indicative of flipping the firstgroup of spins to a first alternative spin group state. The Hamiltonian energy being determined from the Hamiltonian.
[0018] In some embodiments, the method further comprises performing by a classical processor the step of: upon determining that the change reduces the Hamiltonian energy, flipping a second group of spins in the solution to a second alternative spin group state to mitigate the error in the solution. The second spin group is based on the first spin group.
[0019] In some cases, it may be an advantage to determine a change to a Hamiltonian energy indicative of flipping the first spin to a first alternative spin state, as the quantum computation should return an optimal solution where the one or more spins are in their states for the Hamiltonian in the ground-state. However, due to noise or other factors, a solution may sometimes not be optimal where some spins are in erratic states. As such, by determining a change to a Hamiltonian energy indicative of flipping the first spin and flipping a second spin based on the first spin, errors in the solution may be mitigated.
[0020] In some embodiments, the method further comprises repeating the step of determining the change to the Hamiltonian energy for one or more or each of the alternative spin states of the first spin as the first alternative spin state.
[0021] In some embodiments, the second spin is the first spin; and the second alternative spin state corresponds to the alternative spin state that provides a maximum reduction in the Hamiltonian energy.
[0022] In some cases, it may be an advantage to repeat the steps of determining the change to the Hamiltonian energy for one or more or each of the alternative spin states of the second spin, so that the alternative spin states that provides a maximum reduction to the Hamiltonian energy can be determined, thereby providing greater reduction of the Hamiltonian energy of the solution.
[0023] In some embodiments, the method further comprises determining a group of spins comprising the first spin and zero, one or more of the spins coupled to the first spin; and determining changes to the Hamiltonian energy for one or more or each spin in the group, for one or more or each of alternative spin states of the respective spin, wherein the second spin corresponds to a spin from the group of spins and the second alternative spin state corresponds to the alternative spin state that provides a maximum reduction in the Hamiltonian energy.
[0024] Determining that the change to a Hamiltonian energy indicative of flipping the first spin reduces the Hamiltonian energy indicates that there is an erratic spin nearby. Therefore, it may be an advantage to determine the changes to the Hamiltonian energy for one or more or each spin in the group of spins as there may be a spin, other than the first spin, that, when flipped, provides a greater energy reduction than the first spin. This may provide greater reduction of the Hamiltonian energy.
[0025] In some embodiments, the group of spins comprises indirectly coupled spins, the indirectly coupled spins being determined up to a predetermined coupling range.
[0026] In some embodiments, determining the change to the Hamiltonian energy comprises determining a difference between a present energy value and a flipped energy value, the present and flipped energy values being a local energy value of the first spin with a present spin state and the first alternative spin state, respectively, and the difference is indicative of the change to the Hamiltonian energy upon flipping the first spin.
[0027] In some embodiments, determining the change to the Hamiltonian energy comprises determining a difference between a present energy value and a flipped energy value of a spin in the group of spins, the present and flipped energy values being local energy values of the spin in the group of spins with the present spin state and the alternative spin state, respectively, and the difference is indicative of the change to the Hamiltonian energy upon flipping the spin in the group of spins.
[0028] In some embodiments, the method further comprises selecting the first spin from the one or more spins in the solution randomly or; sequentially; or based on a predetermined order.
[0029] In some embodiments, the method further comprises iteratively: selecting the first spin from the one or more spins in a previous solution; determining the change to the Hamiltonian energy indicative of flipping the first spin to the first alternative spin state; and upon determining that the change reduces the Hamiltonian energy, flipping the second spin in the previous solution to the second alternative spin state; until a stop condition is satisfied.
[0030] In some embodiments, the stop condition is one or more of: a subset or each of the one or more spins of the solution has been processed; a predetermined number of repetitions is reached; absence of a spin flip that reduces the Hamiltonian energy for a subset or each of the one or more spins; a predetermined time limit is reached; in response to an interrupt; or satisfying a convergence condition.
[0031] In some embodiments, selecting the first spin from the one or more spins in the previous solution comprises selecting the first spin randomly, sequentially or based on a predetermined order.
[0032] In some embodiments, the first spin and the second spin correspond to one or multiple groups of spins in the solution, wherein the first alternative spin state and the second alternative spin state represent alternative spin states of each of the multiple spins in any group corresponding to the first spin and the second spin, respectively.
[0033] In some embodiments, the first spin may comprise one or more groups of spins. For example, each group may comprise one or more spins. The spins in each group may be coupled directly or indirectly with each other. The first spin state may comprise the spin states of each of the multiple spins corresponding to the first spin. The first alternative spin state may comprise the alternative spin states of each of the multiple spins in any group corresponding to the first spin.
[0034] Similarly, in some embodiments, the second spin may comprise one or more groups of spins. For example, each group may comprise one or more spins. The spins in each group may be coupled directly or indirectly with each other. The second spin state may comprise the spin states of each of the multiple spins corresponding to the second spin. The second alternative spin state may comprise the alternative spin states of each of the multiple spins in any group corresponding to the second spin.
[0035] In some embodiments, each of the one or more spins represent a variable of the Hamiltonian and each of the spin states represent a discrete value.
[0036] In some embodiments, the Hamiltonian represents an Ising spin-glass model or quadratic unconstrained binary optimisation (QUBO) model.
[0037] In some embodiments, the quantum processor is one or more of: a quantum annealer; a quantum gate model processor; a quantum-classical hybrid processor; a virtual quantum processor; and a quantum processor simulator.
[0038] According to the present disclosure, there is provided a method for mitigating error of a solution indicative of a ground-state of a Hamiltonian determined by a processor comprising multiple probabilistic bits (p-bits).
[0039] In some embodiments, the method comprises performing by a classical processor the step of: receiving the solution from the processor. The solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a computation on the processor to minimise the optimisation objective function.
[0040] In some embodiments, the method comprises performing by a classical processor the step of: for a first spin of the one or more spins in the solution, determining a change to a Hamiltonian energy indicative of flipping the first spin to a first alternative spin state. The Hamiltonian energy being determined from the Hamiltonian.
[0041] In some embodiments, the method comprises performing by a classical processor the step of: upon determining that the change reduces the Hamiltonian energy, flipping a second spin in the solution to a second alternative spin state to mitigate the error in the solution. The second spin is based on the first spin.
[0042] According to the present disclosure, there is provided software that, when installed on a classical processor and executed by the classical processor, causes the classical processor to perform any one of the previously described methods.
[0043] According to the present disclosure, there is provided a system for mitigating error of a solution indicative of a ground-state of a Hamiltonian determined by a quantum processor. The Hamiltonian represents an optimisation objective function and is a function of one or more spins.
[0044] In some embodiments, the system comprises a classical processor configured to: receive the solution from the quantum processor. The solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a quantum computation on the quantum processor to minimise the optimisation objective function.
[0045] In some embodiments, the classical processor configured to, for a first spin of the one or more spins in the solution, determine a change to a Hamiltonian energy indicative of flipping the first spin to a first alternative spin state. The Hamiltonian energy being determined from the Hamiltonian.
[0046] In some embodiments, the classical processor configured to, upon determining that the change reduces the Hamiltonian energy, flip a second spin in the solution to a second alternative spin state to mitigate the error in the solution. The second spin is based on the first spin.
[0047] According to the present disclosure, there is provided a system for mitigating error of a solution indicative of a ground-state of a Hamiltonian determined by aprocessor comprising multiple probabilistic bits (p-bits), wherein the Hamiltonian represents an optimisation objective function and is a function of one or more spins.
[0048] In some embodiments, the system comprises a classical processor configured to: receive the solution from the processor. The solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a computation on the processor to minimise the optimisation objective function.
[0049] In some embodiments, the system comprises a classical processor configured to: for a first spin of the one or more spins in the solution, determine a change to a Hamiltonian energy indicative of flipping the first spin to a first alternative spin state. The Hamiltonian energy being determined from the Hamiltonian.
[0050] In some embodiments, the system comprises a classical processor configured to: upon determining that the change reduces the Hamiltonian energy, flip a second spin in the solution to a second alternative spin state to mitigate the error in the solution. The second spin is based on the first spin.
[0051] Optional features provided in relation to a described method, equally apply as optional features to the software, the first described system, as well as the other described methods and systems, and vice versa.
[0052] In comparison with the single-spin flipping methods that test and flip spin by spin, embodiments in this disclosure are advantageous in detecting and correcting simultaneous erratic states for coupled multiple spins. The single-spin flipping methods may not be able to detect and correct such errors by flipping spins one by one. This disclosure explicitly detects and corrects such cases and therefore corrects simultaneous errors of interacting spins.
[0053] In comparison with paired-solution methods that detect candidate erratic spins by comparing a pair of QC (quantum computing) results, the advantages of thedisclosed method include (1) more effective in correcting the same spin errors which exist in multiple solutions; (2) producing one error-mitigated solution from one quantum computing solution rather than one solution from a pair of QC solutions; (3) effective for problems with multiple optimal solutions. The methods that detect candidate erratic spins by comparing a pair of QC results assume that the spins which have the same states in both QC results are correct. This makes them ineffective for solutions with errors in common. This disclosure avoids such limitation by detecting potential erratic spin groups using the spin couplings defined in the Hamiltonian rather than using the QC solution data. This disclosure references spin couplings to correct spin errors solution by solution without requiring reference to other solutions, producing one error-mitigated solution from one QC solution. As this disclosure corrects errors solution by solution, it works equally well when the problem has multiple optimal solutions. The methods that detect candidate erratic spins by comparing a pair of QC results only keep one of the optimal solutions even if both solutions are optimal, which may reduce the statistical confidence of the solution.
[0054] In comparison with heuristic greatest gradient descent methods, our invention has the advantage in computational efficiency. The computational overhead in identifying the greatest gradient descent increases exponentially with the number of spin variables n as n! (n-factorial). That is, it is an NP-hard problem. Our invention goes through the local coupled spin groups to reduce the necessary computation effort, and the computational overhead grows asymptotically linearly with the number of spin variables for common combinatorial optimisation problems with finite coupling range.
[0055] A method for mitigating error of a solution from a quantum processor comprises performing by a classical processor the steps of receiving the solution from the quantum processor, wherein the solution comprises spin states of each of one or more spins corresponding to an outcome of performing a quantum computation on the quantum processor to minimise the Hamiltonian energy representing an optimisation objective function of the one or more spins; determining a test spin-group in the solution; determining changes to the Hamiltonian energy of the solution for one or more or each of alternative test spin-group states; and upon determining that at leastone change reduces the energy of the solution, determining one or more target spin- groups, and flipping at least one target spin-group of the one or more target spin-groups to an alternative target spin-group state to mitigate the error in the solution.
[0056] In some embodiments, the one target spin-group and the alternative target spin-group state correspond to a spin group in an ensemble of target spin-groups and its alternative spin-group state that provides a maximum reduction in the Hamiltonian energy of the solution.
[0057] In some embodiments, the method comprises determining the test spin-group by selecting from the groups of coupled spins containing or coupled to a reference spin, with a specified value range or up to a specified value for the numbers of spins in the groups.
[0058] In some embodiments, the test spin-group state is defined by the spin states of all spins in the test-spin group, and the alternative test spin-group state is defined by the spin states with each spin in the group at an alternative spin state; and the target spin- group state is defined by the spin states of all spins in the target-spin group, and the alternative target spin-group state is defined by the spin states with each spin in the group at an alternative spin state.
[0059] In some embodiments, the one or more target spin-groups contains groups of spins in which spins are coupled with each other in each group, and for which at least one spin in a group is coupled to or contains at least one spin in the test spin-group which reduces Hamiltonian energy when flipped, or is coupled to or contains the reference spin.
[0060] In some embodiments, the step of determining the one or more target spin- groups comprises selecting from the groups of spins with a specified value range or up to a specified value for the numbers of spins in the groups of spins.
[0061] In some embodiments, the selection of the reference spin is based on one or more of a random selection, a sequential selection and a predetermined order.
[0062] In some embodiments, the test spin-groups and / or the target spin-groups comprises indirectly coupled spins, the indirectly coupled spins being determined up to a predetermined coupling range.
[0063] In some embodiments, determining the change to the Hamiltonian energy comprises determining a difference between a present energy value and a flipped energy value of a test spin-group, the present and flipped energy values being local energy values of the test spin-group with a present spin-group state and the alternative test spin-group state, respectively, and the difference is indicative of the change to the Hamiltonian energy upon flipping the test spin-group; and determining a difference between the present energy value and a flipped energy value of a target spin-group, the present and flipped energy values being local energy values of the target spin-group with the present spin-group state and the alternative spin-group state, respectively, and the difference is indicative of the change to the Hamiltonian energy upon flipping the target spin-group.
[0064] In some embodiments, the method further comprises selecting the test spin- group from the ensemble of test spin-groups, and selecting the target spin-group from the ensemble of target spin-groups; wherein the respective selections are based on one or more of: a random order; a sequential order; a predetermined order; with a specified value range for the numbers of spins in groups of spins; sequential order for the numbers of spins in groups of spins; random order for the numbers of spins in groups of spins; based on a predetermined order for the numbers of spins in groups.
[0065] In some embodiments, the method further comprises iteratively determining the test spin-group in a previously error-mitigated solution; determining the change to the Hamiltonian energy indicative of flipping the test spin-group to one or more or each alternative test spin-group states; and upon determining that any change reduces theHamiltonian energy, flipping at least one target group of spins in the previous solution to the alternative target spin-group state; until a stop condition is satisfied.
[0066] In some embodiments, the method comprises selecting the test-spin group from an ensemble of test spin groups.
[0067] In some embodiments, the method further comprises iteratively selecting the reference spin from the one or more spins in a quantum computer returned solution or a previous error-mitigated solution; selecting the ensemble of test spin-groups as the groups of spins coupled to or containing the reference spin in the solution; determining the change to the Hamiltonian energy indicative of flipping one or more or each test spin-groups in the ensemble to one or more or each alternative test spin-group states; and upon determining that a change reduces the Hamiltonian energy, flipping at least one target spin-group in the solution to the alternative target spin-group state; until a stop condition is satisfied.
[0068] In some embodiments, the stop condition is one or more of a subset or each spin of the solution has been processed as reference spins; a subset or each configurations of coupled spin-groups of the solution has been processed; a subset or each configurations of coupled spin-groups in a specified range or up to a specified value for the numbers of spins in spin-groups of the solution has been processed; a subset or each value for the numbers of spins in the groups has been processed; a predetermined number of repetitions is reached; an absence of a spin-group flip that reduces the Hamiltonian energy for a subset or each spin-groups of the solution; a predetermined time limit is reached; in response to an interrupt; or satisfying a convergence condition.
[0069] In some embodiments, each of the one or more spins represents a variable of the Hamiltonian and each of the spin states represents a discrete value.
[0070] In some embodiments, the Hamiltonian represents an Ising spin-glass model or quadratic unconstrained binary optimisation (QUBO) model.
[0071] In some embodiments, the quantum processor is one or more of a quantum annealer; a quantum gate model processor; a quantum-classical hybrid computer; a simulated annealer; a processor for computing minimum or maximum value of an objective function; a virtual quantum processor; and a quantum processor simulator.
[0072] Provided is a method for mitigating error of a solution indicative of a ground- state of a Hamiltonian determined by a processor comprising multiple probabilistic bits (p-bits). The method comprises performing by a classical processor the steps of receiving a solution from the processor, wherein the solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a computation on the processor to minimise the optimisation objective function; for one or more test spin-groups in the solution, determining changes to a Hamiltonian energy indicative of flipping one or more or each test spin-groups to one or more or each alternative test spin-group states, the Hamiltonian energy being determined from the Hamiltonian; and upon determining that a change reduces the Hamiltonian energy, flipping at least one target spin-group in the solution to an alternative target spin-group state to mitigate the error in the solution.
[0073] Software, when installed on a classical processor and executed by the classical processor, causes the classical processor to perform the above method.
[0074] Provided is a system for mitigating error of a solution indicative of a ground- state of a Hamiltonian determined by a quantum processor, wherein the Hamiltonian represents an optimisation objective function and is a function of one or more spins. The system comprises a classical processor configured to receive a solution from the quantum processor, wherein the solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a quantum computation on the quantum processor to minimise the optimisation objective function; for one or more of test spin-groups in the solution, determine changes to a Hamiltonian energy indicative of flipping one or more or each test spin-groups to one or more or each alternative test spin-group states, the Hamiltonian energy being determined from the Hamiltonian; and upon determining that a change reduces the Hamiltonian energy,flip at least one target spin-group in the solution to an alternative target spin-group state to mitigate the error in the solution.
[0075] Provided is a system for mitigating error of a solution indicative of a ground- state of a Hamiltonian determined by a processor comprising multiple probabilistic bits (p-bits), wherein the Hamiltonian represents an optimisation objective function and is a function of one or more spins. The system comprises a classical processor configured to receive a solution from the processor, wherein the solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a computation on the processor to minimise the optimisation objective function; for one or more test spin-groups in the solution, determine changes to a Hamiltonian energy indicative of flipping one or more or each test spin-groups to one or more or each alternative test spin-group states, the Hamiltonian energy being determined from the Hamiltonian; and upon determining that a change reduces the Hamiltonian energy, flip at least one target spin-group in the solution to an alternative target spin-group state to mitigate the error in the solution.
[0076] Provided is a method for mitigating error of a solution indicative of a ground- state of a Hamiltonian determined by a quantum processor, wherein the Hamiltonian represents an optimisation objective function and is a function of one or more spins. The method comprises performing by a classical processor the steps of receiving the solution from the quantum processor, wherein the solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a quantum computation on the quantum processor to minimise the optimisation objective function; for a first spin of the one or more spins in the solution, determining a change to a Hamiltonian energy indicative of flipping the first spin to a first alternative spin state, the Hamiltonian energy being determined from the Hamiltonian; and upon determining that the change reduces the Hamiltonian energy, flipping a second spin in the solution to a second alternative spin state to mitigate the error in the solution, wherein the second spin is based on the first spin.
[0077] In some embodiments, method further comprises repeating the step of determining the change to the Hamiltonian energy for one or more or each of alternative spin states of the first spin as the first alternative spin state.
[0078] In some embodiments, the second spin is the first spin; and the second alternative spin state corresponds to the alternative spin state that provides a maximum reduction in the Hamiltonian energy.
[0079] In some embodiments, the method further comprises determining a group of spins comprising the first spin and zero or one or more of the spins coupled to the first spin; and determining a change to the Hamiltonian energy for one or more or each spins in the group, for one or more or each alternative spin states of the respective spins, wherein the second spin corresponds a spin from the group of spins and the second alternative spin state corresponds to the alternative spin state that provides a maximum reduction in the Hamiltonian energy.
[0080] In some embodiments, the group of spins comprises indirectly coupled spins, the indirectly coupled spins being determined up to a predetermined coupling range.
[0081] In some embodiments, determining the change to the Hamiltonian energy comprises determining a difference between a present energy value and a flipped energy value, the present and flipped energy values being a local energy value of the first spin with a present spin state and the first alternative spin state, respectively, and the difference is indicative of the change to the Hamiltonian energy upon flipping the first spin.
[0082] In some embodiments, determining the change to the Hamiltonian energy comprises determining a difference between the present energy value and a flipped energy value of a spin in the group of spins, the present and flipped energy values being local energy values of the spin in the group of spins with the present spin state and the alternative spin state, respectively, and the difference is indicative of the change to the Hamiltonian energy upon flipping the spin in the group of spins.
[0083] In some embodiments, the method further comprises selecting the first spin from the one or more spins in the solution randomly; sequentially; or based on a predetermined order.
[0084] In some embodiments, the method further comprises iteratively selecting the first spin from the one or more spins in a previous solution; determining the change to the Hamiltonian energy indicative of flipping the first spin to the first alternative spin state; and upon determining that the change reduces the Hamiltonian energy, flipping the second spin in the previous solution to the second alternative spin state; until a stop condition is satisfied.
[0085] In some embodiments, the stop condition is one or more of a subset or each of the one or more spins of the solution has been processed; a predetermined number of repetitions is reached; absence of a spin flip that reduces the Hamiltonian energy for a subset or each of the one or more spins; a predetermined time limit is reached; in response to an interrupt; or satisfying a convergence condition.
[0086] In some embodiments, selecting the first spin from the one or more spins in the previous solution comprises selecting the first spin randomly, sequentially or based on a predetermined order.
[0087] In some embodiments, the first spin comprises one or more groups of spins, each group comprising one or more spins, and wherein the spins in each group are coupled directly or indirectly with each other.
[0088] In some embodiments, the first spin state comprises the spin states of each of the multiple spins corresponding to the first spin, and the first alternative spin state comprises the alternative spin states of each of the multiple spins in any group corresponding to the first spin.
[0089] In some embodiments, the second spin comprises one or more groups of spins, each group comprising one or more spins, and wherein the spins in each group are coupled directly or indirectly with each other.
[0090] In some embodiments, the second spin state comprises the spin states of each of the multiple spins corresponding to the second spin, and the second alternative spin states comprises the alternative spin states of each of the multiple spins in any group corresponding to the second spin.
[0091] In some embodiments, each of the one or more spins represents a variable of the Hamiltonian and each of the spin states represent a discrete value.
[0092] In some embodiments, the Hamiltonian represents an Ising spin-glass model or quadratic unconstrained binary optimisation (QUBO) model.
[0093] In some embodiments, the quantum processor is one or more of a quantum annealer; a quantum gate model processor; a quantum-classical hybrid computer; a virtual quantum processor; and a quantum processor simulator.
[0094] Provided is a method for mitigating error of a solution indicative of a ground- state of a Hamiltonian determined by a processor comprising multiple probabilistic bits (p-bits). The method comprises performing by a classical processor the steps of receiving the solution from the processor, wherein the solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a computation on the processor to minimise the optimisation objective function; for a first spin of the one or more spins in the solution, determining a change to a Hamiltonian energy indicative of flipping the first spin to a first alternative spin state, the Hamiltonian energy being determined from the Hamiltonian; and upon determining that the change reduces the Hamiltonian energy, flipping a second spin in the solution to a second alternative spin state to mitigate the error in the solution, wherein the second spin is based on the first spin.
[0095] Software, when installed on a classical processor and executed by the classical processor, causes the classical processor to perform the above method.
[0096] Provided is a system for mitigating error of a solution indicative of a ground- state of a Hamiltonian determined by a quantum processor, wherein the Hamiltonian represents an optimisation objective function and is a function of one or more spins. The system comprises a classical processor configured to receive the solution from the quantum processor, wherein the solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a quantum computation on the quantum processor to minimise the optimisation objective function; for a first spin of the one or more spins in the solution, determine a change to a Hamiltonian energy indicative of flipping the first spin to a first alternative spin state, the Hamiltonian energy being determined from the Hamiltonian; and upon determining that the change reduces the Hamiltonian energy, flip a second spin in the solution to a second alternative spin state to mitigate the error in the solution, wherein the second spin is based on the first spin.
[0097] Provided is a system for mitigating error of a solution indicative of a ground- state of a Hamiltonian determined by a processor comprising multiple probabilistic bits (p-bits), wherein the Hamiltonian represents an optimisation objective function and is a function of one or more spins. The system comprises a classical processor configured to receive the solution from the processor, wherein the solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a computation on the processor to minimise the optimisation objective function; for a first spin of the one or more spins in the solution, determine a change to a Hamiltonian energy indicative of flipping the first spin to a first alternative spin state, the Hamiltonian energy being determined from the Hamiltonian; and upon determining that the change reduces the Hamiltonian energy, flip a second spin in the solution to a second alternative spin state to mitigate the error in the solution, wherein the second spin is based on the first spin.Brief Description of Drawings
[0098] An example will now be described with reference to the following drawings:
[0099] Fig.1 illustrates a system for mitigating error in a solution from a quantum processor.
[0100] Fig.2a illustrates a method for mitigating error in a solution from a quantum processor.
[0101] Fig.2b illustrates examples of ensembles of coupled groups of spins containing reference spins.
[0102] Fig.3 illustrates a process flow diagram for an example method of Example 1.
[0103] Fig.4 illustrates a process flow diagram for an example method for generating an optimisation solution.
[0104] Fig.5 illustrates the average QPU read time per successful optimisation using the disclosed method for up to 3-spin groups versus the number of DCM spins for Experimental example 1, in comparison with alternative error mitigation methods, including for quantum annealing (QA) without error-mitigation, for QA and 2- iterations applications of single-spin flipping error mitigation method, and for QA and paired-solution error mitigation after the single-spin flipping error mitigated results.
[0105] Figure 6 compares distributions of the DCM objective function value. (a) Quantum annealing without error mitigation. (b) Quantum annealing with single-spin flipping error mitigation method. (c) Quantum annealing with paired-solution error mitigation method after the single-spin flipping error-mitigated solutions. (d) Quantum annealing with the disclosed method up to 3-spin groups.Description of Embodiments
[0106] The present disclosure provides a system, method and software for mitigating the erratic spin states in the computed ground-state of a Hamiltonian. As such, the present disclosure provides a system, method and software for error mitigation of solutions for optimisation problems, such as combinatorial optimisation problems, obtained from quantum computers. In particular, the disclosure provides a classical and quantum hybrid computing technique that may deliver a higher accuracy and / or efficiency solution for particular optimisation problems, e.g., higher accuracy and / or efficiency than using quantum or classical computing alone.
[0107] One example of an optimisation problem is solving a quadratic unconstrained binary optimisation (QUBO) problem. A QUBO problem may also be expressed in Ising spin-glass format. The QUBO or Ising spin-glass problem may be formulated as computing the ground-state of a quantum Hamiltonian. A QUBO or Ising spin-glass problem may be readily solved with a quantum annealer or a gate-model quantum computer. Similarly, problems for spins with D discrete states may be formulated as quadratic unconstrained D-ary optimisation (QUDO), which is a generalisation of QUBO and it is equally applicable to the disclosed method and system. Mathematically, the above examples are in second-order polynomial forms. The optimisation problems that can be solved using a quantum annealer or other forms of quantum computing are not restricted to the second-order polynomials. They may have higher-order terms or other functional forms. The disclosed method and system are equally applicable to these problems.
[0108] This disclosure enables the use of quantum computers for solving complex optimisation problems with high accuracy and / or efficiency. In principle, the problem of noise error influence may be reduced by using error-corrected logical qubits, such as quantum error correction below the surface code threshold, to represent the spins. However, a large number (such as up to the order of 1000 or more, depending on the level of error correction) of physical qubits may be involved to construct an error-corrected logical qubit, such that the error rate is at an acceptable level. This significantly restricts the size of the problem that a quantum computer may solve.
[0109] The method described herein benefits, in particular, quantum annealers, where a QPU with a large number of qubits may be manufactured. However, the impact of qubit error means there may be limited practical benefit in having more than a few thousand qubits, for example. This disclosure may be able to mitigate the error for a quantum annealer, thereby enabling a quantum annealer with more qubits to be practically useful. This may also benefit gate-model quantum computers with a large number of qubits.
[0110] This disclosure provides a method to identify spins that may be in erratic states in a solution from a quantum processor and may correct them by flipping the spins to their correct states, producing an error-mitigated solution. In other words, if the solution returned by the quantum processor does not correspond to the lowest total energy, states of one or more spins may be flipped so that the Hamiltonian would take a lower energy. The detection of the erratic spin states may be accomplished with a classical processor. A classical processor may be a physical or virtual processor. The solution to the underlying optimisation problem is produced after such mitigation is completed. As such, this disclosure provides a method for improving a solution received from a quantum processor by finding an improved solution with total Hamiltonian energy value being less than or equal to the originally received solution.
[0111] For problems with small number of interacting couplings per spin, the required classical computation is moderate. Considering that a standard desktop or laptop computer central processing unit (CPU) is capable of tens of billions of FLOPs per second, and that the quantum processing unit (QPU) time is typically the order of 100 microseconds per solution, with the disclosed methods, the overall computing time increase per solution is small or moderate, while the increase for the probability of obtaining an optimal solution is significant. The impact on overall computing time is less if a higher performance classical computer is used, such as when a workstation oran HPC CPU cluster is used. This emphasises the benefit of the disclosed system and method.
[0112] When the density of erratic spins (ratio between the incorrect and the total numbers of spins in a solution) is low, such that there is negligible likelihood of two or more erratic spin-groups occurring within the coupling range of the Hamiltonian, the qubit errors may be corrected effectively using the disclosed method, and the classical processing overhead scales asymptotically linearly with the problem size. The overall QPU+CPU time would be linearly or sub-linearly proportional to the problem size. In contrast, if only QPU or CPU is used, the solution time would scale exponentially with the problem size.
[0113] Fig.1 illustrates an example system 100 for mitigating error of a solution indicative of a ground-state of a Hamiltonian determined by a quantum processor 101. In example system 100, quantum processor 101 comprises multiple qubits 102. While system 100 and the methods disclosed herein are not limited to a quantum processor comprising multiple qubits, the following disclosure is directed towards quantum processor for simplicity. It is noted that the disclosed system and method may be equally applicable to processors which are quantum processor simulator or comprise multiple p-bits or qudits.
[0114] Probabilistic computers utilise probabilistic bits (p-bits) that may be naturally capable of fluctuating between discrete states. P-bits are distinct from quantum computer bits (qubits), which may be in a superposition of multiple quantum states. Qudits, on the other hand, are a generalisation of qubits (higher-order qubit), in which a qudit may be capable of superposition of more than two quantum states.
[0115] The structure or arrangement of the multiple qubits 102 in quantum processor 101 in Fig.1 is a simplified illustration to assist understanding and may or may not be related to the topology or architecture of quantum processor 101. Quantum processor 101 comprises one or more physical or logical qubits 102. In the example shown in Fig. 1, the multiple qubits 102 are illustrated in the form of a 5-by-3 array of qubits.
[0116] It is understood that quantum processor 101 comprising multiple qubits 102 is implemented as a quantum annealer or quantum gate model computer. Example of quantum computers which may benefit from the disclosed method include but not limited to D-Wave's quantum annealers for quantum annealing, Google’s, IBM’s, or Rigetti’s quantum gate model computers, or NEC’s quantum inspired vector annealers or Toshiba’s Simulated Bifurcation Machine (SBM).
[0117] System 100 comprises a device 103, which may be a physical classical processor, such as a logical chip, a desktop computer, a laptop computer, a workstation, an HPC CPU cluster, or other digital processing devices such as a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC) or a special purpose chipset implementation, a virtual processor such as a cloud computer, a virtual desktop, or the like. Device 103 may be a stand-alone and dedicated classical processor which performs the methods described herein, which a user interacts with via a separate user device (through an application programming interface (API), for example). Device 103 may also be a personal user device, which the user interacts with directly.
[0118] Device 103 comprises processor 104. Device 103 may comprise a non-volatile memory 105 and / or a volatile memory 106. Processor 104 may communicate with non- volatile memory 105, that refers to computer storage which retains its stored information even when power is lost such as an optical disk drive, hard disk drive, solid-state drive, flash memory, storage server or cloud storage, or volatile memory 106, that refers to computer storage which requires a continuous power supply to maintain its stored information. Volatile memory is often used as cache or RAM. Non- volatile memory 105 is a non-transitory computer readable medium, such as a magnetic hard drive, a solid-state disk or DVD or CD-ROM.
[0119] Although one processor 104 is illustrated in Fig.1, it is understood that it may be configured as a collection of one or multiple processors (i.e., CPU cores or CPU nodes). It also includes other logical or arithmetic processing devices, including but not limited to math co-processors and graphical processing units (GPUs). Likewise, the non-volatile memory 105 and volatile memory 106 represent collections of memoryeither shared by multiple CPU cores, shared by multiple CPU nodes, dedicated to a particular group of one or multiple CPU cores, or dedicated to a group of one or multiple CPU nodes.
[0120] However, it is noted that device 103 may have different internal design and construction from what is depicted in Fig.1, and it may be physical or virtual. In essence, device 103 may be a collection of physical or virtual logic gates, such that it performs the disclosed method.
[0121] In some embodiments, device 103 may be a dedicated error-mitigation device, such as classical computer, part of a CPU cluster (such as a high-performance CPU cluster, for example) or a cloud instance. It may be integrated with quantum processor 100 or shared with a user computer CPUs. As such, system 100 may additionally comprise a user device (not shown), which communicates with quantum processor 101 and / or device 103. For example, user device may be used to specify the problem to be solved and to communicate the quantum computing parameters indicative of the problem to quantum processor 101. User device may also communicate error- mitigation parameters to device 103, while device 103 may communicate an error- mitigated solution to user device. Device 103 may receive a solution from quantum processor 101, while the user device may or may not receive the solution directly from quantum processor 101.
[0122] In some embodiments, device 103 may be part of a user device such as a laptop, a desktop, a workstation, a CPU cluster, or a cloud computing instance. Device 103 may perform functions indicative of an error-mitigation device and a user device, as described above. In other words, the error-mitigation device and user device described above may collectively form device 103. For example, a user may use device 103 to specify the problem to be solved and device 103 may communicate the quantum computing parameters indicative of the problem to quantum processor 101.
[0123] Software, that is, a set of executable instructions programmable in processor 104 to perform methods for mitigating error of a solution indicative of a ground-state ofa Hamiltonian determined by a quantum processor 101. Software, that is, an executable program may be stored on non-volatile memory 105 or volatile memory 106 and, once executed, causes processor 104 to perform methods for mitigating error. For example, once executed, the software causes processor 104 to receive the solution from quantum processor 101, determine a change to a Hamiltonian energy indicative of flipping the test spin group and then (conditionally) flip a target spin group in the solution to an alternative target spin-group state. In some examples, software can be hard coded in processor 104, such as in the case of a FPGA or ASIC, or be loaded at run time, such as in a desktop or cloud computer, for example.
[0124] Non-volatile memory 105 or volatile memory 106 may store the solution from quantum processor 101 for later use. It is noted that the solution received from quantum processor 101 may be a discrete digital format corresponding to an outcome of performing a quantum computation on quantum processor 101. More specifically, the solution may be indicative of the ground-state of a Hamiltonian and comprises spin states of the Hamiltonian. The state of a spin may be based on a measurement of one or more of the multiple qubits 102. Non-volatile memory 105 or volatile memory 106 may also store an error-mitigated solution after performing the disclosed method on the solution received from quantum processor 101.
[0125] Non-volatile memory 105 or volatile memory 106 may store the Hamiltonian that represents the optimisation problem to be solved using the disclosed method. For example, non-volatile memory 105 or volatile memory 106 may store the Hamiltonian by storing the coefficients of the terms (e.g., terms of a particular polynomial or other such functional form). Non-volatile memory 105 or volatile memory 106 may also store any number of Hamiltonian energy values that are determined or calculated during the disclosed method. Processor 104 may then retrieve any number of the Hamiltonian energy values for comparison in the disclosed method or any other intended use. Processor 104 may store the solution on non-volatile memory 105 or volatile memory 106. Processor 104 may access the data from the non-volatile memory 105 or volatile memory 106, such as by providing a read signal and a memory address.
[0126] System 100 comprises a classical-quantum communication interface device 107 between device 103 and quantum processor 101. In some examples, interface device 107 may be implemented as an application programming interface (API) which enables bidirectional communication between device 103 and quantum processor 101. After quantum processor 101 has performed the computation, quantum processor 101 may then communicate the result of the computation to device 103 via interface device 107. After completing the error-mitigation computation on device 103, device 103 may output the solution to the user program. Interface device 107 may be implemented as a data bus, or a local or cloud network.
[0127] While only one device 103 is depicted in Fig.1, there may be a network of multiple devices that may communicate with each other and with quantum processor 101. System 100 may be located at various physical or virtual locations. Such as, processor 104 may be co-located or integrated with the quantum processor 101 or processor 104 may reside in the cloud or on a user desktop.
[0128] A user may interact with device 103 in order to define the error-mitigation optimisation problem to be solved by the disclosed system. For example, a QUBO- represented Hamiltonian that represents the optimisation problem may be defined using the coefficients of the diagonal and off-diagonal terms in the Hamiltonian. In some examples, a user may interact with device 103 via an API. The API may be configured to accept parameters input from the user programming instructions. For example, a user may provide parameters defining how the test spin-group is selected from the solution.
[0129] Device 103 may further comprise an I / O port 108, which enables device 103 to establish a communication between interface device 107 and thus, quantum processor 101, via that interface device 107. For example, interface device 107 may send the solution to device 103 via I / O port 108 by using a RF or microwave signal. Device 103 and interface device 107 may also communicate via I / O port 108 using a wired connection, such as Ethernet. System 100 may further be implemented within a cloud computing environment, such as a managed group of interconnected servers hosting a dynamic number of virtual machines. Although I / O port 108 is shown as asingle entity, it is to be understood that any kind of data channel may be used to receive and / or send data, such as a TCP / IP network connection, a data bus, a pin of the chip package of processor 104, or logical ports, such as IP sockets.
[0130] Quantum processor 101 may further comprise an I / O port 109, which enables quantum processor 101 to establish a communication between interface device 107 and thus, device 103. I / O port 109 of quantum processor 101 may be similar and have similar functionality to I / O port 108 of device 103. Although I / O port 109 is shown as a single entity, it is to be understood that any kind of data channel may be used to receive and / or send data.
[0131] After processor 104 performs the disclosed methods of error-mitigation, processor 104 provides the error-mitigated solution to solution output 110. For example, solution output 110 may be provided to the user through an API, a data bus or a network or a file system. In another example, solution output 110 may be provided to the user through a screen or monitor via a graphical user interface.
[0132] It is noted that system 100 of Fig.1 is only meant to illustrate an example system which is capable of performing the disclosed method. Many other configurations of system 100 may equally perform the disclosed method.
[0133] Fig.2a illustrates method 200 for mitigating error of a solution indicative of a ground-state of a Hamiltonian that has been determined by quantum processor 101. The Hamiltonian represents an optimisation objective function and is a function of one or more spins. The Hamiltonian may be the same as the original objective function used to describe the optimisation problem, or the Hamiltonian may be re-formulated to represent the original objective function.
[0134] Fig.2a is to be understood as a sub-workflow for the software program and may be implemented step-by-step, such that each step in Fig.2a is represented by a function in a programming language, such as Python, C++, Java or other programming languages. The resulting source code may be then compiled and stored as computer-executable instructions on non-volatile memory 105 or volatile memory 106, which causes processor 104 to perform method 200.
[0135] It is to be understood that the reference to “spin” in this disclosure is, broadly stated, an operator or a discrete mathematical variable of the Hamiltonian, and may not be restricted to the quantum mechanical spin of a particle. For example, an Ising spin- glass Hamiltonian function, simply referred to as “Hamiltonian” herein, may be of the formH =^ h i s i + ^ J ij s i s j and the “spins” refer to the quantities s i . In other words,i i^jeach of the one or more spins may represent a variable of the Hamiltonian and each of the spin states may represent a discrete value.
[0136] In some examples, the Hamiltonian may be represented by an Ising spin-glass model or a QUBO representation. For these problems, the Hamiltonian may be provided as a second-order polynomial of discrete spins. However, the Hamiltonian is not limited to the second-order polynomials and may be a higher-order polynomial or other functional forms. In other words, the Hamiltonian may have any functional form and may not be limited to a polynomial.
[0137] Quantum computing solutions are represented by measured spin state values. After completion of quantum computation, each “spin” in the Hamiltonian may be in one of multiple spin states. For example, a “spin” in the Hamiltonian may numerically be one of multiple discrete spin states 0, ±1, ±2,…. In this example, the spin states may be referred to as “numerical spin state” or “measured spin state”. The common notation is that a spin takes symmetric values, such as (-1, 0, 1). However, the term “spin” in this disclosure may refer to both spin common notation and other discrete variables. The spin states may be represented in a form other than a numerical representation, such as textual or symbolic representation. For example, in the case of binary spins, the spin states may be “spin up” and “spin down”, |↑> and |↓>, or “A” and “B”.
[0138] It is noted that while this disclosure generally describes the spins of the Hamiltonian as having discrete spin states, the disclosed method is applicable to spinstaking practically continuous rather than discrete values. As such, the optimisation problem may not necessarily be a combinatorial optimisation problem. For example, when the number of spin states are very large, it may be considered to be practically continuous and hence, optimisation problems which use continuous variable may be solved and the solutions may be error-mitigated using the methods described herein.
[0139] An example of discrete optimisation problem in material science is the data- constrained modelling (DCM) of discrete material compositions. DCM minimises the difference between the modelled and the X-ray CT measured linear attenuation coefficients and maximise the statistical physics Boltzmann distribution probability.
[0140] An additional example of discrete optimisation is the max-cut problem in finance, logistics and network optimisation, such as the power network or the communication network. The goal of the max-cut problem is to partition the vertices of a graph into disjoint sets such that the number or weight of edges to cut between the sets is maximised.
[0141] Another example of discrete optimisation problem is the travelling salesman problem for logistics, manufacturing, network design, DNA sequencing, robotics and route optimisation which asks the following question: Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?
[0142] It is noted that the discrete optimisation problems may have multiple optimal solutions which are equally good, which require a user to decide about which optional solution to use. It is also noted that many problems may be formulated as an optimisation problem, such as, but not limited to machine learning (ML), artificial intelligence (AI), materials modelling, process optimisation, logistics, scheduling, path planning and image processing.
[0143] Large combinatorial optimisation problems may be “NP-hard” problems, which are difficult for classical computing hardware to solve with the “brute force”approach of enumerating all possible solutions to determine the optimal solution. The difficulty increases exponentially with the number of variables. Using classical computers, such problems are commonly solved with heuristic approaches, such as the steepest gradient descent (SGD) method, greedy algorithms, or simulated annealing (SA). Those classical computing techniques may converge to local minimum rather than the desirable global minimum for an optimal solution.
[0144] To take advantage of quantum computing, solutions to optimisation problems may be formulated as computing the ground-state of Hamiltonians (which may be referred to as the problem Hamiltonians). In quantum mechanics, the Hamiltonian of a system is the total energy operator of that system. In this disclosure, The HamiltonianH is a function of discrete spins operators or variables s i :H( s 1 , s 2 , s 3 ,..., sN ) , wheresi ( i= 1,2,..., N ) takes discrete values (such as 0, ±1, ±2, …, or 0, 1, 2, 3, …). The statewith the lowest total energy is referred to as the ground-state of the Hamiltonian. It is noted that a goal of performing a quantum computation, such as quantum annealing, on quantum processor 101 is to find the ground-state of the Hamiltonian representing the optimisation problem to determine the optimal solution of the optimisation problem. In this disclosure, the total energy value may be referred to as the Hamiltonian energy or Hamiltonian energy value.
[0145] Processor 104 receives 201 such a solution from quantum processor 101. The solution comprises spin states of each spin in the Hamiltonian and corresponds to an outcome of performing a quantum computation on the quantum processor to minimise the optimisation objective function value. In other words, the solution comprises spin states for every spin in the Hamiltonian. As will be appreciated, however, the solution may comprise zero, one or multiple spins taking incorrect spin states indicative of spins that may be in erratic states due to noise or other influences, which may result in a solution that has not been optimised.
[0146] It is noted that processor 104 may receive 201 the solution from quantum processor 101 indirectly when performing method 200, rather than directly fromquantum processor 101. For example, non-volatile memory 105 or volatile memory 106 may store a solution that have been previously received from quantum processor 101 or may have been communicated to device 103 by other means. As such, processor 104 may receive the solution from non-volatile memory 105 or volatile memory 106 and then perform the remaining steps of method 200.
[0147] The outcome of performing a quantum computation on quantum processor 101 may be related to the measured states of each of the multiple qubits 102. Each of the multiple qubits 102 may be in a super-positioned state of |0> and |1> before, during and after performing the quantum computation on quantum processor 101. Spins in the Hamiltonian may be represented by one or more of the multiple qubits 102. Hence, a solution corresponding to a spin states of each spin in the Hamiltonian may be determined based on the measured outcome of the multiple qubits 102 at the completion of the computation.
[0148] The quantum computation may be quantum adiabatic computing or quantum annealing, if quantum processor 101 is a quantum annealer. One implementation ofquantum annealing is to use an initial Hamiltonian H 0( s 1 , s 2 ,...) such that its ground-state is known and start the system at this ground-state. After setting up the initial state using the initial Hamiltonian, this initial state adiabatically evolves slowly to the state of the Hamiltonian representing the optimisation problem according to the adiabatic theorem. The idea is that by setting up the initial ground-state and evolving the state by slowly introducing the problem Hamiltonian, the state will remain at the ground-state during the evolution. As such, after completing the annealing process, ideally the final state is the ground-state of the Hamiltonian which corresponds to the solution of the optimisation problem.
[0149] The quantum computation may be a variational quantum eigen-solver (VQE) or a quantum approximate optimisation algorithm (QAOA), if quantum processor 101 is a quantum gate model and classical processor hybrid computer. VQE is an algorithm based on variational method of quantum mechanics, whereas QAOA relies on the useof unitary operators which are iteratively applied on a state that is an equal-weighted quantum superposition of all the possible states in the computational basis.
[0150] The spins of the Hamiltonian may be represented by one or more of the multiple qubits 102. As such, the Hamiltonian may be programmed onto the multiple qubits of quantum processor 101. In some examples, the Hamiltonian may be represented by a Ising spin-glass model, for which the discrete spin states are conveniently represented as -1 and +1. In another example, the Hamiltonian may be represented by a QUBO, for which the discrete spin states are conveniently represented as 0 and 1. It is noted that in these examples, both representations are mathematically equivalent. In the examples where the Hamiltonian is represented by an Ising spin-glass model or QUBO, the spins of the Hamiltonian are binary spins.
[0151] In one example, quantum processor 101 is a quantum annealer and maycontain four qubits q1, q 2, q 3 a nd q 4 , and the Hamiltonian may contain three spinss1, s 2 and s 3 . The first spin of the Hamiltonian may be represented on the first twoqubits of quantum processor 101, i.e.,q 4. Theseembeddings can be formulated based on the specific optimisation problem to be solved, the topology and architecture of quantum processor 101. For example, a Hamiltonian containing three spins may need to be embedded on four qubits if the architecture of quantum processor 101 does not readily allow three qubits to couple to each other directly.
[0152] If quantum processor 101 is a quantum annealer, after an embedding scheme is determined based on the problem Hamiltonian and the QPU topology, the optimisation problem may be mapped on quantum processor 101 by applying appropriate physical biases and coupling between qubits. If quantum processor 101 is a quantum gate model computer, performing the quantum computation may involve applying a sequence of unitary and other operators.
[0153] In any event, the solution (potentially including errors) can be passed to (received by) processor 104. After receiving 201 the solution from quantum processor 101, processor 104 performs spin flipping to find a better solution. Spin flipping in this context means changing the value of the discrete spin variable. In the example of binary spin variables, this means changing the variable from 1 to 0 or from 0 to 1. For other discrete spin variables, this means changing the variable from the current value to any one of the other possible values.
[0154] It is noted that a “spin” may be represented by a one spin and two coupled spins. In this example, the spin may be in a one spin state “0” or two spin state of “01” and hence, the possible alternative spin states would be ”1” and “10”. Processor 104 may test one or more of these alternative spin states to determine an alternative spin state that reduces the Hamiltonian energy. Processor 104 may determine that the alternative spin state “10” produces the maximum reduction of the Hamiltonian energy and hence, processor 104 may flip the first spin from “01” to “10”. Such a two spin state is referred to as a “spin group state” and the corresponding set of spins is referred to as a “spin group”, which can include more than two spins.
[0155] More specifically, processor 104 determines 202 an ensemble of test spin groups. Then, for one or more or each test spin-group of the spins in the solution, processor 104 determines 203 a change to a Hamiltonian energy indicative of flipping the test spin-group to alternative test spin-group states. An alternative spin-group state may be any one of multiple spin group states of the test spin-group that is different to the spin-group state of the test spin-group in the solution (which may be referred to as the current spin-group state or the present spin-group state of the test spin-group).
[0156] The Hamiltonian energy is based on the particular Hamiltonian describing the optimisation problem. As such, the Hamiltonian energy may be determined from the Hamiltonian. For example, the Hamiltonian energy may be calculated using the Hamiltonian. In another example, the Hamiltonian energy may be determined by accessing a data table (i.e., a “look-up” table) based on the particular Hamiltonian (e.g.,the data table may be a database of previously calculated Hamiltonian energies). The data table may be stored on non-volatile memory 105 or volatile memory 106.
[0157] As an example of flipping a test spin-group to an alternative spin-group state, if the solution comprises a numerical representation of multiple binary spins such as a QUBO representation, one of the multiple spin-groups may be in the spin-group state “01”. As such, flipping this spin-group to an alternative spin-group state would correspond to changing “01” into “10”. It is noted that when determining 203 a change to the Hamiltonian energy, that change is “indicative of” flipping the test spin-groups, which means that the spin-group state of the spin-group is not actually “flipped”, rather processor 104 determines the change in the Hamiltonian energy if the spin-group were to be flipped to an alternative spin-group state. In this sense, processor 104 determines a sensitivity, derivative, or potential of the Hamiltonian energy with respect to the test spin-group. This sensitivity, derivative, or potential may be determined qualitatively as being positive or negative, rather than a quantitative value.
[0158] In some embodiments, processor 104 determines 203 a change to a Hamiltonian energy by performing logical operations, using principles such as sum of two positive numbers is positive; sum of two negative numbers is negative, multiplication of any number with zero is zero, multiplication of any number with 1 is the same number; multiplication of two numbers of opposite signs is negative, multiplication of two numbers of the same sign is positive. In other embodiments, processor 104 may determine the change in Hamiltonian energy by accessing a data table (i.e., a “look-up” table) stored on non-volatile memory 105 or volatile memory 106. In further embodiments, processor 104 determines 203 a change to a Hamiltonian energy by calculating the change using the Hamiltonian (or part thereof).
[0159] It is noted that “optimisation objective function” may also be referred to simply as “objective function” in this disclosure. Further, in this disclosure, determining 203 a change to a Hamiltonian energy indicative of flipping a test spin- group to an alternative spin-group state and determining whether the change decreases the Hamiltonian energy may be referred to as “processing” the test spin-group or“testing” the test spin-group. The test spin-group may be selected from the one or more spins of the solution which are coupled to a reference spin which is selected at random or in other order.
[0160] The goal of determining 203 a change to the Hamiltonian energy is to determine whether there are erratic spins caused by noise or other factors (e.g., local erratic spin errors). As such, if the determined change in Hamiltonian energy is found to decrease, this may indicate that either the spin-group being “tested” is erratic or there is a spin-group nearby that is erratic. Such nearby spin-group could be a spin-group that is coupled to the test spin-group, for example. Determining such an erratic spin-group enables error in the solution to be mitigated or otherwise improved upon as the erratic spin-group may be addressed by flipping its spin-group state to an alternative spin- group state that leads to a reduction of the Hamiltonian energy (e.g., a maximum reduction).
[0161] It is noted that the disclosed method is not limited to binary spins, such as in the QUBO representation. In other words, some of the one or more spins of the Hamiltonian may have more than two spin states. For example, some of the one or more spins may have one of three spin states represented by three numerical values, e.g., (-1, 0, 1), (0, 1, 2) or (1, 2, 3). As such, for a test spin-group of the one or more spins in the solution, processor 104 may determine 203 a change to a Hamiltonian energy indicative of flipping the test spin-group to one or more or each alternative spin- group state. If processor 104 determines a decrease to the Hamiltonian energy from at least one of the alternative spin-group states, this indicates that there may be an erratic spin-group which may be appropriately corrected.
[0162] It is noted that processor 104 may not determine 203 a change to a Hamiltonian energy indicative of flipping the test spin-group to each alternative spin- group state. Instead, processor 104 may only determine 203 a change for one or more alternative spin-group states, rather than determining 203 the change for each alternative spin-group state. In other cases, processor 104 may determine 203 a change to the Hamiltonian energy for each alternative spin-group states.
[0163] As an example of determining 203 a change to a Hamiltonian energy indicative of flipping the test spin-group to each alternative spin-group states, consider the example where each of the one or more spins in the Hamiltonian has the possible spin states: (0, 1, 2). One of the 2-spin-groups in the solution may be in a spin-group state “01”, and hence processor 104 determines 203 the change in Hamiltonian energy indicative of flipping the “01” to the each of the four-alternative spin-group states “10”, “12”, “20” and “22”, thereby determining 203 four changes to the Hamiltonian energy. However, it is noted that, processor 104 may or may not always determine changes to the Hamiltonian energy for each of the alternative spin-group states of the test spin- group. As an example, for some embodiments, processor 104 may randomly select one of the alternative spin-group states of the test spin-group and determine the changes to the Hamiltonian energy.
[0164] As the outcome of performing the quantum computation on quantum processor 101 is an array of qubit measurement states (0 or 1), there may be an embedding which is used to return the array of qubit measured states to an array of discrete spins. For example, the Hamiltonian may comprise three spins, but may be embedded (which may be referred to as “encoded”) on four qubits. Hence, the solution received 201 from quantum processor 101 may be an “unembedded” solution comprising the output of each of the four qubits. Processor 104 or interface device 107 may then “unembed” the embedded solution to determine an “unembedded” solution corresponding to the values of each of the four qubits. Processor 104 may then determine 203 the change to the Hamiltonian energy for a test qubit-group in the “unembedded” solution. The disclosed method is applicable with the test qubit-group in place of test spin-group, and target qubit-group in place of target spin-group.
[0165] Upon determining that the change reduces the Hamiltonian energy, processor 104 determines one or more target spin-groups, which may also be referred to as an ensemble of target spin-groups. Fig.2b illustrates Hamiltonian functions of spins solved on quantum processor 250 comprising multiple spins (illustrated as solid discs). Some spins are coupled to each other as indicated by lines connecting the discs. A pair of spins are coupled when there is a non-zero interaction between them as defined inthe Hamiltonian. The coupling of the spins forms one or more groups, which can also be represented as spin-groups. In this example, up to three spins in a group which contains the spin 18, the ensemble of spin-groups comprises the spin-groups {18}, {11,18}, {18,19}, {18,25}, {11,18,19}, {11,18,25}, {19,18,25}, {10,11,18}, and {18,19,20}. For this example, spin 18 is the reference spin or the part of the test spin- group which reduced the Hamiltonian energy. As another example, up to three spins in a group which contains spin 16, the ensemble comprises spin-groups {16} and {16,17}. As a further example, up to three spins in a group which contains spin 26, the ensemble comprises only one spin-group {26}. It is not necessary that the spin groups are disjoint in the sense that each spin can belong to more than one spin groups.
[0166] Processor 104 then selects a target spin-group from the ensemble and flips 204 at least one target spin-group in the solution to an alternative target spin-group state to mitigate the error in the solution. Processor 104 may determine the ensemble of target spin-groups as groups of coupled spins which are coupled to or containing a reference spin or at least one spin in the test spin-group. For example, if the solution was a linearly array of binary qubits e.g., 00110, and it was determined that the change in the Hamiltonian energy indicative of flipping spin-3 reduces the Hamiltonian energy, processor 104 may determine spin-groups {2,3}, {3}, and {3,4} as ensemble of target- spin groups. Processor 104 may flip 204 the spin-group {2,3} to its alternative spin- group state for maximum reduction of the Hamiltonian energy, and the error-mitigated solution would correspond to the solution received 201 from quantum processor 101 with the flipped spin-group state, i.e., 01010. In this example, the target spin-group is different from the test spin-group. Groups being different means that they do not contain exactly the same spins. However, groups that are different can still share one or more spins so that one spin can be in multiple different groups.
[0167] In this disclosure, the target spin-group is flipped after determining that flipping the test spin-group produces a reduction of the Hamiltonian energy (i.e., upon determining that the change in the Hamiltonian energy indicative of flipping the test spin-group reduces the Hamiltonian energy). This may be referred to as conditionally flipping the target spin-group. This is to indicate that a target spin-group may notalways be flipped, but rather, flipping the target spin-group is conditional on determining that the flipping the test spin-group reduces the Hamiltonian energy. In other examples, conditional may mean that, if flipping the test spin-group were not to reduce energy, nothing may be done. If flipping the test spin-group were to reduce the energy, processor 104 would then select and flip the target spin-group. That is, the condition is defined by testing the test spin-group.
[0168] It is noted that quantum processor 101 may output an optimal solution and hence, applying method 200 may not change the solution. When applying method 200, processor 104 may determine that flipping any test spin-group does not reduce the Hamiltonian energy. However, it is noted that solution may not necessarily be an optimal solution if processor 104 determines that a change in the Hamiltonian energy indicative of flipping any test spin-group of the one or more spins in the solution does not reduce the Hamiltonian energy. In other words, even if processor 104 may apply method 200 and not flip any spins in the solution, the solution may still not be an optimal solution (i.e., the ground-state solution). If processor 104 does not flip any spins, it may mean that processor 104 may have not found suitable spins to flip.
[0169] In some embodiments, the alternative test spin-group state and the alternative target spin-group state are one of alternative spin-group states of the test spin-group and the target spin-group, respectively. In one example, in step 203 of method 200, the test alternative spin-group state is chosen from the alternative spin-group states of the test spin-group at random or based on a pre-determined condition or requirement. Similarly, in step 204, the alternative target spin-group state may be chosen from the alternative spin-group states of the target spin-group at random or based on a pre-determined condition or requirement. In other embodiments, the alternative test spin-group state and the alternative target spin-group state may be the only alternative spin-group state for the test spin-group and the target spin-group, respectively.
[0170] In some embodiments, processor 104 may repeat step 203 of method 200 for one or more or each of the alternative spin-group states of the test spin-group as the alternative test spin-group state. In other words, processor 104 may determine a changeto the Hamiltonian energy for one or more or each of the alternative spin-group states of the test spin-group.
[0171] For illustrative purposes, the following description provides an example of single spin flipping noting that this disclosure relates to flipping of spin groups. As such, processor 104 “tests” and (conditionally) flips the test spin. More specifically, processor 104 may, upon determining that a change indicative of flipping the test spin reduces the Hamiltonian energy, flip 204 the test spin to an alternative spin state to mitigate the error in the solution. Processor 104 may flip 204 the test spin to the alternative spin state corresponding to the change in the Hamiltonian energy (i.e., the alternative test spin state). In this case, the alternative test spin state is the alternative target spin state. In other cases, processor 104 may flip 204 the test spin to an alternative spin state other than the alternative test spin state. As such, the alternative target spin state is different to the alternative test spin state, while the target spin is still the test spin.
[0172] In the above example, where processor 104 flips 204 the test spin to an alternative spin state other than the alternative test spin state, the alternative target spin state may correspond to the alternative spin state that provides a maximum reduction in the Hamiltonian energy of the test spin. In other words, when the target spin is the test spin, processor 104 may “test” one or more or each of the alternative spin states of the test spin by determining a change in Hamiltonian energy for one or more or each alternative spin states, then processor 104 flips the test spin to the alternative spin state that provides the maximum reduction in the Hamiltonian energy.
[0173] As such, in the above example, processor 104 may compare the change in the Hamiltonian energy for one or more or each spin states to determine the maximum reduction in the Hamiltonian energy and flip the test spin to the spin state that provides this maximum reduction. In other words, processor 104 may repeat the steps of determining 203 the change to the Hamiltonian energy for one or more or each alternative spin states of the test spin as the alternative test spin state.
[0174] Returning to flipping spin groups, as an example, consider the solution as a linearly coupled array of binary spins, 010001, and spin-group {2,3} is randomly selected by processor 104 as the test spin-group. When the test spin-group {2,3} is flipped from state
[0010] to state
[0001] (i.e., the alternative test spin-group state), the change to the Hamiltonian energy is negative;
[0175] As the change reduces the Hamiltonian energy, the ensemble of target spin- groups up to 3 spins and containing at least one spin of the test spin-group is determine by processor 104 as comprising of {2}, {3}, {1,2}, {2,3}, {3,4}, {1,2,3}, {2,3,4}, and {3,4,5}. Their flipped spin-group states are [0], [1],
[0010] ,
[0001] ,
[0011] ,
[0101] ,
[0011] , and
[0111] . The corresponding energy changes are 0.1, 0.15, 0.2, -0.15, -0.25, - 0.2, -0.2, -0.15.
[0176] As flipping the spin-group {3,4} produces the maximum reduction of the energy, the spin-group {3,4} is identified by processor 104 as the target spin-group and its spin-group state is flipped. The solution is updated to 011101.
[0177] Continuing with the previous steps, processor 104 selects another spin-group as the test spin-group, such as spin-group {1,2}. When the new test spin-group {1,2} is flipped from state
[0001] to state
[0010] , the change for the Hamiltonian energy is positive;
[0178] As it does not result in a decrease in energy, the solution is unaltered. That is, the solution remains as 011101.
[0179] Continuing with the previous steps, and stop after appropriate stopping conditions are met, such as all spin-groups in the solution have been completed selecting as the test spin-group, for example.
[0180] Output / return the updated (error-mitigated) solution, such as 010110.
[0181] The examples above show how processor 104 starts with an initial test spin- group and then generates multiple permutations (or all permutations) of one or morespins that are coupled to or containing a spin in the initial spin group. Each permutation represents one target spin group in the ensemble of target spin-groups. Processor 104 then determines the change in Hamiltonian energy for each target spin-group in the ensemble and flips the target spin-group with the maximum reduction of the energy.
[0182] As an example for the sequential order for the numbers of spins up to 3 spins in groups of spins, consider the same solution above as a linearly coupled array of binary spins, 010001, and spin-group {2,3} is randomly selected by processor 104 as the test spin-group. When the test spin-group {2,3} is flipped from state
[0010] to state
[0001] (i.e., the alternative test spin-group state), the change to the Hamiltonian energy is negative;
[0183] As the change reduces the Hamiltonian energy, the ensemble of 1-spin target spin-groups containing at least one spin of the test spin-group is determined by processor 104 to be comprised of spin-groups {2} and {3}. Their flipped spin-group states are [0] and [1]. The corresponding energy changes are 0.1 and 0.15. As the flipped energies are all positive, the original solution remains unaltered as 010001.
[0184] Sequentially, the ensemble of 2-spin target spin-groups containing at least one spin of the test spin-group is determined by processor 104 to be comprised of the spin groups {1,2}, {2,3}and {3,4}. Their flipped spin-group states are
[0010] ,
[0001] and
[0011] . The corresponding energy changes are 0.2, -0.15, -0.25. As flipping the spin-group {3,4} produces the maximum reduction of the energy, the spin-group {3,4} is identified by processor 104 as the 2-spin target spin-group and its spin-group state is flipped. The solution is updated to 011101
[0185] Sequentially further, the ensemble of 3-spin target spin-groups containing at least one spin of the test spin-group is determined by processor 104 to be comprised of the spin-groups {1,2,3}, {2,3,4}, and {3,4,5}. Their flipped spin-group states are
[0100] ,
[0000] and
[0001] . The corresponding energy changes are 0.1, -0.1, -0.2. As flipping the spin-group {3,4,5} produces the maximum reduction of the energy, the spin-group{3,4,5} is identified by processor 104 as the 3-spin target spin-group and its spin-group state is flipped. The solution is updated to 010011.
[0186] Continuing with the previous steps, processor 104 selects another spin-group as the test spin-group, such as spin-group {1,2}. When the new test spin-group {1,2} is flipped from state
[0001] to state
[0010] , the change for the Hamiltonian energy is positive;
[0187] As it does not result in a decrease in energy, the solution is unaltered. That is, the solution remains as 010011.
[0188] Continuing with the previous steps, and stop after appropriate stopping conditions are met, such as all spin-groups in the solution have been completed selecting as the test spin-group, for example.
[0189] Output / return the updated (error-mitigated) solution, such as 011010.
[0190] As a further example, consider the solution as a linearly coupled array of 3- state spins, where each spin has three possible spin states (0, 1 and 2). The solution received from the quantum processor may be 210201, for example, and spin group {3} is selected by processor 104 (i.e., spin group {3} is the test spin-group). Processor 104 will then determine 203 the change to the Hamiltonian energy for each of the alternative spin-group states: • When the spin-group {3} is flipped from state [0] to state [1] (i.e., the first alternative test spin-group state in this case), the change to the Hamiltonian energy is -0.2; • When the spin-group {3} is flipped from state [0] to state [2] (i.e., the second alternative test spin-group state in this case), the change to the Hamiltonian energy is -0.4;For the case where the target spin-group is up to 1 spin and containing the test spin-group, the target spin group is {3} and the alternative target spin-group state (i.e., the spin-group state that is flipped to), corresponds to the spin-group state that produces the maximum reduction in the Hamiltonian energy, which is state [2] in this example. Hence, the solution is updated to as 212201.
[0191] If, in the previous steps, none of the determined changes reduce the Hamiltonian energy, then processor 104 may not flip any spin-group. Processor 104 may then continue the process by selecting a different test spin-group from the one or more spins of the solution.
[0192] As described above, upon determining that the change indicative of flipping the test spin-group reduces the Hamiltonian energy, processor 104 may determine a suitable target spin-group which is related to the test spin-group and flip the target spin- group accordingly. The target spin-group may be coupled either directly or indirectly to the test spin-group or may be the test spin-group.
[0193] As such, upon determining that the change indicative of flipping the test spin- group reduces the Hamiltonian energy, processor 104 may determine an ensemble of target spin-groups comprising or coupled with one or multiple spins in the test spin- group. Processor 104 may then determine and compare changes to the Hamiltonian energy for each of the alternative target spin-group states of each of the respective target spin-group in the ensemble.
[0194] In some embodiments, where processor 104 determines 203 a change to the Hamiltonian energy by calculating the energy based on the Hamiltonian, processor 104 may not need to re-calculate the change indicative of flipping the test spin-group if processor 104 has already calculated the changes for each of the alternative spin-group states previously and has passed them to the processor 104 for testing the target spin- groups. In these particular embodiments, processor 104 may calculate a change to the Hamiltonian energy for one or more or each groups in the ensemble for one or more or each spin-group state, other than the test spin-group. In other embodiments, processor104 may re-calculate the change as this may be more advantageous for overall efficiency.
[0195] In some embodiments, the target spin-group may correspond to one of a group of spins from the ensemble of groups of spins and the alternative target spin-group state corresponds to the alternative spin-group state that provides a maximum reduction in the Hamiltonian energy. In some examples, processor 104 may determine and compare 203 the changes to the Hamiltonian energy for each group of spins and each alternative spin-group states, and processor 104 flips 204 a group of spins from the ensemble of group of spins which produce a maximum reduction of the Hamiltonian energy.
[0196] Spins that are directly coupled can be considered as interacting spins, which are defined by the Hamiltonian. More specifically, the interacting spins are those with non-zero coupling strength (coupling constant) values with each other as defined by theHamiltonian. For example, the Hamiltonian may be of the form Hj ,^i , j = 1,2,3... where J ij are the coupling strength values between spin i and spin j ,which may be non-zero for some pairs of i and j . In this disclosure, directly coupledspins are those with non-zero coupling strength between them and are “one hop” away.
[0197] In some examples, the group of spins coupled to the test spin-group comprises indirectly coupled spins. For example, spins which are not directly coupled to the test spin-group but coupled to a spin which coupled to the test spin-group. In other words, spins that are “two hops”, “three hops”, etc., away. More specifically, there may be no non-zero coupling strength between the test spin-group and another spin, but these spins may be indirectly coupled spins if they are connected through directly coupled spins. The indirectly coupled spins may be determined up to a predetermined coupling range, such as specified by user input. For example, a user may only want to search for spins that are directly coupled (“one hop” away) from the test spin-group. The user may also specify a longer predetermined range. For example, the user may want to search spins that are at most “three hops” away, which may increase the error mitigation potential in some cases.
[0198] As an example of embodiment with a reference spin, consider the solution as a linearly-coupled array of binary spins with nearest-neighbour couplings, 010001, and spin 3 is selected by processor 104 as the reference spin. In this example, consider the ensemble of test spin-groups comprises spin-groups with up to 2 spins and the nearest- neighbour coupling and containing the reference spin. The ensemble of the test spin groups comprises {3}, {2,3}, {3,4}. When the test spin group {3,4} is flipped from state
[0000] to state
[0011] , the change for the Hamiltonian energy is negative.
[0199] As it resulted in a reduction of the Hamiltonian energy, with up to 2 spins and coupled to or containing the reference spin, processor 104 determines the ensemble for the target groups as comprising of {2}, {3}, {4}, {1,2}, {2,3}, {3,4}, {4,5}. Processor 104 determines changes to the Hamiltonian energy for each target spin-group in the ensemble as -0.5, 0.1, 0.2, -0.6, -0.4, -0.2, -0.1. If the previously calculated change value for the test spin-group {3,4} is passed to the CPU core or node for calculating the change for the target spin-groups, the value may be re-used without re-calculation.
[0200] Comparing the above energy changes, flipping the target spin-group {1,2} gives the maximum reduction of the energy and therefore, spin-group {1,2} is flipped (i.e., the target spin-group corresponds to spin-group {1,2}, noting in this example that the target spin-group is not the same as the test spin-group). That is, the solution is updated to as 100001. This example shows that despite “testing” spin-group {3,4}, spin-group {1,2} is flipped rather than spin-group {3,4}.
[0201] Similar to the previous embodiment, processor 104 may then select another reference spin from the one or more spins of the solution, according to a predetermined order or randomly, for example. Processor 104 may select a new test spin which may be the same as or different from the previous reference spin. A spin may be selected as the reference spin zero or one or multiple times.
[0202] Continuing with the previous steps, select another reference spin, such as spin- 2:• The ensemble of test spin groups comprises {2}, {1,2}, {2,3}. • When the test spin-groups are flipped, the changes for the Hamiltonian energy are all positive.
[0203] As it does not result in a decrease in energy, the solution is unaltered. That is, the solution remains as 100001. In this case, there is no need to determine and flip the target spin-groups.
[0204] Continue with the previous steps, select another reference spin, such as spin-5.
[0205] Perform similar actions as in the previous steps.
[0206] Stop after appropriate stopping conditions are met, such as having tested for each of all spins as reference spin in the solution and none of them produce a reduction of Hamiltonian energy.
[0207] Output / return the updated solution, such as 000011.
[0208] When processor 104 determines a change in the Hamiltonian energy, processor 104 may determine a change in the local Hamiltonian energy rather than determining the total Hamiltonian energy for the solution with the present spin-group state and the solution with an alternative spin-group state. In other words, processor 104 may determine a difference between a present energy value and a flipped energy value, the present and flipped energy values being a local energy value of the test spin- group with the present spin-group state and the t alternative test spin-group state, respectively, and the difference is indicative of the change to the Hamiltonian energy upon flipping the test spin-group.
[0209] Similarly, when processor 104 determines the change to the Hamiltonian energy for a target spin-group, processor 104 may determine the change in the local Hamiltonian energy rather than determining the total Hamiltonian energy. Morespecifically, processor 104 may determine a difference between the present energy value and a flipped energy value of a target spin-group, the present and flipped energy values being local energy values of the target spin-group with the present spin-group state and the alternative spin-group state, respectively, and the difference is indicative of the change to the Hamiltonian energy upon flipping the target spin-group.
[0210] In some cases, processor 104 only needs to determine local energy change rather than determining total energy change, processor 104 is able to determine 203 the change in the Hamiltonian energy and flip 204 the target spin-group in a computationally efficiently manner. In some examples, processor 104 determines 204 the change in the Hamiltonian energy by evaluating an expression (such as an equation, formula or function) corresponding to the local energy change. The expression may be derived from the Hamiltonian.
[0211] In some examples, after processor 104 flips 204 the target spin-group upon determining that the change (indicative of flipping the test spin-group) reduces the Hamiltonian energy, processor 104 may repeat the process of selecting a new test spin- group and determining 203 a change in the Hamiltonian energy and conditionally flipping 204 a target spin-group. The condition may be that flipping the test spin-group would reduce the Hamiltonian energy (i.e., upon determining that the change indicative of flipping the test spin-group reduces the Hamiltonian energy). In other words, upon conditionally flipping the target spin-group in the solution, processor 104 repeatedly selects the new test spin-group from the one or more spin-groups in the solution, determines the change to the Hamiltonian energy indicative of flipping the new test spin-group to a new alternative test spin-group state, and (conditionally) flips the target spin-group in the solution to the alternative target spin-group state. In these examples, the new test spin-group maybe a different spin-group in the solution.
[0212] In other words, after performing method 200, processor 104 may iteratively select the test spin-group from the one or more spin-groups in a previous solution, determine the change to the Hamiltonian energy indicative of flipping the test spin- group to the alternative test spin-group state, and upon determining that the changereduces the Hamiltonian energy, flip the target spin-group in the previous solution to the alternative target spin-group state, e.g., until a stop condition is satisfied. The target spin-group may be based on the test spin-group.
[0213] It is noted that a previous solution corresponds to a solution received from quantum processor 101 in which steps 202, 203 and 204 of method 200 have been performed. For example, a previous solution may correspond to a solution in which the iterative process of selecting a test spin-group, determining the change in Hamiltonian energy and conditionally flipping a target spin-group until a stop condition is satisfied. In another example, a previous solution may correspond to a solution to one or multiple iterations of the previously described process have been applied. The previous solution may also be considered as an error-mitigated solution.
[0214] Processor 104 may repeat the process of iteratively selecting the test spin- group until a particular condition, such as a stop condition is satisfied. Such a condition, e.g., a stop condition, may be one or more of: a subset or each of the one or more spin-groups of the solution has been processed; a predetermined number of repetitions is reached; absence of a spin-group flip that reduces the Hamiltonian energy for a subset or each of the one or more spin-groups, a predetermined time limit is reached; in response to an interrupt (such as a user calling function choosing to stop execution) or satisfying a convergence condition. The subset of the one or more spin- groups may be user-defined, for example.
[0215] In some examples, absence of a spin-group flip that reduces the Hamiltonian energy means that processor 104 determines that flipping the subset or each of the one or more spin-groups of the solution does not reduce the Hamiltonian energy. In some examples, each determined change to the Hamiltonian energy does not reduce the Hamiltonian energy means that, when iterating over the subset or each of the one or more spin-groups in the solution, flipping each of the subset or the one or more spin- groups does not reduce the Hamiltonian energy.
[0216] An example of satisfying a convergence condition may represent determining that the difference between total Hamiltonian energies of two error-mitigated solutions is below a predetermined energy threshold value. It is noted that the stop conditions mentioned previously are only a few possible stop conditions. There may be an unlimited variations of possible stop conditions. It is noted that these stop conditions may be specified by a user upon device 103 receiving user input.
[0217] In an example, the solution may be a linear array of spins and a user may specify to initiate method 200 at the left most spin-groups and “test” each spin-groups by moving from left to right (or otherwise progressively test spin-groups in order). The user may specify that the stop condition is when each of the spin-groups in the solution are processed or “tested”. As such, processor 104 will repeat the steps of determining the change to the Hamiltonian energy and flipping a target spin-group until the right- most spin-group in the solution is processed.
[0218] During the process of repeating the steps of determining the change in the Hamiltonian energy and conditionally flipping the target spin-group, the new test spin- group may be selected from the one or more spin-groups in the solution randomly, sequentially or based on a predetermined order. The predetermined order may be user- defined, for example. Selection of the test spin-group may be based on device 103 receiving user input, in which a user selects a test spin-group to “test”, inputs an order or chooses to have the selection proceed in a random ordering.
[0219] The test spin-group used to initiate method 200 (i.e., the initial test spin-group) and the order in which the test spin-groups are selected upon repetition may affect the error-mitigated solution. In other words, different orderings in selecting the test spin- groups may produce different error-mitigated solutions.
[0220] It is noted that, in some examples, a test spin-group as described above may comprises one spin and similarly a target spin-group may comprise one spin. In other examples, a test spin-group may comprise a group of multiple spins. Those test spin- groups may comprise spins that are coupled with each other, e.g., directly or indirectlycoupled in each group. Additionally, or alternativity, a target spin-group may comprise a group of multiple spins, again which may be coupled with each other (e.g., directly or indirectly coupled in each group). In other words, processor 104 may “test” a group of multiple spins at a particular time, e.g. simultaneously. Processor 104 may then (conditionally) flip, e.g., simultaneously, a group of multiple spins (e.g., in a similar manner to the examples described above). A group of multiple spins may comprise one or more spins (e.g., two, three, or more spins). Processor 104 may “test” one or more or each of the alternative spin-group states of the group of multiple spins. For example, processor 104 may “test” each of the alternative spin-group states for the group of multiple spins to determine the alternative spin-group state that provides a reduction, e.g., maximum reduction, in the Hamiltonian energy.
[0221] It will be appreciated that, while not always the case, in examples using binary spins in the Ising spin-glass or QUBO problem, there may only be one possible alternative spin-group state for a particular spin-group.
[0222] For the purposes of ease of explanation, consider the following simplified example. Here, the case of binary spins with numerical spin states are used. The test spin-group comprises up to two coupled spins (e.g., up to two coupled spins form a test spin-group). For a test spin-group which may be selected (e.g., randomly, sequentially or in other order), processor 104 may test and flip up to two spins simultaneously. This may be alternative to, or in addition to, testing and flipping one spin at a time, as will be appreciated. Processor 104 may test one or more of these alternative spin-group states to determine an alternative spin-group state that reduces the Hamiltonian energy. Processor 104 may determine that the alternative spin-group state “10” produces the maximum reduction of the Hamiltonian energy and hence, processor 104 may flip the target spin-group from “01” to “10”.
[0223] In some embodiments, after processor 104 receives 201 the solution from quantum processor 101, the remainder of method 200 may proceed using the optimisation objective function rather than the Hamiltonian. As such, processor 104 may perform a method of error mitigation of a solution to an optimisation resultreceived from quantum processor 101. In this embodiment, the solution may comprise values (such as a numerical value) of each of the one or more variables of an objective function, rather than spin states and spins.
[0224] Similar to method 200, a goal is to find a solution that reduces / minimises an objective value determined by the objective function. During this method, for a test variable-group of the one or more variable-groups, processor 104 may determine a change to an objective value indicative of flipping the test variable-group to an alternative variable-group value, where the objective function value is determined from the objective function. Then, upon determining that the change reduces the objective function value, processor 104 may flip a target variable-group in the solution to an alternative variable-group value to mitigate the error in the solution, wherein the target variable-group is based on the test variable-group.
[0225] In some embodiments, processor 104 may apply a method similar to method 200 to any solution to an optimisation problem. For example, this solution may not originate from quantum processor 101, but may instead originate from a classical processor. Similar to the previously discussed embodiment, processor 104 may perform a method of error mitigation of a solution to an optimisation problem. In this embodiment, the solution may comprise values of each of the one or more variables of an objective function. Similar to method 200, the goal is to find a solution that minimises an objective function value determined by the objective function.
[0226] Example 1
[0227] There is now presented an example of the disclosed method for explanatory purposes. Fig.3 illustrates a process flow diagram for the example method 300.
[0228] Similar to method 200, processor 104 receives 301 a solution from the quantum processor, or in the event that the solution has been updated then the updated solution. Processor 104 determines an ensemble of test spin groups 302. Processor 104 then selects 303 a test spin-group from one or more spin-groups in the solution.Processor 104 then determines 303 if flipping the test spin-group decreases the Hamiltonian energy. Flipping the test spin-group refers to flipping the spin-group state (as referred to as the test spin-group state) of the test spin-group to an alternative spin- group state (as referred to as the alternative test spin-group state). The alternative spin- group state may be the only other spin-group state of the test spin-group (i.e., the test spin-group has only two spin-group states). However, the alternative spin-group state may be one of multiple spin-group states (i.e., the test spin-group has more than two spin-group states).
[0229] It is noted that, even when the purpose of testing the test spin-group is to determine the existence of a test spin-group state which will reduce the Hamiltonian energy, processor 104 may not need to evaluate each of the alternative spin-group states of the test spin-group to determine that flipping it will reduce the energy. Identifying one spin-group state which reduces the energy may be sufficient to determine that flipping this spin-group reduces the energy.
[0230] There are two possible outcomes after processor 104 performs step 303. The first outcome is that processor 104 determines a decrease 304 in the Hamiltonian energy which would result from flipping the test spin-group to the alternative test spin- group state. Upon determining a decrease 304, processor 104 determines and flips 305 at least one target spin-group in the solution based on the test spin-group to a target spin-group state that produce a maximum reduction of the Hamiltonian energy.
[0231] For one example, the target spin-group may happen to be the test spin-group and the target spin-group state will correspond to one of the multiple spin-group states of the target spin-group that provides the maximum reduction in the Hamiltonian energy. In another example, the target spin-group may be a spin-group that is coupled to and different from the test spin-group, which may provide a greater reduction in Hamiltonian energy than flipping the test spin-group would provide. This process is then repeated 306 after flipping 305 the target spin-group. As such, a new one of the one or more spin-groups (i.e., a new test spin-group) may be selected and steps 302 and 303 are repeated.
[0232] Another possible outcome after processor 104 performs step 303 is that processor 104 does not determine a decrease 307 in the Hamiltonian energy. As such, processor 104 may not flip a spin-group in the solution. The step 302 is then repeated 308 using a new one of the one or more spin-groups in the solution (i.e., a new test spin-group). This process may continue until a stop condition 309 is met. Upon a stop condition 309 being met, the process may be terminated and processor 104 outputs 310 the final solution.
[0233] Example 2
[0234] There is now presented an example of the disclosed method for explanatory purposes. Fig.4 illustrates a process flow diagram for the example method 400. More specifically, Fig.4 illustrates a process flow diagram for an example method for generating an optimisation solution. This example describes the scenario where a user implements an optimisation problem on a quantum computer and mitigates the error using the disclosed method, thereby receiving an error-mitigated solution to their optimisation problem.
[0235] Example method 400 begins by specifying 401 the optimisation problem to be computed. The optimisation problem may be a combinatorial optimisation problem, for example. Example method 400 then comprises formulating 402 solution to the problem as the ground-state of a Hamiltonian, which may involve formulating an objective function representing the optimisation problem and constructing the Hamiltonian from the objective function, such that optimising the objective function corresponds to finding the ground-state of the Hamiltonian.
[0236] Example method 400 then comprises programming 403 the problem on the quantum processor. In some examples, processor 104 may embed the formulated problem on quantum processor 101, by mapping as physical coupling strengths between qubits and bias on qubits, depending on the hardware design and implementation. In some examples, the qubits of quantum processor 101 representingthe spins of the Hamiltonian are chosen based on the formulated problem and the hardware design (i.e., architecture) of quantum processor 101.
[0237] After programming 403 the problem, quantum processor 101 performs 404 a quantum computation and outputs a solution to be received by processor 104. It is possible that processor 104 receives a solution which is not the optimal solution, due to noise and other influences causing the qubits (and hence, the spins in the Hamiltonian) to be in an erratic state. As such, upon receiving the solution from the quantum processor 101, processor 104 mitigates 405 the error in the solution by applying method 200 to the solution. More specifically, processor 104 may determine 203 a change to a Hamiltonian energy indicative of flipping the test spin-group and, upon determining that the change reduces the Hamiltonian energy, processor 104 flips 204 a target spin-group in the solution to an alternative target spin-group state to mitigate the error in the solution. This process may be repeated multiple times for multiple solutions, or multiple times for each or a subset of the one or more spin-groups in the same solution. It is noted that processor 104 may apply method 200 regardless of the received solution being optimal or non-optimal.
[0238] Processor 104 then returns 406 the error-mitigated solution to the user. The error-mitigated solution may have a lower Hamiltonian energy than the initially received solution, meaning that it corresponds to a more optimal solution to the optimisation problem than the original solution from the quantum computer. However, it is noted that applying method 200 to the received solution may return 406 a solution which corresponds to the initially received solution (i.e., processor 104 does not flip any spins in the solution). However, this may not always conclude that the initially received solution is the optimal solution.
[0239] Experimental results
[0240] As an implementation example of the disclosed method, there is now provided the results of optimisation problems to demonstrate the disclosed method. In thefollowing examples, a quantum annealer was used as quantum processor 101, specifically the D-Wave Systems Advantage quantum annealer.
[0241] Experimental example 1
[0242] The underlying optimisation problem is defined by a data-constrained modelling (DCM) method for binary segmentation of random images on a simple-cubic lattice. The Hamiltonian ^^ is formulated asand ^^ on surface (^^1 − ^^0)2 when ^^ = ^^;^^^^,^^ = { ^^(^^1 − ^^0)2when ^^ and ^^ are nearest neighbours 0 otherwiseThe image pixels ^^^^(^^ = 1,2, … , ^^) take continuous values in [0.0, 1.0], and the spins^^^^(^^ = 1,2, ... , ^^) take discrete values -1 and 1; ^^ is the total number of spins (numberof image pixels or the number of DCM voxels); ^^ = 6 is the number of nearestneighbours of the simple-cubic lattice, the neighbouring coupling constant is ^^ = 0.1;the segmentation parameters are q 0 = 0 and ^^1 = 1. A D-Wave Systems auto-embedding algorithm was used to embed the problem Hamiltonian on the D-Wave Systems Advantage quantum annealer.
[0243] Fig.5 compares the average QPU time per successful optimisation versus the number of spins (DCM voxels). The results indicate that the disclosed methoddemonstrated the weakest dependence of QPU time with the problem size. As the problem size is increased 512 or 1000 times from 1 spin to 512 or 1000 spins, the QPU time per optimal solution is increased by less than 3%. That is, the QPU time increases more slowly than the problem size. In contrast, as the problem size is increased 512 times from 1 spin to 512 spins, without error mitigation, the QPU time is increased from 0.1 ms to over 100 seconds or over a million times. That is, the disclosed method demonstrated over a million times improvement in quantum annealing computational efficiency when the problem size is increased from 1 to 512 spins. In comparison with the single-spin flipping and the paired-solution error mitigation methods, the disclosed method demonstrated a QPU time efficiency increase of about 100 times and 10 times respectively as the problem size is increased from 1 to 1000 spins. With the disclosed method, the QPU computational efficiency increase is exponential with increasing problem size. That is, for larger problems and quantum annealers with larger number of qubits, the disclosed method will produce larger increase of QPU computational efficiency. This demonstrated a significant improvement in computational efficiency for large optimisation problems.
[0244] Figure 6 compares distributions of the DCM objective function value on an8 × 8 × 8 lattice for 3000 quantum annealing reads with a read time of 0.1 ms using theDWS Advantage quantum annealer. The left-most vertical line is at the global minimum objective value of 80.5898872105. (a) Quantum annealing without error mitigation. No optimal solution is obtained. That is, 0.0% success rate. (b) Quantum annealing with single-spin flipping error mitigation method.473 optimal solution is obtained. That is, 15.8% success rate. (c) Quantum annealing with paired-solution error mitigation method after the single-spin flipping error-mitigated solutions.803 optimal solutions are obtained. That is, 26.8% success rate. (d) Quantum annealing with the disclosed method up to 3-spin groups.2944 optimal solution are obtained. That is, 98.1% success rate. This demonstrated a significant improvement in probability for obtaining an optimal solution with the disclosed method as compared with quantum annealing without error mitigation or with other error-mitigation methods.
[0245] Experimental example 2.
[0246] Another experimental example is the weighted max-cut problem. The quantum annealing (QA) was carried out with the D-Wave Systems Advantage quantum annealer with 3000 reads and a read time of 0.1ms. The objection function is expressed aswhere ^^ is the number of nodes; the spin variables of the nodes ^^^^take discrete values ±1; ^^^^,^^is the weight of the edge linking nodes ^^ and ^^ , with a total of ^^ of them taking none-zero values distributed randomly in the range [-0.5, 1.5].
[0247] For a max-cut problem with ^^ = 200 nodes and ^^ = 1200 edges, thedisclosed method produces solutions consistently with the true optimal objective function value of -524.9 and maximum cut length of 714. Other methods tested did not produce the true optimal solution, including QA without error mitigation, QA with single-spin flipping method, and QA with the paired-solution method after the single spin flipping method.
[0248] For a larger problem size of 400 nodes and 1200 edges, Table 1 lists average cut lengths by method, in comparison with quantum annealing without error mitigation, and the single-spin flipping and the paired-solution error mitigation methods. The disclosed method consistently produces solutions with higher average cut length than other methods.
[0249] Table 1 Average cut lengths by method
[0250] The two examples above demonstrated that the error-mitigated quantum annealing with the disclosed method is capable of producing higher accuracy solutions for max-cut problems.
[0251] Summary of results
[0252] The disclosed method is capable of producing significant or orders of magnitude improvement in computational efficiency for quantum annealing to produce an optimal solution for an optimisation problem. The improvement increases exponentially with the problem size or the number of spins in the problem Hamiltonian. The disclosed method is significantly more efficient for mitigating quantum annealing errors than other error-mitigation methods. This will significantly impact the practical use of quantum annealing. A similar impact would be expected for gate-model quantum computing applications in solving combinatorial optimisation problems.
[0253] It will be appreciated by persons skilled in the art that numerous variations and / or modifications may be made to the above-described embodiments, without departing from the broad general scope of the present disclosure. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.
Claims
CLAIMS:
1. A method for mitigating error of a solution from a quantum processor, the method comprises performing by a classical processor the steps of: receiving the solution from the quantum processor, wherein the solution comprises spin states of each of one or more spins corresponding to an outcome of performing a quantum computation on the quantum processor to minimise the Hamiltonian energy representing an optimisation objective function of the one or more spins; determining a test spin-group in the solution; determining changes to the Hamiltonian energy of the solution for one or more or each of alternative test spin-group states; and upon determining that at least one change reduces the energy of the solution, determining one or more target spin-groups, and flipping at least one target spin-group of the one or more target spin-groups to an alternative target spin-group state to mitigate the error in the solution.
2. The method of claim 1, wherein the one target spin-group and the alternative target spin-group state correspond to a spin group in an ensemble of target spin-groups and its alternative spin-group state that provides a maximum reduction in the Hamiltonian energy of the solution.
3. The method of claim 1, wherein the method comprises determining the test spin-group by selecting from the groups of coupled spins containing or coupled to a reference spin, with a specified value range or up to a specified value for the numbers of spins in the groups.
4. The method of any one of claims 1 to 3, wherein the test spin-group state is defined by the spin states of all spins in the test-spin group, and the alternative test spin-group state is defined by the spin states with each spin in the group at an alternative spin state; andthe target spin-group state is defined by the spin states of all spins in the target-spin group, and the alternative target spin-group state is defined by the spin states with each spin in the group at an alternative spin state.
5. The method of any one of claims 1 to 4, wherein the one or more target spin- groups contains groups of spins in which spins are coupled with each other in each group, and for which at least one spin in a group is coupled to or contains at least one spin in the test spin-group which reduces Hamiltonian energy when flipped, or is coupled to or contains the reference spin.
6. The method of any one of claims 1 to 5, wherein the step of determining the one or more target spin-groups comprises selecting from the groups of spins with a specified value range or up to a specified value for the numbers of spins in the groups of spins.
7. The method of claim 3 or 5, wherein the selection of the reference spin is based on one or more of a random selection, a sequential selection and a predetermined order.
8. The method of any one of the preceding claims, wherein the test spin-groups and / or the target spin-groups comprises indirectly coupled spins, the indirectly coupled spins being determined up to a predetermined coupling range.
9. The method of any one of the preceding claims, wherein determining the change to the Hamiltonian energy comprises: determining a difference between a present energy value and a flipped energy value of a test spin-group, the present and flipped energy values being local energy values of the test spin-group with a present spin-group state and the alternative test spin-group state, respectively, and the difference is indicative of the change to the Hamiltonian energy upon flipping the test spin-group; anddetermining a difference between the present energy value and a flipped energy value of a target spin-group, the present and flipped energy values being local energy values of the target spin-group with the present spin-group state and the alternative spin-group state, respectively, and the difference is indicative of the change to the Hamiltonian energy upon flipping the target spin-group.
10. The method of any one of the preceding claims, wherein the method further comprises selecting the test spin-group from the ensemble of test spin-groups, and selecting the target spin-group from the ensemble of target spin-groups; wherein the respective selections are based on one or more of: a random order; a sequential order; a predetermined order; with a specified value range for the numbers of spins in groups of spins; sequential order for the numbers of spins in groups of spins; random order for the numbers of spins in groups of spins; based on a predetermined order for the numbers of spins in groups.
11. The method of any one of the preceding claims, wherein the method further comprises iteratively: determining the test spin-group in a previously error-mitigated solution; determining the change to the Hamiltonian energy indicative of flipping the test spin-group to one or more or each alternative test spin-group states; and upon determining that any change reduces the Hamiltonian energy, flipping at least one target group of spins in the previous solution to the alternative target spin- group state; until a stop condition is satisfied.
12. The method of any one of the preceding claims, wherein the method comprises selecting the test-spin group from an ensemble of test spin groups.
13. The method of claim 11, wherein the method further comprises iteratively:selecting the reference spin from the one or more spins in a quantum computer returned solution or a previous error-mitigated solution; selecting the ensemble of test spin-groups as the groups of spins coupled to or containing the reference spin in the solution; determining the change to the Hamiltonian energy indicative of flipping one or more or each test spin-groups in the ensemble to one or more or each alternative test spin-group states; and upon determining that a change reduces the Hamiltonian energy, flipping at least one target spin-group in the solution to the alternative target spin-group state; until a stop condition is satisfied.
14. The method of claims 12 and 13, wherein the stop condition is one or more of: a subset or each spin of the solution has been processed as reference spins; a subset or each configurations of coupled spin-groups of the solution has been processed; a subset or each configurations of coupled spin-groups in a specified range or up to a specified value for the numbers of spins in spin-groups of the solution has been processed; a subset or each value for the numbers of spins in the groups has been processed; a predetermined number of repetitions is reached; an absence of a spin-group flip that reduces the Hamiltonian energy for a subset or each spin-groups of the solution; a predetermined time limit is reached; in response to an interrupt; or satisfying a convergence condition.
15. The method of claim 1, wherein each of the one or more spins represents a variable of the Hamiltonian and each of the spin states represents a discrete value.
16. The method of any one of the preceding claims, wherein the Hamiltonian represents an Ising spin-glass model or quadratic unconstrained binary optimisation (QUBO) model.
17. The method of any one of the preceding claims, wherein the quantum processor is one or more of: a quantum annealer; a quantum gate model processor; a quantum-classical hybrid computer; a simulated annealer; a processor for computing minimum or maximum value of an objective function; a virtual quantum processor; and a quantum processor simulator.
18. A method for mitigating error of a solution indicative of a ground-state of a Hamiltonian determined by a processor comprising multiple probabilistic bits (p-bits), the method comprises performing by a classical processor the steps of: receiving a solution from the processor, wherein the solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a computation on the processor to minimise the optimisation objective function; for one or more test spin-groups in the solution, determining changes to a Hamiltonian energy indicative of flipping one or more or each test spin-groups to one or more or each alternative test spin-group states, the Hamiltonian energy being determined from the Hamiltonian; and upon determining that a change reduces the Hamiltonian energy, flipping at least one target spin-group in the solution to an alternative target spin-group state to mitigate the error in the solution.
19. Software that, when installed on a classical processor and executed by the classical processor, causes the classical processor to perform the method of any one of the preceding claims.
20. A system for mitigating error of a solution indicative of a ground-state of a Hamiltonian determined by a quantum processor, wherein the Hamiltonian represents an optimisation objective function and is a function of one or more spins, the system comprising: a classical processor configured to: receive a solution from the quantum processor, wherein the solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a quantum computation on the quantum processor to minimise the optimisation objective function; for one or more of test spin-groups in the solution, determine changes to a Hamiltonian energy indicative of flipping one or more or each test spin-groups to one or more or each alternative test spin-group states, the Hamiltonian energy being determined from the Hamiltonian; and upon determining that a change reduces the Hamiltonian energy, flip at least one target spin-group in the solution to an alternative target spin-group state to mitigate the error in the solution.
21. A system for mitigating error of a solution indicative of a ground-state of a Hamiltonian determined by a processor comprising multiple probabilistic bits (p-bits), wherein the Hamiltonian represents an optimisation objective function and is a function of one or more spins, the system comprising: a classical processor configured to: receive a solution from the processor, wherein the solution comprises spin states of each of the one or more spins in the Hamiltonian and corresponds to an outcome of performing a computation on the processor to minimise the optimisation objective function; for one or more test spin-groups in the solution, determine changes to a Hamiltonian energy indicative of flipping one or more or each test spin-groups to oneor more or each alternative test spin-group states, the Hamiltonian energy being determined from the Hamiltonian; and upon determining that a change reduces the Hamiltonian energy, flip at least one target spin-group in the solution to an alternative target spin-group state to mitigate the error in the solution.
Citation Information
Patent Citations
Quantum Computer with Improved Quantum Optimization by Exploiting Marginal Data
US20200057957A1