Skip to main content
IBM Quantum Platform

Optimize1qGates

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

GitHub

Basi: TransformationPass

Ottimizzare catene di porte a singolo qubit u1, u2, u3 combinandole in un'unica porta.

Optimize1qGates inizializzatore.

Parametri

  • basis (list[str]) – Porte di base da considerare, ad esempio [‘u3’, 'cx']. Agli effetti di questo passaggio, la base è l'insieme intersezione tra il parametro base e l'insieme {‘u1’,’u2’,’u3’, ‘u’, ‘p’}.
  • eps (float) – EPS da controllare
  • target (Target) – Il parametro Target che rappresenta il backend di destinazione; se sono specificati sia basis che target , questo argomento avrà la precedenza e basis sarà ignorato.

Attributi

is_analysis_pass

Controlla se il passaggio è un passaggio di analisi.

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

is_transformation_pass

Controlla se il passaggio è un passaggio di trasformazione.

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


Metodi

compose_u3

static compose_u3(theta1, phi1, lambda1, theta2, phi2, lambda2)

GitHub

Restituisce una tripla theta, phi, lambda per il prodotto.

u3(theta, phi, lambda)

= u3(theta1, phi1, lambda1).u3(theta2, phi2, lambda2 ) = Rz( phi1 ).Ry( theta1 ).Rz( lambda1+phi2 ).Ry( theta2 ).Rz( lambda2 ) = Rz( phi1 ).Rz(phi').Ry(theta').Rz(lambda').Rz( lambda2 ) = u3(theta’, phi1 + phi', lambda2 + lambda')

Restituisce theta, phi, lambda.

execute

execute(passmanager_ir, state, callback=None)

GitHub

Eseguire l'attività di ottimizzazione per l'IR Qiskit in ingresso.

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 di un'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

Eseguire il passaggio Optimize1qGates su dag.

Parametri

dag (DAGCircuit) – il DAG da ottimizzare.

Risultati

il DAG ottimizzato.

Tipo di restituzione

DAGCircuito

Aumenti

TranspilerError – se YZY gli angoli e ZYZ non danno origine alla stessa matrice di rotazione.

update_status

update_status(state, run_state)

GitHub

Aggiornare lo stato del flusso di lavoro.

Parametri

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

Risultati

Stato aggiornato del gestore dei passaggi.

Tipo di restituzione

PassManagerState

yzy_to_zyz

static yzy_to_zyz(xi, theta1, theta2, eps=1e-09)

GitHub

Esprimere un gate Y.Z.Y a singolo qubit come gate Z.Y.Z.

Risolvere l'equazione

Ry( theta1 ).Rz(xi).Ry( theta2 ) = Rz(phi).Ry(theta).Rz(lambda)

per theta, phi e lambda.

Restituisce una soluzione theta, phi e lambda.

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