ConvertToPauliRotations
class qiskit.transpiler.passes.ConvertToPauliRotations(*args, **kwargs)
Basi: TransformationPass
Convertire un circuito quantistico in un circuito equivalente composto da PauliProductRotationGate gate e PauliProductMeasurement istruzioni.
Il pass converte tutte le porte standard a un qubit, a due qubit e a tre qubit in rotazioni del prodotto di Pauli, converte le misurazioni in misurazioni del prodotto di Pauli e lascia invariati le barriere, i ritardi, i reset, le rotazioni del prodotto di Pauli e le misurazioni del prodotto di Pauli.
Ad esempio:
from qiskit.circuit import QuantumCircuit
from qiskit.transpiler.passes import ConvertToPauliRotations
from qiskit.quantum_info import Operator
qc = QuantumCircuit(3)
qc.h(0)
qc.cx(0, 1)
qc.ry(0.123, 0)
qc.t(2)
qc.rzz(pi/4, 0, 2)
# The transformed circuit consists of PauliProductRotationGate gates
qct = ConvertToPauliRotations()(qc)
ops_names = set(qct.count_ops().keys())
self.assertEqual(ops_names, {"pauli_product_rotation"})
# The circuits before and after the transformation are equivalent
assert Operator(qc) == Operator(qct)Attributi
is_analysis_pass
Verifica se il ciclo è un ciclo di analisi.
Se il pass è di tipo « AnalysisPass, », significa che è in grado di analizzare il DAG e di scrivere i risultati di tale analisi nel set di proprietà. Questo tipo di passaggio non consente modifiche al DAG.
is_transformation_pass
Verifica se il passaggio è un passaggio di trasformazione.
Se il pass è di tipo « TransformationPass, », ciò significa che il pass può manipolare il DAG, ma non può modificare l'insieme delle proprietà (sebbene possa leggerlo).
Metodi
execute
execute(passmanager_ir, state, callback=None)
Esegui l'operazione di ottimizzazione per l'IR di 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
IR ottimizzato di Qiskit e stato del flusso di lavoro.
Tipo di restituzione
name
run
run(dag)
Esegui il ciclo di ottimizzazione " ConvertToPauliRotations " su dag.
Parametri
dag (DAGCircuit) – il DAG di input.
Risultati
Il DAG di output.
Aumenti
TranspilerError – se il circuito contiene istruzioni non supportate dal pass.
Tipo di restituzione
update_status
update_status(state, run_state)
Aggiornare 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 dei pass aggiornato.
Tipo di restituzione