| CPC G06F 30/27 (2020.01) [G06N 10/00 (2019.01); G06N 10/20 (2022.01)] | 17 Claims |

|
1. Enacted in a classical computer system, a method to digitally simulate an evolving quantum state of a qubit register of a quantum computer, the method comprising:
representing the quantum state as a state vector of complex-valued amplitudes, where each amplitude is associated with an individual qubit of the qubit register;
receiving a directed acyclic graph (DAG) defining a set of quantum gates of a quantum-computer program;
instantiating a plurality of walkers configured to walk a parameter space of a corresponding plurality of candidate partial linear orders of operations on the DAG, wherein each of the plurality of walkers is configured to pre-select a plurality of candidate quantum gates for next execution in a corresponding partial linear order and, by evaluating a corresponding partial cost function, identify a selected quantum gate from among the pre-selected plurality of candidate quantum gates;
constructing a full linear order of operations on the DAG, at least in part by:
constructing a partial linear order of the DAG while computing the full linear order, the partial linear order being constructed by selecting, from among the plurality of candidate quantum gates for the partial linear order, a next possible fused or unfused quantum gate for the partial linear order that minimizes a partial cost function of the partial linear order, wherein the partial cost function approximates a cost of transforming the state vector according to a subset of the set of quantum gates applied in the partial linear order, and
successively re-computing the partial cost function for the partial linear order by at least one of the walkers during construction of the full linear order;
transforming the state vector represented in the classical computer system according to the set of quantum gates applied in the full linear order; and
computationally outputting one or more of the complex-valued amplitudes of the transformed state vector in a form receivable by a computer program configured for testing the quantum-computer program.
|