microquantum.core.optimization¶
Circuit optimization: gate fusion, simplification, and transpilation.
Provides optimization passes that reduce circuit depth and gate count by fusing adjacent single-qubit gates, canceling inverse pairs, and removing identity operations.
Module Contents¶
- microquantum.core.optimization.fuse_single_qubit_gates(circuit)[source]¶
Fuse adjacent single-qubit gates on the same qubit into one.
Scans through consecutive single-qubit gates acting on the same qubit and replaces them with a single gate equal to their product.
- Parameters:
circuit (microquantum.core.circuit.QuantumCircuit) – The input circuit to optimize.
- Returns:
New optimized circuit with fused gates.
- Return type:
microquantum.core.circuit.QuantumCircuit
- microquantum.core.optimization.remove_identity_gates(circuit)[source]¶
Remove gates that are approximately identity matrices.
- Parameters:
circuit (microquantum.core.circuit.QuantumCircuit) – The input circuit to optimize.
- Returns:
New circuit with identity gates removed.
- Return type:
microquantum.core.circuit.QuantumCircuit
- microquantum.core.optimization.cancel_inverse_pairs(circuit)[source]¶
Cancel adjacent pairs of inverse gates.
Scans for consecutive gates U followed by U^dagger on the same qubits and removes both.
- Parameters:
circuit (microquantum.core.circuit.QuantumCircuit) – The input circuit to optimize.
- Returns:
New circuit with inverse pairs removed.
- Return type:
microquantum.core.circuit.QuantumCircuit
- microquantum.core.optimization.simplify_circuit(circuit)[source]¶
Apply a full simplification pipeline.
Runs all optimization passes in sequence: 1. Cancel inverse pairs 2. Remove identity gates 3. Fuse single-qubit gates
- Parameters:
circuit (microquantum.core.circuit.QuantumCircuit) – The input circuit to optimize.
- Returns:
Optimized circuit.
- Return type:
microquantum.core.circuit.QuantumCircuit
- microquantum.core.optimization.transpile(circuit, optimization_level=1)[source]¶
Transpile a circuit with configurable optimization level.
- Parameters:
circuit (microquantum.core.circuit.QuantumCircuit) – The input circuit.
optimization_level (int) – 0 = no optimization, 1 = basic, 2 = full.
- Returns:
Optimized circuit.
- Return type:
microquantum.core.circuit.QuantumCircuit