MCXSynthesisNDirtyI15
class qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyI15
Bases : HighLevelSynthesisPlugin
Plugin de synthèse pour une porte X multi-contrôlée basé sur l'article de Iten et al. (2016).
Voir le [point 1] pour plus de détails.
Le nom de ce plugin est :mcx.n_dirty_i15 qui peut être utilisé comme clé sur un objet pour utiliser cette méthode HLSConfig pour utiliser cette méthode avec HighLevelSynthesis.
Pour une porte X multicontrôlée avec qubits de contrôle, cette méthode de synthèse nécessite qubits auxiliaires sales supplémentaires. Le circuit synthétisé se compose de qubits et d'au plus portes CX. Pour , des circuits efficaces explicites sont utilisés à la place.
Le plugin prend en charge les options suivantes, spécifiques au plugin :
- num_clean_ancillas : Nombre de qubits auxiliaires propres disponibles.
- num_dirty_ancillas : Nombre de qubits auxiliaires sales disponibles.
- relative_phase : Lorsqu'elle est définie sur
True, la méthode applique la porte X multicontrôlée optimisée jusqu'à une phase relative, de manière à ce que, par le lemme 8 de [1], les phases relatives deaction parts'annulent avec les phases dereset part. - action_only : lorsqu'elle vaut
True, la méthode n'applique que leaction partdu lemme 8 de [1].
Références
- Iten et al. et al., Circuits quantiques pour les isométries, Phys. Rév. A 93, 23 mars 2018 (2016), arXiv:1501.06911
Méthodes
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Exécutez la synthèse pour la porte MCX donnée.