PauliEvolutionSynthesisRustiq
class qiskit.transpiler.passes.synthesis.hls_plugins.PauliEvolutionSynthesisRustiq
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
- 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)
Durchführung der Synthese für die angegebene Operation.
Parameter
- high_level_object (Operation) – Die zu synthetisierende Operation zu einem
DAGCircuitobjekt. - 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