Skip to main content
IBM Quantum Platform

Y

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

GitHub

Bases: QuantumCircuit

Circuito que ejecuta la operación lógica AND en varios qubits.

Para la operación AND, el estado 1|1\rangle se interpreta como True. El qubit resultante se voltea, si el estado de todos los qubits variables es True. En este formato, la operación AND equivale a una puerta X multicontrolada, que se controla en todos los qubits variables. Sin embargo, utilizando una lista de banderas, los qubits pueden omitirse o negarse. En la práctica, las banderas permiten omitir controles o aplicar puertas pre y post X a los qubits negados.

La puerta AND sin banderas especiales equivale a la puerta X multicontrolada:

Diagrama que ilustra el circuito descrito anteriormente.

Mediante banderas podemos negar qubits u omitirlos. Por ejemplo, si tenemos 5 qubits y queremos devolver True si el primer qubit es False y los dos últimos son True utilizaremos las banderas [-1, 0, 0, 1, 1].

Diagrama que ilustra el circuito descrito anteriormente.
Obsoleto desde la versión 2.1

La clase qiskit.circuit.library.boolean_logic.quantum_and.AND está obsoleta a partir de Qiskit 2.1. Se eliminará en Qiskit 3.0. Utilice qiskit.circuit.library.AndGate en su lugar.

Parámetros

  • num_variable_qubits (int) – Los qubits de los que se calcula la AND. El resultado se escribirá en un qubit de resultado adicional.
  • flags (list[int] | None) – Una lista de +1/0/-1 que marca negaciones u omisiones de qubits.
  • mcx_mode (str) – El modo que se utilizará para implementar la puerta X multicontrolada.

Atributos

name

Tipo: str

Un nombre legible para el circuito.

Ejemplo

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.