Technical Summary
Optimizers
Divi provides a set of classical optimizers as composable objects. Each optimizer is instantiated as a class and passed to the algorithm constructor, allowing full control over method selection and hyperparameters. All optimizers follow the same interface and can be swapped freely.
| Optimizer | Type | Description |
|---|---|---|
ScipyOptimizer |
Gradient-based & gradient-free | Wraps SciPy’s suite — supports L-BFGS-B, Nelder-Mead, COBYLA, and all SciPy methods |
MonteCarloOptimizer |
Stochastic global search | Random parameter sampling; useful for rugged, non-convex landscapes |
PymooOptimizer |
Evolutionary | CMA-ES and Differential Evolution via pymoo |
L-BFGS-B uses the parameter shift rule for analytical gradient computation, with gradients computed in parallel. Nelder-Mead is a gradient-free simplex method ideal for noisy, low-dimensional landscapes. COBYLA is a gradient-free trust-region method good for constrained problems and quick experimentation.
Circuit Transformations
Observable Grouping
Reduces measurement overhead by identifying sets of commuting Hamiltonian terms that can be measured simultaneously, using PennyLane’s grouping strategies. Available strategies include no grouping (None), wire grouping ("wires"), and qubit-wise commuting grouping ("qwc").
Zero-Noise Extrapolation (ZNE)
Error mitigation technique that estimates the ideal (zero-noise) expectation value by running circuits at artificially amplified noise levels and extrapolating back to zero noise. Divi supports ZNE natively through integration with Mitiq, leveraging its folding protocols and extrapolation methods.
Additional Algorithms
CustomVQA
Optimize any parameterized quantum circuit by wrapping a PennyLane QuantumScript or Qiskit QuantumCircuit. Useful for custom ansatze, benchmarking, prototyping new variational algorithms, or optimizing circuits from other frameworks using Divi’s parallel execution.
PCE (Pauli Correlation Encoding)
A qubit-efficient encoding for QUBO problems that encodes N binary variables into only ⌈log₂(N)⌉ qubits using parity functions. Supports dense and polynomial encoding types, D-Wave BinaryQuadraticModel input, and a Top-N solutions API with decoded variable assignments.
Time Evolution
Simulates quantum state evolution under a given Hamiltonian using Trotter-Suzuki decomposition. Supports exact trotterization and QDrift (randomized, shallower circuits), multi-time-point trajectories, observable measurement, ensemble averaging, and custom initial states.
Additional Features
Checkpointing
Save and resume optimization state at regular intervals for long-running variational algorithms. Supported by all algorithms extending VariationalQuantumAlgorithm (VQE, QAOA, PCE, CustomVQA). Useful for cloud execution, expensive simulations, and protecting against crashes.
Circuit Cutting
Automatically cut circuits that exceed hardware qubit capacity into smaller fragments, execute each independently, and reconstruct the full result via classical post-processing. Available as a cloud service through QoroService.
Circuit Depth Tracking
All backends automatically track circuit depths during execution, enabling performance analysis and depth-reduction strategies.
BinaryQuadraticModel Support
QAOA and PCE accept D-Wave’s BinaryQuadraticModel as input, in addition to NumPy arrays and sparse matrices.
📖 For code examples and detailed API usage, visit the Divi Documentation.