Skip to main content
IBM Quantum Platform

MCXSynthesisNDirtyI15

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

GitHub

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 k4k\ge 4 qubits de controle, esse método de síntese requer k2k - 2 qubits auxiliares sujos adicionais. O circuito sintetizado consiste em 2k12 * k - 1 qubits e no máximo 8k68 * k - 6 CX gates. Para k3k\le 3, 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 do action part se cancelam com as fases do reset part.
  • action_only: quando definido como True, o método aplica somente o action part do lema 8 de [1].

Referências

  1. 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)

GitHub

Execute a síntese para a porta MCX fornecida.

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.