E
class qiskit.circuit.library.AND(num_variable_qubits, flags=None, mcx_mode='noancilla')
Basi: QuantumCircuit
Un circuito che implementa l'operazione logica AND su un certo numero di qubit.
Per l'operazione AND lo stato 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:

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].

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