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

microquantum.core.optimization.circuit_stats(circuit)[source]

Compute statistics about a circuit.

Parameters:

circuit (microquantum.core.circuit.QuantumCircuit) – The circuit to analyze.

Returns:

Dictionary with gate_count, depth, and single_qubit_gates.

Return type:

dict[str, int]