Skip to main content
IBM Quantum Platform

IntegerComparator

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

GitHub

Bases : BlueprintCircuit

Comparateur d'entiers.

L'opérateur compare les états de base in|i\rangle_n à un entier classiquement donné LL de valeur fixe et retourne un qubit cible si iLi \geq L (ou << en fonction du paramètre geq) :

in0iniL|i\rangle_n |0\rangle \mapsto |i\rangle_n |i \geq L\rangle

Cette opération est basée sur la mise en œuvre de la soustraction binaire en complément à deux, mais elle n'utilise que des bits de report et aucun bit de résultat réel. Si le bit de report le plus significatif (le bit de résultat) est égal à 1, la condition \geq est True , sinon elle est False.

Paramètres

  • num_state_qubits (int | None) – Nombre de qubits d'état. Si ce paramètre est défini, il déterminera le nombre de qubits requis pour le circuit.
  • value (int | None) – La valeur fixe avec laquelle la comparaison doit être effectuée.
  • geq (bool) – Si Vrai, évaluer une condition >= , sinon <.
  • name (str) – Nom du circuit.

Attributs

geq

Retourne si le comparateur compare des valeurs plus ou moins égales.

Retours

Vrai si le comparateur compare >=, Faux si <.

num_state_qubits

Le nombre de qubits codant l'état pour la comparaison.

Retours

Le nombre de qubits d'état.

value

Valeur à laquelle comparer le registre de qubits.

Retours

Valeur à laquelle la valeur du registre de qubits est comparée.

name

Type : str

Un nom lisible par l'homme pour le circuit.

Exemple

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.