Expand description
Circuit optimization framework for quantum circuits
This module provides a comprehensive framework for optimizing quantum circuits through various transformation passes that preserve circuit equivalence while reducing gate count, depth, and execution time.
§Optimization Passes
- Gate Cancellation: Remove inverse gate pairs (H-H, X-X, CNOT-CNOT)
- Gate Fusion: Combine adjacent single-qubit rotations
- Gate Commutation: Reorder gates using commutation rules
- Template Matching: Replace gate sequences with optimized equivalents
- Two-Qubit Reduction: Minimize expensive two-qubit gates
§Example
ⓘ
use quantrs2_sim::circuit_optimizer::{CircuitOptimizer, OptimizationPass};
let optimizer = CircuitOptimizer::new()
.with_pass(OptimizationPass::CancelInverses)
.with_pass(OptimizationPass::FuseRotations)
.with_pass(OptimizationPass::CommutativeReordering);
let optimized_circuit = optimizer.optimize(&circuit)?;Structs§
- Circuit
- Quantum circuit
- Circuit
Optimizer - Circuit optimizer
- Gate
- Quantum gate instruction
- Optimization
Stats - Optimization statistics
Enums§
- Gate
Type - Quantum gate type
- Optimization
Pass - Optimization pass types