Skip to main content
IBM Quantum Platform

PauliEvolutionSynthesisRustiq

class qiskit.transpiler.passes.synthesis.hls_plugins.PauliEvolutionSynthesisRustiq

GitHub

Bases: HighLevelSynthesisPlugin

Sintetiza un PauliEvolutionGate utilizando Rustiq.

El nombre de este plugin es :PauliEvolution.rustiq que puede usarse como clave en un HLSConfig para utilizar este método con HighLevelSynthesis.

El algoritmo de síntesis Rustiq se describe en [1], y se implementa en la biblioteca de síntesis de circuitos cuánticos basada en Rust disponible en https://github.com/smartiel/rustiq-core.

En circuitos grandes, el plugin puede tardar un tiempo de ejecución considerable.

El plugin admite las siguientes opciones adicionales:

  • optimize_count (bool): si es True el algoritmo de síntesis intentará optimizar

    el recuento de compuertas 2-qubit; y si es False entonces la profundidad 2-qubit.

  • preserve\order (bool): si se debe preservar el orden de los paulis, hasta

    conmutatividad.

  • upto_clifford (bool): si es True, no se sintetiza el operador Clifford final.

  • upto_phase (bool): si es True, la fase global del circuito devuelto puede

    difieren de la fase global de la red pauli dada.

  • resynth_clifford_method (int): describe la estrategia para sintetizar el producto final

    Operador Clifford. Los valores permitidos son 0 (enfoque ingenuo), 1 (qiskit greedy synthesis), 2 (rustiq isometry synthesis).

Referencias

  1. Timothée Goubault de Brugière y Simon Martiel, Faster and shorter synthesis of Hamiltonian simulation circuits, arXiv:2404.03280 [quant-ph]

Métodos

run

run(high_level_object, coupling_map=None, target=None, qubits=None, **options)

GitHub

Ejecutar la síntesis para la Operación dada.

Parámetros

  • high_level_object (Operation) – La Operación a sintetizar en un DAGCircuit objeto.
  • coupling_map (CouplingMap) – El mapa de acoplamiento del backend en caso de que la síntesis se realice en un circuito físico.
  • target (Target) – Un objetivo que representa el backend de destino.
  • qubits (list) – Lista de qubits sobre los que se define la operación en caso de que la síntesis se realice sobre un circuito físico.
  • options - Kwargs opcionales específicos del método.

Devuelve

La representación en circuito cuántico de la Operación

si tiene éxito, y None en caso contrario.

Tipo de retorno

QuantumCircuit

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