MCXSynthesisNDirtyI15
class qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyI15
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 qubit di controllo, questo metodo di sintesi richiede ulteriori qubit ausiliari sporchi. Il circuito sintetizzato è composto da qubit e al massimo da porte CX. Per 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 diaction partsi annullino con le fasi direset part. - action_only: quando è impostato su
True, il metodo applica solo ilaction partdel lemma 8 di [1].
Riferimenti
- 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)
Esegue la sintesi per il gate MCX indicato.