Skip to main content
IBM Quantum Platform

HalfAdderSynthesisDefault

class qiskit.transpiler.passes.synthesis.hls_plugins.HalfAdderSynthesisDefault

GitHub

Basen: HighLevelSynthesisPlugin

Die standardmäßige Halbaddierer-Synthese (kein Carry-in, aber ein Carry-out-Qubit).

Wenn wir ein Hilfsqubit zur Verfügung haben, verwendet der Cuccaro-Ripple-Carry-Addierer O(n)O(n) CX-Gatter und 1 Hilfsqubit, während der Vedral-Ripple-Carry-Addierer mehr CX- und n−1n-1 Hilfsqubits verwendet. Der QFT-basierte Addierer verwendet keine Hilfsqubits, sondern O(n2)O(n^2) und wird daher nur verwendet, wenn keine Hilfsqubits verfügbar sind.

Dieser Plugin-Name ist:HalfAdder.default , der als Schlüssel für ein Objekt verwendet werden kann HLSConfig objekt verwendet werden kann, um diese Methode mit HighLevelSynthesis.

Wenn mindestens ein sauberes Hilfsqubit vorhanden ist, wird das HalfAdderSynthesisC04 verwendet, andernfalls HalfAdderSynthesisD00.

Das Plugin unterstützt die folgenden Plugin-spezifischen Optionen:

  • num_clean_ancillas: Die Anzahl der verfügbaren sauberen Hilfsqubits.

Methoden

run

run(high_level_object, coupling_map=None, target=None, qubits=None, **options)

GitHub

Durchführung der Synthese für die angegebene Operation.

Parameter

  • high_level_object (Operation) – Die zu synthetisierende Operation zu einem DAGCircuit objekt.
  • coupling_map (CouplingMap) – Die Kopplungskarte des Backends für den Fall, dass die Synthese auf einer physikalischen Schaltung erfolgt.
  • target (Target) – Ein Ziel, das das Ziel-Backend darstellt.
  • qubits (list) – Liste der Qubits, über die die Operation definiert ist, falls die Synthese auf einer physikalischen Schaltung erfolgt.
  • options - Zusätzliche methodenspezifische optionale kwargs.

Rückgabe

Die Quantenschaltungsdarstellung der Operation

wenn sie erfolgreich ist, und andernfalls None .

Rückgabetyp

QuantumCircuit

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.