Skip to main content
IBM Quantum Platform

MCXRicorsivo

class qiskit.circuit.library.MCXRecursive(num_ctrl_qubits=None, label=None, ctrl_state=None, *, _base_label=None)

GitHub

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

  1. Barenco et al, 1995. https://arxiv.org/pdf/quant-ph/9503016.pdf
  2. Iten et al, 2015. https://arxiv.org/abs/1501.06911

Creare un nuovo gate MCX.


Metodi

Parametri

  • num_ctrl_qubits (int | None)
  • label (str | None)
  • ctrl_state (int |str | None)

get_num_ancilla_qubits

static get_num_ancilla_qubits(num_ctrl_qubits, mode='recursion')

GitHub

Ottenere il numero di qubit ancilla richiesti.

Parametri

  • num_ctrl_qubits (int)
  • mode (str)

inverse

inverse(annotated=False)

GitHub

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

MCXRecursive

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.