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 níveis de interação alfa para circuitos nativos que incorporam o portão CAN(α,0,0)CAN(\alpha, 0, 0). Os níveis são definidos de forma que π/2\pi/2 represente a classe de um CXGate.
  • backup_optimizer (Callable[..., QuantumCircuit] | None) – Se fornecido, adia a síntese para esse objeto chamável quando XXDecomposer não possui uma decomposição eficiente própria. Útil para casos especiais que envolvem 2 ou 3 aplicações de “ XX(π/2)XX(\pi/2) ”; nesse caso, os métodos de síntese padrão resultam em um número menor de portas “ 1Q ”.
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.