Skip to main content
IBM Quantum Platform

ConvertToPauliRotations

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

GitHub

Bases: TransformationPass

Convierte un circuito cuántico en un circuito equivalente compuesto por PauliProductRotationGate puertas lógicas e PauliProductMeasurement instrucciones.

El paso convierte todas las puertas estándar de un qubit, dos qubits y tres qubits en rotaciones de producto de Pauli, convierte las mediciones en mediciones de producto de Pauli y deja sin cambios las barreras, los retrasos, los reinicios, las rotaciones de producto de Pauli y las mediciones de producto de Pauli.

Por ejemplo:

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)

Atributos

is_analysis_pass

Comprueba si la pasada es una pasada de análisis.

Si el paso es un « AnalysisPass, », eso significa que el paso puede analizar el DAG y escribir los resultados de ese análisis en el conjunto de propiedades. Este tipo de pasada no permite realizar modificaciones en el DAG.

is_transformation_pass

Comprueba si el paso es un paso de transformación.

Si el acceso es de tipo « TransformationPass, », esto significa que dicho acceso puede manipular el DAG, pero no puede modificar el conjunto de propiedades (aunque sí puede leerlo).


Métodos

execute

execute(passmanager_ir, state, callback=None)

GitHub

Ejecutar la tarea de optimización para el IR de Qiskit de entrada.

Parámetros

  • passmanager_ir (DAGCircuit) – Qiskit IR para optimizar.
  • state (DAGCircuit) – Estado asociado a la ejecución del flujo de trabajo por parte del propio gestor de pasadas.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Una función de devolución de llamada que se invoca cada vez que se ejecuta una tarea de optimización.

Devuelve

IR de Qiskit optimizado y estado del flujo de trabajo.

Tipo de retorno

tupla [ DAGCircuit, PassManagerState ]

name

name()

GitHub

Nombre del paso.

Tipo de retorno

str

run

run(dag)

GitHub

Ejecuta la optimización « ConvertToPauliRotations » en dag.

Parámetros

dag (DAGCircuit) – el DAG de entrada.

Devuelve

El DAG de salida.

Subidas

TranspilerError – si el circuito contiene instrucciones que el pase no admite.

Tipo de retorno

DAGCircuit

update_status

update_status(state, run_state)

GitHub

Actualizar el estado del flujo de trabajo.

Parámetros

  • state (PassManagerState) – Pasa el estado del gestor para actualizarlo.
  • run_state (RunState) – Estado de finalización de la tarea actual.

Devuelve

Se ha actualizado el estado del gestor de pases.

Tipo de retorno

PassManagerState

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.