XXDecomposer
class qiskit.synthesis.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)
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 per un 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
XXcon la fedeltà a quell'angolo; oppure (2) un singolo floatf, interpretato come{pi: f, pi/2: f/2, pi/3: f/3}. - euler_basis (str) – Stringa di base fornita a
OneQubitEulerDecomposerper 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 . Le intensità sono definite in modo tale che rappresenti la classe di un.- backup_optimizer (Callable[..., QuantumCircuit] | None) – Se fornito, rimanda la sintesi a questo oggetto richiamabile quando
XXDecomposernon dispone di una propria scomposizione efficiente. Utile in casi particolari che prevedono 2 o 3 applicazioni dell’ ; in tali casi, i metodi di sintesi standard garantiscono un numero inferiore di gate 1Q.
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)
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 corrisponda a ) con le fedeltà del circuito.
Parametri
- unitary (Operator or ndarray) – unitario da sintetizzare.
- basis_fidelity (dict orfloat) – Fedeltà delle porte di base. Può essere (1) un dizionario che mappa i valori dell'angolo
XXcon la fedeltà a quell'angolo; oppure (2) un singolo floatf, 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
DAGCircuitviene restituito al posto diQuantumCircuitquando questa classe viene chiamata.
Risultati
Circuito sintetizzato.
Tipo di restituzione
Metodi
num_basis_gates
num_basis_gates(unitary)
Conta il numero di porte che verrebbero emesse durante la risintesi.
Questo metodo è utilizzato da ConsolidateBlocks.
Parametri