Skip to main content
IBM Quantum Platform

E

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

GitHub

Basi: QuantumCircuit

Un circuito che implementa l'operazione logica AND su un certo numero di qubit.

Per l'operazione AND lo stato 1|1\rangle viene interpretato come True. Il qubit risultato è capovolto, se lo stato di tutti i qubit variabili è True. In questo formato, l'operazione AND equivale a una porta X multicontrollata, controllata su tutti i qubit variabili. Utilizzando un elenco di flag, tuttavia, i qubit possono essere saltati o annullati. In pratica, i flag consentono di saltare i controlli o di applicare gate pre e post-X ai qubit negati.

La porta AND senza flag speciali equivale alla porta-X multicontrollata:

Schema che illustra il circuito precedentemente descritto.

Utilizzando i flag possiamo negare i qubit o saltarli. Ad esempio, se abbiamo 5 qubit e vogliamo restituire True se il primo qubit è False e gli ultimi due sono True , usiamo i flag [-1, 0, 0, 1, 1].

Schema che illustra il circuito precedentemente descritto.
Deprecato dalla versione 2.1

La classe qiskit.circuit.library.boolean_logic.quantum_and.AND è deprecata a partire da Qiskit 2.1. Verrà rimosso in Qiskit 3.0. Utilizzare invece qiskit.circuit.library.AndGate.

Parametri

  • num_variable_qubits (int) – I qubit di cui viene calcolato l'AND. Il risultato sarà scritto in un ulteriore qubit di risultato.
  • flags (list[int] | None) – Una lista di +1/0/-1 che segna negazioni o omissioni di qubit.
  • mcx_mode (str) – La modalità da utilizzare per implementare la porta X multicontrollata.

Attributi

name

Tipo: str

Un nome leggibile per il circuito.

Esempio

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.