Skip to main content
IBM Quantum Platform

CommutativeOptimization

class qiskit.transpiler.passes.CommutativeOptimization(*args, **kwargs)

GitHub

Basi: TransformationPass

Annullare/unire i gate sfruttando le relazioni di commutatività.

Nello specifico, il pass:

  • Cancella coppie di porte inverse, comprese le coppie che sono inverse fino a una fase globale (regolando la fase globale se necessario).
  • Tenta di unire porte consecutive quando possibile, ad esempio sequenze di porte RZ, porte RX, rotazioni di Pauli e così via.

Questo pass unifica ed estende le funzionalità sia di CommutativeCancellation che di CommutativeInverseCancellation.

Parametri

  • grado_di_approssimazione – la soglia utilizzata nel calcolo della fedeltà media dei gate per stabilire se le coppie di gate possano essere considerate come gate che si annullano o come gate commutativi.
  • matrix_max_num_qubits – Limite superiore del numero di qubit per i controlli di commutatività e inversione basati su matrici.

Attributi

is_analysis_pass

Controlla se il passaggio è un passaggio di analisi.

Se il pass è un' AnalysisPass,, significa che il pass può analizzare il DAG e scrivere i risultati di tale analisi nel set di proprietà. Questo tipo di pass non consente modifiche al DAG.

is_transformation_pass

Controlla se il passaggio è un passaggio di trasformazione.

Se il pass è un " TransformationPass, ", significa che il pass può manipolare il DAG, ma non può modificare il set di proprietà (che però può essere letto).


Metodi

execute

execute(passmanager_ir, state, callback=None)

GitHub

Esegui attività di ottimizzazione per input Qiskit IR.

Parametri

  • passmanager_ir (DAGCircuit) – Qiskit IR da ottimizzare.
  • state (DAGCircuit) – Stato associato all'esecuzione del flusso di lavoro da parte dello stesso gestore dei passaggi.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Una funzione di callback che viene chiamata ad ogni esecuzione dell'attività di ottimizzazione.

Risultati

Qiskit IR ottimizzato e stato del flusso di lavoro.

Tipo di restituzione

tuple [ DAGCircuit, PassManagerState ]

name

name()

GitHub

Nome del passo.

Tipo di restituzione

STR

run

run(dag)

GitHub

Esegui il passaggio CommutativeOptimization su dag.

Parametri

dag (DAGCircuit) – il DAG da ottimizzare.

Risultati

il DAG ottimizzato.

Tipo di restituzione

Circuito DAG

update_status

update_status(state, run_state)

GitHub

Aggiorna lo stato del flusso di lavoro.

Parametri

  • state (PassManagerState) – Passare lo stato del gestore per l'aggiornamento.
  • run_state (RunState) – Stato di completamento dell'attività corrente.

Risultati

Stato del gestore pass aggiornato.

Tipo di restituzione

PassManagerState

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