Circuit Cutting

Circuit Cutting

Circuit Cutting

When a quantum circuit exceeds the qubit capacity of available hardware or simulators, Divi can automatically cut the circuit into smaller fragments, execute each independently, and reconstruct the full result via classical post-processing.

How It Works

  1. Cutting: The circuit is split at strategic points into smaller sub-circuits
  2. Execution: Each sub-circuit is executed independently on the backend
  3. Reconstruction: Results are stitched together using classical post-processing

This trades circuit width for circuit count — you run more circuits, but each one fits on smaller hardware.

Cloud Circuit Cutting

Circuit cutting is available as a cloud service through QoroService:

from divi import QoroService
from divi.qprog import QuantumProgram

q_service = QoroService(QORO_API_KEY)

# Submit a circuit that's too large for direct execution
program = QuantumProgram(
    qasm_string=large_circuit_qasm,
    backend=q_service,
)

program.run()
results = program.results

When to Use Circuit Cutting

  • Your circuit requires more qubits than available hardware
  • You want to simulate large circuits on smaller simulators
  • You need to distribute a computation across multiple devices

Limitations

  • Circuit cutting introduces classical overhead that grows exponentially with the number of cuts
  • Best results are achieved when the circuit has natural cut points (low entanglement between partitions)
  • The number of sub-circuits grows with the number of cuts, so minimize cuts where possible