MCXRicorsivo
class qiskit.circuit.library.MCXRecursive(num_ctrl_qubits=None, label=None, ctrl_state=None, *, _base_label=None)
Basi: MCXGate
Implementare la porta X multicontrollata utilizzando la ricorsione.
Utilizzando un singolo qubit ancilla pulito, la porta X multicontrollata viene suddivisa in quattro sottoregistri, ognuno dei quali utilizza il metodo della catena a V.
Il metodo si basa sul Lemma 9 del [2], mostrato per la prima volta nel Lemma 7.3 del [1].
Riferimenti
- Barenco et al, 1995. https://arxiv.org/pdf/quant-ph/9503016.pdf
- Iten et al, 2015. https://arxiv.org/abs/1501.06911
Creare un nuovo gate MCX.
Metodi
Parametri
get_num_ancilla_qubits
static get_num_ancilla_qubits(num_ctrl_qubits, mode='recursion')
Ottenere il numero di qubit ancilla richiesti.
Parametri
inverse
inverse(annotated=False)
Invertire questo cancello. L'MCX è il suo inverso.
Parametri
annotated (bool) – quando è impostato su True, è tipicamente usato per restituire un oggetto AnnotatedOperation con un modificatore inverso impostato, invece di un concreto Gate. Tuttavia, per questa classe l'argomento viene ignorato, poiché il cancello è autoinvertito.
Risultati
gate inverso (autoinverso).
Tipo di restituzione