Skip to main content
IBM Quantum Platform

PauliEvolutionSynthesisRustiq

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

GitHub

Basen: HighLevelSynthesisPlugin

Synthetisieren Sie eine PauliEvolutionGate mit Rustiq.

Dieser Plugin-Name lautet:PauliEvolution.rustiq , der als Schlüssel für ein Objekt verwendet werden kann HLSConfig objekt verwendet werden kann, um diese Methode mit HighLevelSynthesis.

Der Rustiq-Synthesealgorithmus wird in [1] beschrieben und ist in der Rust-basierten Bibliothek für die Synthese von Quantenschaltungen implementiert, die unter https://github.com/smartiel/rustiq-core.

Bei großen Schaltungen kann das Plugin eine erhebliche Laufzeit benötigen.

Das Plugin unterstützt die folgenden zusätzlichen Optionen:

  • optimize_count (bool): wenn True, wird der Synthesealgorithmus versuchen, die

    die 2-Qubit-Gate-Anzahl; und wenn Falsch, dann die 2-Qubit-Tiefe.

  • preserve_order (bool): ob die Reihenfolge der Paulis beibehalten werden soll, bis zu

    kommutativität.

  • upto_clifford (bool): wenn True, wird der endgültige Clifford-Operator nicht synthetisiert.

  • upto_phase (bool): wenn True, kann die globale Phase des zurückgegebenen Schaltkreises

    von der globalen Phase des gegebenen Pauli-Netzes abweichen.

  • resynth_clifford_method (int): beschreibt die Strategie zur Synthese der endgültigen

    Clifford Betreiber. Erlaubte Werte sind 0 (naiver Ansatz), 1 (qiskit greedy synthesis), 2 (rustiq isometry synthesis).

Referenzen

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

Methoden

run

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

GitHub

Durchführung der Synthese für die angegebene Operation.

Parameter

  • high_level_object (Operation) – Die zu synthetisierende Operation zu einem DAGCircuit objekt.
  • coupling_map (CouplingMap) – Die Kopplungskarte des Backends für den Fall, dass die Synthese auf einer physikalischen Schaltung erfolgt.
  • target (Target) – Ein Ziel, das das Ziel-Backend darstellt.
  • qubits (list) – Liste der Qubits, über die die Operation definiert ist, falls die Synthese auf einer physikalischen Schaltung erfolgt.
  • options - Zusätzliche methodenspezifische optionale kwargs.

Rückgabe

Die Quantenschaltungsdarstellung der Operation

wenn sie erfolgreich ist, und andernfalls None .

Rückgabetyp

QuantumCircuit

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.