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