MCXSynthesisNDirtyI15
class qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyI15
Bases: HighLevelSynthesisPlugin
Plug-in de síntese para uma porta X multicontrolada com base no artigo de Iten et al. (2016).
Consulte [1] para obter detalhes.
O nome do plug-in é:mcx.n_dirty_i15 , que pode ser usado como a chave em um HLSConfig para usar esse método com HighLevelSynthesis.
Para uma porta X multicontrolada com qubits de controle, esse método de síntese requer qubits auxiliares sujos adicionais. O circuito sintetizado consiste em qubits e no máximo CX gates. Para , em vez disso, são usados circuitos eficientes explícitos.
O plug-in é compatível com as seguintes opções específicas do plug-in:
- num_clean_ancillas: O número de qubits auxiliares limpos disponíveis.
- num_dirty_ancillas: O número de qubits auxiliares sujos disponíveis.
- relative_phase: Quando definido como
True, o método aplica a porta X multicontrolada otimizada até uma fase relativa, de modo que, pelo lema 8 de [1], as fases relativas doaction partse cancelam com as fases doreset part. - action_only: quando definido como
True, o método aplica somente oaction partdo lema 8 de [1].
Referências
- Iten et al. et al., Circuitos quânticos para isometrias, Phys. Rev. A 93, 23/03/2018 (2016), arXiv:1501.06911
Métodos
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Execute a síntese para a porta MCX fornecida.