XXDescomponedor
class qiskit.synthesis.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)
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 para un 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
XXa la fidelidad en ese ángulo; o (2) un único valor flotantef, interpretado como{pi: f, pi/2: f/2, pi/3: f/3}. - euler_basis (str) – Cadena de base proporcionada a
OneQubitEulerDecomposerpara 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 . Los puntos fuertes se toman de forma que represente la clase de un circuito completo
CXGate. - backup_optimizer (Callable[..., QuantumCircuit] | None) – Si se proporciona, aplaza la síntesis a esta llamada cuando
XXDecomposerno tiene su propia descomposición eficiente. Útil para casos especiales que implican 2 o 3 aplicaciones de , en cuyo caso los métodos de síntesis estándar proporcionan un recuento de compuertas 1Q inferior.
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)
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 se corresponda con ) con las fidelidades del circuito.
Parámetros
- unitary (Operator or ndarray) – 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
XXa la fidelidad en ese ángulo; o (2) un único valor flotantef, 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
DAGCircuiten lugar deQuantumCircuit.
Devuelve
Circuito sintetizado.
Tipo de retorno
Métodos
num_basis_gates
num_basis_gates(unitary)
Cuenta el número de puertas que se emitirían durante la resíntesis.
Este método es utilizado por ConsolidateBlocks.
Parámetros