Skip to main content
IBM Quantum Platform

XXDecomposer

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

GitHub

Basi: object

Una classe di decomposizioni ottimali delle operazioni unitarie a 2 qubit in porte di base a 2 qubit di XX tipo (ovvero, ciascuna localmente equivalente a CAN(α,0,0)CAN(\alpha, 0, 0) per un α\alpha eventualmente variabile).

Parametri

  • basis_fidelity (dict |float) – i punti di forza disponibili e la fedeltà di ciascuno. Può essere (1) un dizionario che mappa i valori dell'angolo XX con la fedeltà a quell'angolo; oppure (2) un singolo float f, interpretato come {pi: f, pi/2: f/2, pi/3: f/3}.
  • euler_basis (str) – Stringa di base fornita a OneQubitEulerDecomposer per la sintesi di 1Q. L'impostazione predefinita è "U".
  • CXGateembodiments (dict[float, QuantumCircuit] | None) – Un dizionario che associa le intensità di interazione alfa ai circuiti nativi che incarnano il gate CAN(α,0,0)CAN(\alpha, 0, 0). Le intensità sono definite in modo tale che π/2\pi/2 rappresenti la classe di un.
  • backup_optimizer (Callable[..., QuantumCircuit] | None) – Se fornito, rimanda la sintesi a questo oggetto richiamabile quando XXDecomposer non dispone di una propria scomposizione efficiente. Utile in casi particolari che prevedono 2 o 3 applicazioni dell’ XX(π/2)XX(\pi/2); in tali casi, i metodi di sintesi standard garantiscono un numero inferiore di gate 1Q.
Nota

Se embodiments non viene passato, o se una voce è mancante, verrà popolata come necessario usando il metodo _default_embodiment.

__call__

__call__(unitary, basis_fidelity=None, approximate=True, use_dag=False)

GitHub

Crea un circuito che modella (forse approssimativamente) l'operazione speciale unitaria unitary, utilizzando i modelli di circuito forniti all'inizializzazione come embodiments. La routine utilizza basis_fidelity per selezionare il modello di circuito ottimale, anche quando si esegue la sintesi esatta; il contenuto di basis_fidelity è un dizionario che mappa le forze di interazione (scalate in modo che CX=RZX(π/2)CX = RZX(\pi/2) corrisponda a π/2\pi/2 ) con le fedeltà del circuito.

Parametri

  • unitary (Operator or ndarray) – 4×44 \times 4 unitario da sintetizzare.
  • basis_fidelity (dict orfloat) – Fedeltà delle porte di base. Può essere (1) un dizionario che mappa i valori dell'angolo XX con la fedeltà a quell'angolo; oppure (2) un singolo float f, interpretato come {pi: f, pi/2: f/2, pi/3: f/3}. Se dato, sovrascrive la base_fidelity data all'inizio.
  • approximate (bool) – Approssima se le fedeltà delle basi sono inferiori a 1.0.
  • use_dag (bool) – Se è vero, quando questa classe viene richiamata viene restituito un oggetto DAGCircuit viene restituito al posto di QuantumCircuit quando questa classe viene chiamata.

Risultati

Circuito sintetizzato.

Tipo di restituzione

QuantumCircuit


Metodi

num_basis_gates

num_basis_gates(unitary)

GitHub

Conta il numero di porte che verrebbero emesse durante la risintesi.

Nota

Questo metodo è utilizzato da ConsolidateBlocks.

Parametri

unitary (Operator |ndarray)

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.