Skip to main content
IBM Quantum Platform

E

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

GitHub

Bases: QuantumCircuit

Um circuito que implementa a operação lógica AND em um número de qubits.

Para a operação AND, o estado 1|1\rangle é interpretado como True. O qubit resultante é invertido se o estado de todos os qubits variáveis for True. Nesse formato, a operação AND é igual a uma porta X multicontrolada, que é controlada em todos os qubits variáveis. Entretanto, usando uma lista de sinalizadores, os qubits podem ser ignorados ou negados. Na prática, os sinalizadores permitem ignorar controles ou aplicar portas pré e pós-X aos qubits negados.

A porta AND sem sinalizadores especiais é igual à porta X multicontrolada:

Diagrama que ilustra o circuito descrito anteriormente.

Usando sinalizadores, podemos negar qubits ou ignorá-los. Por exemplo, se tivermos 5 qubits e quisermos retornar True se o primeiro qubit for False e os dois últimos forem True , usaremos os sinalizadores [-1, 0, 0, 1, 1].

Diagrama que ilustra o circuito descrito anteriormente.
Descontinuado desde a versão 2.1

A classe qiskit.circuit.library.boolean_logic.quantum_and.AND está obsoleta desde o Qiskit 2.1. Ele será removido no Qiskit 3.0. Em vez disso, use qiskit.circuit.library.AndGate.

Parâmetros

  • num_variable_qubits (int) – Os qubits dos quais o AND é computado. O resultado será gravado em um qubit de resultado adicional.
  • flags (list[int] | None) – Uma lista de negações de marcação +1/0/-1 ou omissões de qubits.
  • mcx_mode (str) – O modo a ser usado para implementar a porta X multicontrolada.

Atributos

name

Tipo: str

Um nome legível por humanos para o circuito.

Exemplo

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.