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
- Cutting: The circuit is split at strategic points into smaller sub-circuits
- Execution: Each sub-circuit is executed independently on the backend
- 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.resultsWhen 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