Skip to main content
IBM Quantum Platform

MCXSynthesisNDirtyI15

class qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyI15

GitHub

Basi: HighLevelSynthesisPlugin

Plugin di sintesi per un gate X multicontrollato basato sull'articolo di Iten et al. (2016).

Per i dettagli, vedere [1].

Il nome del plugin è:mcx.n_dirty_i15 che può essere utilizzato come chiave di un oggetto HLSConfig per utilizzare questo metodo con HighLevelSynthesis.

Per una porta X multicontrollata con k4k\ge 4 qubit di controllo, questo metodo di sintesi richiede k2k - 2 ulteriori qubit ausiliari sporchi. Il circuito sintetizzato è composto da 2k12 * k - 1 qubit e al massimo da 8k68 * k - 6 porte CX. Per k3k\le 3 si utilizzano invece circuiti efficienti espliciti.

Il plugin supporta le seguenti opzioni specifiche del plugin:

  • num_clean_ancillas: Numero di qubit ausiliari puliti disponibili.
  • num_dirty_ancillas: Numero di qubit ausiliari sporchi disponibili.
  • fase_relativa: Se impostato su True, il metodo applica la porta X ottimizzata e multicontrollata fino a una fase relativa, in modo che, per il lemma 8 di [1], le fasi relative di action part si annullino con le fasi di reset part.
  • action_only: quando è impostato su True, il metodo applica solo il action part del lemma 8 di [1].

Riferimenti

  1. Iten e altri. et al., Circuiti quantistici per isometrie, Phys. Rev. A 93, 23/03/2018 (2016), arXiv:1501.06911

Metodi

run

run(high_level_object, coupling_map=None, target=None, qubits=None, **options)

GitHub

Esegue la sintesi per il gate MCX indicato.

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