Skip to main content
IBM Quantum Platform

ConvertToPauliRotations

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

GitHub

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)

GitHub

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

tuple [ DAGCircuit, PassManagerState ]

name

name()

GitHub

Nome del pass.

Tipo di restituzione

STR

run

run(dag)

GitHub

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

DAGCircuit

update_status

update_status(state, run_state)

GitHub

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

PassManagerState

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