Skip to main content
IBM Quantum Platform

OU

class qiskit.circuit.library.OR(num_variable_qubits, flags=None, mcx_mode='noancilla')

GitHub

Bases : QuantumCircuit

Circuit mettant en œuvre l'opération logique OU sur un certain nombre de qubits.

Pour l'opération OU, l'état 1|1\rangle est interprété comme True. Le qubit de résultat est retourné si l'état d'un qubit variable est True. Le OU est mis en œuvre à l'aide d'une porte X contrôlée par une ouverture multiple (c'est-à-dire qu'elle se retourne si l'état est 0|0\rangle ) et en appliquant une porte X sur le qubit de résultat. En utilisant une liste de drapeaux, les qubits peuvent être ignorés ou annulés.

La porte OU sans drapeaux spéciaux :

Schéma illustrant le circuit décrit précédemment.

Les drapeaux permettent d'annuler des qubits ou de les ignorer. Par exemple, si nous avons 5 qubits et que nous voulons renvoyer True si le premier qubit est False ou si l'un des deux derniers est True , nous utilisons les drapeaux [-1, 0, 0, 1, 1].

Schéma illustrant le circuit décrit précédemment.
Déclassé depuis la version 2.1

La classe qiskit.circuit.library.boolean_logic.quantum_or.OR est obsolète depuis Qiskit 2.1. Elle sera supprimée à Qiskit 3.0. Utilisez plutôt qiskit.circuit.library.OrGate.

Paramètres

  • num_variable_qubits (int) – Les qubits pour lesquels l'OR est calculé. Le résultat sera inscrit dans un qubit de résultat supplémentaire.
  • flags (list[int] | None) – Une liste de notations +1/0/-1 indiquant les inversions ou les omissions de qubits.
  • mcx_mode (str) – Le mode à utiliser pour mettre en œuvre la porte X multicommandée.

Attributs

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.