XXZersetzer
class qiskit.synthesis.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)
Basen: object
Eine Klasse für die optimale Zerlegung von 2-Qubit-Unitarien in 2-Qubit-Basispforten vom XX Typ (d. h., die jeweils lokal äquivalent zu für ein möglicherweise variierendes sind).
Parameter
- basis_fidelity (dict |float) – die verfügbaren Stärken und die Treue der einzelnen Systeme. Kann entweder (1) ein Wörterbuch sein, das die Winkelwerte von
XXauf die Treue in diesem Winkel abbildet, oder (2) ein einzelner Floatf, der als{pi: f, pi/2: f/2, pi/3: f/3}interpretiert wird. - euler_basis (str) – Basisstring bereitgestellt für
OneQubitEulerDecomposerfür die Synthese von 1Q. Die Standardeinstellung ist"U". CXGateembodiments (dict[float, QuantumCircuit] | None) – Ein Wörterbuch, das die Interaktionsstärken alpha den nativen Schaltkreisen zuordnet, die die Gate- verkörpern. Die Stärken werden so gewählt, dass die Klasse eines vollständigen darstellt.- backup_optimizer (Callable[..., QuantumCircuit] | None) – Falls angegeben, wird die Synthese an diese aufrufbare Funktion delegiert, wenn
XXDecomposerselbst keine effiziente Zerlegung besitzt. Nützlich für Sonderfälle mit zwei oder drei „ “-Anwendungen; in diesen Fällen führen Standard-Syntheseverfahren zu einer geringeren Anzahl von „ 1Q “-Gates.
Wenn embodiments nicht übergeben wird oder ein Eintrag fehlt, wird er bei Bedarf mit der Methode _default_embodiment aufgefüllt.
__call__
__call__(unitary, basis_fidelity=None, approximate=True, use_dag=False)
Erstellt eine Schaltung, die (vielleicht näherungsweise) die spezielle unitäre Operation unitary modelliert, wobei die bei der Initialisierung gelieferten Schaltungsvorlagen als embodiments verwendet werden. Die Routine verwendet basis_fidelity , um die optimale Schaltungsvorlage auszuwählen, auch bei der exakten Synthese; der Inhalt von basis_fidelity ist ein Wörterbuch, das die Interaktionsstärken (skaliert, so dass entspricht) auf die Schaltungstreue abbildet.
Parameter
- unitary (Operator or ndarray) – einheitlich zu synthetisieren.
- basis_fidelity (dict orfloat) – Treue der Basis-Gates. Kann entweder (1) ein Wörterbuch sein, das die Winkelwerte von
XXauf die Treue in diesem Winkel abbildet, oder (2) ein einzelner Floatf, der als{pi: f, pi/2: f/2, pi/3: f/3}interpretiert wird. Falls angegeben, wird die bei init angegebene Basis_fidelity außer Kraft gesetzt. - approximate (bool) – Annäherungen, wenn die Basistreue kleiner als 1.0 ist.
- use_dag (bool) – Bei true wird ein
DAGCircuitanstelle vonQuantumCircuitzurückgegeben, wenn diese Klasse aufgerufen wird.
Rückgabe
Synthetisierte Schaltung.
Rückgabetyp
Methoden
num_basis_gates
num_basis_gates(unitary)
Zählt die Anzahl der Gatter, die bei der Neusynthese ausgegeben werden würden.
Diese Methode wird verwendet von ConsolidateBlocks.
Parameter