XXDecompositor
class qiskit.synthesis.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)
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 , para um 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
XXpara a fidelidade nesse ângulo; ou (2) um único floatf, interpretado como{pi: f, pi/2: f/2, pi/3: f/3}. - euler_basis (str) – Cadeia de base fornecida para
OneQubitEulerDecomposerpara 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 . Os pontos fortes são considerados de modo que 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
XXDecomposernão tiver uma decomposição eficiente própria. Útil para casos especiais que envolvam 2 ou 3 aplicações de , caso em que os métodos de síntese padrão fornecem uma contagem de portas 1Q menor.
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)
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 corresponda a ) para as fidelidades do circuito.
Parâmetros
- unitary (Operator or ndarray) – 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
XXpara a fidelidade nesse ângulo; ou (2) um único floatf, 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 umQuantumCircuitquando essa classe é chamada.
Retorna
Circuito sintetizado.
Tipo de retorno
Métodos
num_basis_gates
num_basis_gates(unitary)
Conta o número de portas que seriam emitidas durante a ressíntese.
Esse método é usado por ConsolidateBlocks.
Parâmetros