An end-to-end generic system for scalable execution of large quantum circuits with high fidelity on noisy and small quantum processors (QPUs) by leveraging gate virtualization.
import numpy as np
from qiskit.circuit.library import TwoLocal
import qvm
# Create a quantum circuit
circuit = TwoLocal(
8,
rotation_blocks=["rz", "ry", "rx"],
entanglement_blocks="rzz",
entanglement="linear",
reps=2,
).decompose()
circuit.measure_all()
circuit = circuit.bind_parameters(
{param: np.random.randn() / 2 for param in circuit.parameters}
)
# Compile with QVM
comp = qvm.CutterCompiler(size_to_reach=4)
virtual_circuit = comp.run(circuit, budget=2)
# Execute on quantum hardware
result, times = qvm.run(virtual_circuit, shots=10000)
For more details, see our paper: QVM: Quantum Gate Virtualization Machine