Pattern Atlas

Extended Quantum Computing Patterns

Quantum-Classic Split

Aliases:

Tags:

© https://link.springer.com/chapter/10.1007/978-3-030-14082-3_19

Intent

Split computational tasks into a quantum part running on a quantum computer and a classical part running on a classical computer.

Context

There are many quantum algorithms that require pre-processing or post-processing which must be done on a classical device. Thus, it is often necessary to split the algorithms into quantum parts and classical parts. Similarly, to run a quantum algorithm on a quantum computer that contains a small number of, possibly noisy, qubits, it may also be beneficial to split the algorithm into a quantum part of reasonable size and a classical part (Preskill 2018).

Solution

The main idea is to split an algorithm into quantum parts and classical parts. However, how an algorithm can be split depends on the problem and its implementation.

Result

Since the part running on a classical computer and the part on a quantum computer can depend on each other, e.g., in an iterative solution, several interactions between the systems may be needed. Consequently, if a classical computer and a quantum computer are connected via a queue, the queuing time, i.e., the time messages are waiting in the queue, also contributes to the overall runtime.

Related Patterns

To pass Information from the classical part of an algorithm to its quantum parts, proper Initialization is needed.

Known Uses

Prominent quantum algorithms that depend on classical pre-processing or post-processing are Shor’s algorithm (Shor 1994) and Simon’s algorithm (Simon 1997). Another example is the algorithm stated in (Farhi, Goldstone and Gutmann 2014) which is used to solve combinatorial optimization problems and therefore uses classical pre-processing. To enable factorization on NISQ devices the algorithm presented in (Anschuetz et al. 2018) uses a quantum-classic split.

Hybrid Transfer Learning (PlanQK) Quantum approximate optimization algorithm (PlanQK) Quantum-Assisted Genetic Algorithm (PlanQK) Quantum Boltzmann Machine (Gate-based) (PlanQK) Quantum Generative Adversarial Network (PlanQK) Shor's Algorithm (PlanQK)