Skip to main content
IBM Quantum Platform

XXDescomponedor

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

GitHub

Bases: object

Una clase para la descomposición óptima de operadores unitarios de 2 qubits en puertas de base de 2 qubits de XX tipo (es decir, cada una de ellas localmente equivalente a CAN(α,0,0)CAN(\alpha, 0, 0) para un α\alpha que puede variar).

Parámetros

  • basis_fidelity (dict |float) – los puntos fuertes disponibles y la fidelidad de cada uno. Puede ser (1) un diccionario que asigne los valores de ángulo de XX a la fidelidad en ese ángulo; o (2) un único valor flotante f, interpretado como {pi: f, pi/2: f/2, pi/3: f/3}.
  • euler_basis (str) – Cadena de base proporcionada a OneQubitEulerDecomposer para la síntesis de 1Q. Por defecto "U".
  • embodiments (dict[float, QuantumCircuit] | None) – Un diccionario que asigna fuerzas de interacción alfa a circuitos nativos que incorporan la puerta CAN(α,0,0)CAN(\alpha, 0, 0). Los puntos fuertes se toman de forma que π/2\pi/2 represente la clase de un circuito completo CXGate.
  • backup_optimizer (Callable[..., QuantumCircuit] | None) – Si se proporciona, aplaza la síntesis a esta llamada cuando XXDecomposer no tiene su propia descomposición eficiente. Útil para casos especiales que implican 2 o 3 aplicaciones de XX(π/2)XX(\pi/2), en cuyo caso los métodos de síntesis estándar proporcionan un recuento de compuertas 1Q inferior.
Nota

Si no se pasa embodiments , o si falta una entrada, se rellenará según sea necesario utilizando el método _default_embodiment.

__call__

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

GitHub

Crea un circuito que modela (quizás aproximadamente) la operación unitaria especial unitary, utilizando las plantillas de circuito suministradas en la inicialización como embodiments. La rutina utiliza basis_fidelity para seleccionar la plantilla de circuito óptima, incluso al realizar la síntesis exacta; el contenido de basis_fidelity es un diccionario que mapea las intensidades de interacción (escaladas de modo que CX=RZX(π/2)CX = RZX(\pi/2) se corresponda con π/2\pi/2 ) con las fidelidades del circuito.

Parámetros

  • unitary (Operator or ndarray) – 4×44 \times 4 unitario para sintetizar.
  • basis_fidelity (dict orfloat) – Fidelidad de las puertas de base. Puede ser (1) un diccionario que asigne los valores de ángulo de XX a la fidelidad en ese ángulo; o (2) un único valor flotante f, interpretado como {pi: f, pi/2: f/2, pi/3: f/3}. Si se da, anula la basis_fidelity dada en init.
  • approximate (bool) – Se aproxima si las fidelidades de base son inferiores a 1.0.
  • use_dag (bool) – Si es verdadero se devuelve un DAGCircuit en lugar de QuantumCircuit .

Devuelve

Circuito sintetizado.

Tipo de retorno

QuantumCircuit


Métodos

num_basis_gates

num_basis_gates(unitary)

GitHub

Cuenta el número de puertas que se emitirían durante la resíntesis.

Nota

Este método es utilizado por ConsolidateBlocks.

Parámetros

unitary (Operator |ndarray)

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.