FoldRzzAngle
class FoldRzzAngle(*args, **kwargs)
Basi: TransformationPass
Ripiegare l'angolo del gate Rzz nell'intervallo calibrato di 0-pi/2 con modifiche locali del gate.
Nell'ISA di IBM Quantum, l'istruzione Rzz(theta) ha un valore "theta" valido di [0, pi/2] e qualsiasi istruzione al di fuori di questo intervallo diventa un'operazione non-ISA per il backend quantistico. Il passaggio del transpiler scopre tali porte Rzz nonISA e ripiega l'angolo della porta nell'intervallo calibrato con l'aggiunta di porte a singolo qubit, preservando l'equivalenza logica del circuito quantistico in ingresso. Le porte locali aggiunte possono essere unite in modo efficiente in porte a singolo qubit vicine mediante i seguenti passaggi di ottimizzazione a singolo qubit.
Questo passaggio consente agli utenti di Qiskit di utilizzare ingenuamente le porte Rzz con angoli di numeri reali arbitrari.
Questo passaggio non trasforma il circuito quando l'angolo del gate Rzz è un parametro non vincolato. In questo caso, l'utente deve assegnare un angolo di gate prima della transpilazione, oppure deve scegliere i parametri dall'intervallo calibrato di [0, pi/2].
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
__call__
__call__(circuit, property_set=None)
Esegue il circuito di passaggio.
Parametri
- circuit (QuantumCircuit) – Il giorno in cui viene effettuato il passaggio.
- property_set (PropertySet | dict | None) – Set di proprietà di input/output. Un passaggio di analisi potrebbe modificare le proprietà impostate in loco. Se non specificato, verrà utilizzato
property_setl'attributo esistente del pass (se impostato).
Risultati
Se la trasformazione ha esito positivo, il risultato è QuantumCircuit. Se l'analisi ha esito positivo, il circuito di ingresso.
Tipo di restituzione
execute
execute(passmanager_ir, state, callback=None)
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
tupla[ DAGCircuit, PassManagerState ]
name
name()
Nome del passo.
Tipo di restituzione
STR
run
update_status
update_status(state, run_state)
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