Skip to main content
IBM Quantum Platform

XXDecompositor

class qiskit.synthesis.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)

GitHub

Bases: object

Uma classe para a decomposição ótima de operadores unitários de 2 qubits em portas de base de 2 qubits do XX tipo (ou seja, cada uma localmente equivalente a CAN(α,0,0)CAN(\alpha, 0, 0), para um α\alpha que pode variar).

Parâmetros

  • basis_fidelity (dict |float) – os pontos fortes disponíveis e a fidelidade de cada um. Pode ser (1) um dicionário que mapeia os valores do ângulo XX para a fidelidade nesse ângulo; ou (2) um único float f, interpretado como {pi: f, pi/2: f/2, pi/3: f/3}.
  • euler_basis (str) – Cadeia de base fornecida para OneQubitEulerDecomposer para 1Q synthesis. O padrão é "U".
  • embodiments (dict[float, QuantumCircuit] | None) – Um dicionário que mapeia os pontos fortes de interação alfa para circuitos nativos que incorporam a porta CAN(α,0,0)CAN(\alpha, 0, 0). Os pontos fortes são considerados de modo que π/2\pi/2 represente a classe de um circuito completo de CXGate.
  • backup_optimizer (Callable[..., QuantumCircuit] | None) – Se fornecido, adia a síntese para esse chamável quando XXDecomposer não tiver uma decomposição eficiente própria. Útil para casos especiais que envolvam 2 ou 3 aplicações de XX(π/2)XX(\pi/2), caso em que os métodos de síntese padrão fornecem uma contagem de portas 1Q menor.
Nota

Se embodiments não for passado, ou se uma entrada estiver faltando, ela será preenchida conforme necessário usando o método _default_embodiment.

__call__

__call__(unitary, basis_fidelity=None, approximate=True, use_dag=False)

GitHub

Modela um circuito que (talvez aproximadamente) modela a operação unitária especial unitary, usando os modelos de circuito fornecidos na inicialização como embodiments. A rotina usa o site basis_fidelity para selecionar o modelo de circuito ideal, inclusive ao realizar a síntese exata; o conteúdo do site basis_fidelity é um dicionário que mapeia os pontos fortes da interação (dimensionados de modo que CX=RZX(π/2)CX = RZX(\pi/2) corresponda a π/2\pi/2 ) para as fidelidades do circuito.

Parâmetros

  • unitary (Operator or ndarray) – 4×44 \times 4 unitário para sintetizar.
  • basis_fidelity (dict orfloat) – Fidelidade dos portões de base. Pode ser (1) um dicionário que mapeia os valores do ângulo XX para a fidelidade nesse ângulo; ou (2) um único float f, interpretado como {pi: f, pi/2: f/2, pi/3: f/3}. Se fornecido, substitui a base_fidelidade fornecida no init.
  • approximate (bool) – Aproximações se as fidelidades da base forem menores que 1.0.
  • use_dag (bool) – Se verdadeiro, um DAGCircuit é retornado em vez de um QuantumCircuit quando essa classe é chamada.

Retorna

Circuito sintetizado.

Tipo de retorno

QuantumCircuit


Métodos

num_basis_gates

num_basis_gates(unitary)

GitHub

Conta o número de portas que seriam emitidas durante a ressíntese.

Nota

Esse método é usado por ConsolidateBlocks.

Parâmetros

unitary (Operator |ndarray)

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