Skip to main content
IBM Quantum Platform

PauliEvolutionSynthesisRustiq

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

GitHub

Bases : HighLevelSynthesisPlugin

Synthétiser un PauliEvolutionGate en utilisant Rustiq.

Le nom de ce plugin est :PauliEvolution.rustiq qui peut être utilisé comme clé sur un objet pour utiliser cette méthode HLSConfig pour utiliser cette méthode avec HighLevelSynthesis.

L'algorithme de synthèse Rustiq est décrit au point [1] et est mis en œuvre dans la bibliothèque de synthèse de circuits quantiques basée sur Rust, disponible à l'adresse suivante https://github.com/smartiel/rustiq-core.

Sur les grands circuits, le plugin peut prendre un temps d'exécution important.

Le plugin prend en charge les options supplémentaires suivantes :

  • optimize_count (bool) : si True, l'algorithme de synthèse essaiera d'optimiser

    le nombre de portes à 2 qubits; et si Faux, la profondeur à 2 qubits.

  • preserve_order (bool) : si l'ordre des paulis doit être préservé, jusqu'à

    commutativité.

  • upto_clifford (bool) : si True, l'opérateur Clifford final n'est pas synthétisé.

  • upto_phase (bool) : si True, la phase globale du circuit retourné peut être

    diffèrent de la phase globale du réseau pauli donné.

  • resynth_clifford_method (int) : décrit la stratégie pour synthétiser le produit final

    Opérateur Clifford. Les valeurs autorisées sont 0 (approche naïve), 1 (qiskit greedy synthesis), 2 (rustiq isometry synthesis).

Références

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

Méthodes

run

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

GitHub

Exécute la synthèse pour l'opération donnée.

Paramètres

  • high_level_object (Operation) – L'opération à synthétiser dans un DAGCircuit objet.
  • coupling_map (CouplingMap) – La carte de couplage du backend dans le cas où la synthèse est effectuée sur un circuit physique.
  • target (Target) – Une cible représentant le backend cible.
  • qubits (list) – Liste des qubits sur lesquels l'opération est définie dans le cas où la synthèse est effectuée sur un circuit physique.
  • options - Des éléments optionnels supplémentaires spécifiques à la méthode.

Retours

La représentation du circuit quantique de l'opération

en cas de succès, et None dans le cas contraire.

Type de retour

QuantumCircuit

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.