Liking cljdoc? Tell your friends :D

org.soulspace.qclojure.domain.qubit-optimization


analyze-qubit-usageclj

(analyze-qubit-usage circuit)

Analyze which qubits are actually used in a circuit.

Parameters:

  • circuit: Quantum circuit to analyze

Returns: Map containing:

  • :used-qubits - Set of qubit IDs that are actually used
  • :total-qubits - Total number of qubits declared in circuit
  • :unused-qubits - Set of qubit IDs that are declared but unused
  • :max-qubit-id - Highest qubit ID used
  • :qubit-usage-efficiency - Ratio of used qubits to total qubits
Analyze which qubits are actually used in a circuit.

Parameters:
- circuit: Quantum circuit to analyze

Returns:
Map containing:
- :used-qubits - Set of qubit IDs that are actually used
- :total-qubits - Total number of qubits declared in circuit
- :unused-qubits - Set of qubit IDs that are declared but unused
- :max-qubit-id - Highest qubit ID used
- :qubit-usage-efficiency - Ratio of used qubits to total qubits
sourceraw docstring

optimize-qubit-usageclj

(optimize-qubit-usage circuit)

Optimize a circuit to use the minimum number of qubits.

This function compacts qubit IDs to eliminate gaps and unused qubits, reducing the total number of qubits required for the circuit.

Parameters:

  • circuit: Quantum circuit to optimize

Returns: Map containing:

  • :quantum-circuit - Circuit with optimized qubit usage
  • :qubit-mapping - Map from old qubit IDs to new qubit IDs
  • :qubits-saved - Number of qubits saved by optimization
  • :original-qubits - Original number of qubits
  • :optimized-qubits - Final number of qubits after optimization

Example: ;; Circuit using qubits [0, 2, 5] out of 6 total qubits ;; After optimization: uses qubits [0, 1, 2] out of 3 total qubits (optimize-qubit-usage circuit) ;=> {:quantum-circuit <optimized-circuit>, :qubit-mapping {0 0, 2 1, 5 2}, ; :qubits-saved 3, :original-qubits 6, :optimized-qubits 3}

Optimize a circuit to use the minimum number of qubits.

This function compacts qubit IDs to eliminate gaps and unused qubits,
reducing the total number of qubits required for the circuit.

Parameters:
- circuit: Quantum circuit to optimize

Returns:
Map containing:
- :quantum-circuit - Circuit with optimized qubit usage
- :qubit-mapping - Map from old qubit IDs to new qubit IDs
- :qubits-saved - Number of qubits saved by optimization
- :original-qubits - Original number of qubits
- :optimized-qubits - Final number of qubits after optimization

Example:
;; Circuit using qubits [0, 2, 5] out of 6 total qubits
;; After optimization: uses qubits [0, 1, 2] out of 3 total qubits
(optimize-qubit-usage circuit)
;=> {:quantum-circuit <optimized-circuit>, :qubit-mapping {0 0, 2 1, 5 2}, 
;    :qubits-saved 3, :original-qubits 6, :optimized-qubits 3}
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close