Skip to main content
IBM Quantum Platform

IntegerComparator

class qiskit.circuit.library.IntegerComparator(num_state_qubits=None, value=None, geq=True, name='cmp')

GitHub

Basen: BlueprintCircuit

Ganzzahliger Komparator.

Der Operator vergleicht die Basiszustände ∣i⟩n|i\rangle_n mit einer klassisch gegebenen ganzen Zahl LL mit festem Wert und flippt ein Ziel-Qubit, wenn i≥Li \geq L (oder <<, abhängig vom Parameter geq):

∣i⟩n∣0⟩↦∣i⟩n∣i≥L⟩|i\rangle_n |0\rangle \mapsto |i\rangle_n |i \geq L\rangle

Diese Operation basiert auf der Implementierung der binären Subtraktion im Zweierkomplement, verwendet jedoch nur Übertragsbits und keine eigentlichen Ergebnisbits. Wenn das höchstwertige Übertragsbit (das Ergebnisbit) 1 ist, lautet die Bedingung ≥\geq True , ansonsten False.

Parameter

  • num_state_qubits (int | None) – Anzahl der Zustandsqubits. Ist diese Option aktiviert, wird die Anzahl der für die Schaltung erforderlichen Qubits bestimmt.
  • value (int | None) – Der feste Wert, mit dem verglichen wird.
  • geq (bool) – Wenn True, eine >= Bedingung auswerten, sonst <.
  • name (str) – Name der Schaltung.

Attribute

geq

Gibt zurück, ob der Komparator größer oder kleiner gleich vergleicht.

Rückgabe

True, wenn der Komparator >= vergleicht, False, wenn <.

num_state_qubits

Die Anzahl der Qubits, die den Zustand für den Vergleich kodieren.

Rückgabe

Die Anzahl der Status-Qubits.

value

Der Wert, mit dem das Qubit-Register verglichen wird.

Rückgabe

Der Wert, mit dem der Wert des Qubit-Registers verglichen wird.

name

Typ: str

Ein von Menschen lesbarer Name für den Stromkreis.

Beispiel

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.