Skip to main content
IBM Quantum Platform

XXZersetzer

class qiskit.synthesis.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)

GitHub

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 CAN(α,0,0)CAN(\alpha, 0, 0) für ein möglicherweise variierendes α\alpha 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 XX auf die Treue in diesem Winkel abbildet, oder (2) ein einzelner Float f, der als {pi: f, pi/2: f/2, pi/3: f/3} interpretiert wird.
  • euler_basis (str) – Basisstring bereitgestellt für OneQubitEulerDecomposer fü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- CAN(α,0,0)CAN(\alpha, 0, 0) verkörpern. Die Stärken werden so gewählt, dass π/2\pi/2 die Klasse eines vollständigen darstellt.
  • backup_optimizer (Callable[..., QuantumCircuit] | None) – Falls angegeben, wird die Synthese an diese aufrufbare Funktion delegiert, wenn XXDecomposer selbst keine effiziente Zerlegung besitzt. Nützlich für Sonderfälle mit zwei oder drei „ XX(π/2)XX(\pi/2) “-Anwendungen; in diesen Fällen führen Standard-Syntheseverfahren zu einer geringeren Anzahl von „ 1Q “-Gates.
Anmerkung

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)

GitHub

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 CX=RZX(π/2)CX = RZX(\pi/2) π/2\pi/2 entspricht) auf die Schaltungstreue abbildet.

Parameter

  • unitary (Operator or ndarray) – 4×44 \times 4 einheitlich zu synthetisieren.
  • basis_fidelity (dict orfloat) – Treue der Basis-Gates. Kann entweder (1) ein Wörterbuch sein, das die Winkelwerte von XX auf die Treue in diesem Winkel abbildet, oder (2) ein einzelner Float f, 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 DAGCircuit anstelle von QuantumCircuit zurückgegeben, wenn diese Klasse aufgerufen wird.

Rückgabe

Synthetisierte Schaltung.

Rückgabetyp

QuantumCircuit


Methoden

num_basis_gates

num_basis_gates(unitary)

GitHub

Zählt die Anzahl der Gatter, die bei der Neusynthese ausgegeben werden würden.

Anmerkung

Diese Methode wird verwendet von ConsolidateBlocks.

Parameter

unitary (Operator |ndarray)

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