Pases del transpilador
qiskit.transpiler.passes
Selección de diseño (colocación)
SetLayout(*args, **kwargs) | Establece la propiedad layout en el diseño dado. |
TrivialLayout(*args, **kwargs) | Elija un Layout asignando n qubits de circuito a qubits de dispositivo 0, .., n-1. |
DenseLayout(*args, **kwargs) | Elige una disposición encontrando el subconjunto de qubits más conectado. |
SabreLayout(*args, **kwargs) | Elija un trazado mediante enrutamiento bidireccional iterativo del circuito de entrada. |
CSPLayout(*args, **kwargs) | Si es posible, elige un Layout como CSP, utilizando backtracking. |
VF2Layout(*args, **kwargs) | Un pase para elegir un Layout de un circuito sobre un grafo de Acoplamiento, como problema de isomorfismo de subgrafos, resuelto por VF2++. |
ApplyLayout(*args, **kwargs) | Aplicar o actualizar la asignación de qubits virtuales a qubits físicos en el archivo DAGCircuit. |
Layout2qDistance(*args, **kwargs) | Evalúe hasta qué punto ha sido buena la selección del diseño. |
EnlargeWithAncilla(*args, **kwargs) | Amplía el dag con qubits virtuales que están en el diseño pero aún no en el circuito. |
FullAncillaAllocation(*args, **kwargs) | Asigna todos los nodos ociosos del mapa de acoplamiento o del destino como ancilla en el diseño. |
SabrePreLayout(*args, **kwargs) | Elija un diseño inicial para utilizarlo en otras pruebas de diseño de Sabre. |
Direccionamiento
BasicSwap(*args, **kwargs) | Mapear (con el mínimo esfuerzo) un DAGCircuit en un coupling_map añadiendo puertas de intercambio. |
Commuting2qGateRouter(*args, **kwargs) | Una clase para intercambiar la ruta de una o más puertas de desplazamiento al mapa de acoplamiento. |
LayoutTransformation(*args, **kwargs) | Añade al circuito un circuito Swap para una permutación (parcial) dada. |
LookaheadSwap(*args, **kwargs) | Mapear el circuito de entrada en una topología backend mediante la inserción de SWAPs. |
SabreSwap(*args, **kwargs) | Mapear el circuito de entrada en una topología backend mediante la inserción de SWAPs. |
StarPreRouting() | Enrutamiento previo de estrella a lineal |
Cambio de base
BasisTranslator(*args, **kwargs) | Traduce las puertas a una base de destino buscando un conjunto de traducciones a partir de un EquivalenceLibrary dado. |
Decompose(*args, **kwargs) | Expandir una puerta en un circuito utilizando sus reglas de descomposición. |
TranslateParameterizedGates(*args, **kwargs) | Traducir puertas parametrizadas a un conjunto de bases compatible. |
Unroll3qOrMore(*args, **kwargs) | Expande recursivamente las compuertas 3q+ hasta que el circuito sólo contiene compuertas 2q o 1q. |
UnrollCustomDefinitions(*args, **kwargs) | Desenrolla instrucciones con definiciones personalizadas. |
Optimizaciones
Collect1qRuns(*args, **kwargs) | Recoger subcircuitos de un qubit. |
Collect2qBlocks(*args, **kwargs) | Recoger subcircuitos de dos qubits. |
CollectAndCollapse(*args, **kwargs) | Una pasada general de transpilador para recoger y consolidar bloques de nodos en un circuito. |
CollectCliffords(*args, **kwargs) | Recoge bloques de puertas Clifford y los sustituye por un Clifford objeto. |
CollectLinearFunctions(*args, **kwargs) | Recoger bloques de puertas lineales (CXGate y SwapGate ) y las sustituye por funciones lineales (LinearFunction). |
CollectMultiQBlocks(*args, **kwargs) | Recoger secuencias de puertas ininterrumpidas que actúan sobre grupos de qubits. |
CommutationAnalysis(*args, **kwargs) | Pase de análisis para encontrar relaciones de conmutación entre nodos DAG. |
CommutativeCancellation(*args, **kwargs) | Anular las puertas redundantes (autoadjuntas) mediante relaciones de conmutación. |
CommutativeInverseCancellation(*args, **kwargs) | Cancelar pares de puertas inversas explotando las relaciones de conmutación. |
CommutativeOptimization(*args, **kwargs) | Cancelar/fusionar puertas aprovechando las relaciones de conmutatividad. |
ConsolidateBlocks(*args, **kwargs) | Sustituye cada bloque de puertas consecutivas por un único nodo unitario. |
ContractIdleWiresInControlFlow(*args, **kwargs) | Eliminar los qubits ociosos de las operaciones de flujo de control de un DAGCircuit. |
ConvertToPauliRotations(*args, **kwargs) | Convierte un circuito cuántico que contenga puertas estándar de un qubit, dos qubits y tres qubits, así como barreras y mediciones, en un circuito equivalente que contenga PauliProductRotationGate puertas e PauliProductMeasurement instrucciones. |
ElidePermutations(*args, **kwargs) | Eliminar las operaciones de permutación de un circuito previo al trazado |
HoareOptimizer(*args, **kwargs) | Se trata de un pase de transpilador que utiliza la optimización de circuitos lógicos Hoare. |
InverseCancellation(*args, **kwargs) | Anular Puertas específicas que son inversas entre sí cuando se producen una detrás de otra. |
LightCone(*args, **kwargs) | Elimine las puertas que no afectan al resultado de una medición en un circuito. |
LitinskiTransformation(*args, **kwargs) | Aplica la transformada de Litinski a un circuito. |
Optimize1qGates(*args, **kwargs) | Optimizar cadenas de compuertas single-qubit u1, u2, u3 combinándolas en una única compuerta. |
Optimize1qGatesDecomposition(*args, **kwargs) | Optimizar cadenas de puertas de un solo qubit combinándolas en una única puerta. |
Optimize1qGatesSimpleCommutation(*args, **kwargs) | Optimiza las cadenas de compuertas 1Q interrumpidas por compuertas 2Q conmutando los componentes y resintetizando los resultados. |
OptimizeAnnotated(*args, **kwargs) | Pase de optimización en circuitos con operaciones anotadas. |
OptimizeCliffordT(*args, **kwargs) | Optimizar secuencias de puertas Clifford+T consecutivas. |
OptimizeCliffords(*args, **kwargs) | Combina Cliffords consecutivos sobre los mismos qubits. |
OptimizeSwapBeforeMeasure(*args, **kwargs) | Retire los intercambios seguidos de la medición (y adapte la medición). |
RemoveDiagonalGatesBeforeMeasure(*args, **kwargs) | Retire las compuertas diagonales (incluidas las compuertas diagonales 2Q ) antes de una medición. |
RemoveFinalReset(*args, **kwargs) | Elimina el reset cuando es la última instrucción en un cable qubit. |
RemoveIdentityEquivalent(*args, **kwargs) | Eliminar las puertas con efectos insignificantes. |
RemoveResetInZeroState(*args, **kwargs) | Elimina la puerta de reinicio cuando el qubit está en estado cero. |
ResetAfterMeasureSimplification(*args, **kwargs) | Este paso sustituye el reinicio tras la medida por una puerta X condicional. |
Split2QUnitaries(*args, **kwargs) | Intentar dividir las operaciones unitarias de dos qubits en a DAGCircuit en dos puertas de un solo qubit. |
SubstitutePi4Rotations(*args, **kwargs) | Convierte las puertas de rotación cuyos ángulos sean múltiplos enteros de en conjuntos discretos de puertas de TdgGate Clifford, TGate y. |
TemplateOptimization(*args, **kwargs) | Clase para el pase de optimización de plantillas. |
Planificación
ALAPScheduleAnalysis(*args, **kwargs) | ALAP Scheduling pass, que programa la hora de parada de las instrucciones lo más tarde posible. |
ASAPScheduleAnalysis(*args, **kwargs) | ASAP Scheduling pass, que programa la hora de inicio de las instrucciones con la mayor antelación posible. |
ConstrainedReschedule(*args, **kwargs) | Paso del reprogramador que actualiza las horas de inicio de los nodos para ajustarse a las alineaciones del hardware. |
ContextAwareDynamicalDecoupling(*args, **kwargs) | Implementar un desacoplamiento dinámico de la secuencia X teniendo en cuenta el contexto de la puerta y del qubit. |
InstructionDurationCheck(*args, **kwargs) | Pase de validación de duración para reprogramación. |
PadDelay(*args, **kwargs) | Relleno del tiempo de inactividad con instrucciones de retardo. |
PadDynamicalDecoupling(*args, **kwargs) | Paso de inserción de desacoplamiento dinámico. |
SetIOLatency(*args, **kwargs) | Establece la información de IOLatency en el circuito de entrada. |
TimeUnitConversion(*args, **kwargs) | Elija una unidad de tiempo que se utilizará en los siguientes pases de tiempo, y haga que todas las unidades de tiempo del circuito sean coherentes con eso. |
Análisis de circuitos
CountOps(*args, **kwargs) | Cuenta las operaciones en un circuito DAG. |
CountOpsLongestPath(*args, **kwargs) | Contar las operaciones en el camino más largo de a DAGCircuit. |
DAGLongestPath(*args, **kwargs) | Devuelve el camino más largo de un DAGCircuit como una lista de DAGOpNodes, DAGInNodes, y DAGOutNodes. |
Depth(*args, **kwargs) | Calcular la profundidad de un circuito DAG. |
NumTensorFactors(*args, **kwargs) | Calcular el número de factores tensoriales de un circuito DAG. |
ResourceEstimation(*args, **kwargs) | Exigir automáticamente pases de análisis para la estimación de recursos. |
Size(*args, **kwargs) | Calcula el tamaño de un circuito DAG. |
Width(*args, **kwargs) | Calcular la anchura de un circuito DAG. |
Síntesis
La documentación del plugin de transpilador de síntesis se encuentra en la página qiskit.transpiler.passes.synthesis.plugin página
HLSConfig([use_default_on_unspecified,...] ) | La configuración de síntesis de alto nivel permite especificar una lista de "métodos" utilizados por HighLevelSynthesis para sintetizar diferentes tipos de objetos de alto nivel. |
HighLevelSynthesis(*args, **kwargs) | Sintetizar objetos de nivel superior y desenrollar definiciones personalizadas. |
LinearFunctionsToPermutations(*args, **kwargs) | Promueve funciones lineales a permutaciones cuando es posible. |
SolovayKitaev(*args, **kwargs) | Descomponga aproximadamente las puertas 1q a una base discreta utilizando el algoritmo Solovay-Kitaev. |
SynthesizeRZRotations(*args, **kwargs) | Sustituye las puertas RZ por descomposiciones de Clifford+T. |
UnitarySynthesis(*args, **kwargs) | Sintetiza las puertas en función de sus puertas base. |
Diseño de publicación
Son posteriores a la selección de qubits.
VF2PostLayout(*args, **kwargs) | Un pase para mejorar un Trazado existente tras la transpilación de un circuito a un grafo de Acoplamiento, como problema de isomorfismo de subgrafos, resuelto por VF2++. |
Pases adicionales
BarrierBeforeFinalMeasurements(*args, **kwargs) | Añadir una barrera antes de las mediciones finales. |
CheckGateDirection(*args, **kwargs) | Comprobar si las puertas de dos qubits siguen la dirección correcta con respecto al mapa de acoplamiento. |
CheckMap(*args, **kwargs) | Comprueba si un circuito DAG ya está asignado a un mapa de acoplamiento. |
ContainsInstruction(*args, **kwargs) | Una pasada de análisis para detectar si el DAG contiene una instrucción específica. |
DAGFixedPoint(*args, **kwargs) | Comprueba si el DAG ha alcanzado un punto fijo. |
Error(*args, **kwargs) | Pase de error que se llamará cuando se produzca un error. |
FilterOpNodes(*args, **kwargs) | Eliminar todas las operaciones que coincidan con una función de filtro |
FixedPoint(*args, **kwargs) | Comprueba si una propiedad ha alcanzado un punto fijo. |
GateDirection(*args, **kwargs) | Modificar las puertas asimétricas para que coincidan con la dirección de acoplamiento del hardware. |
GatesInBasis(*args, **kwargs) | Comprobar si todas las puertas de un DAG están en un conjunto dado de puertas |
MergeAdjacentBarriers(*args, **kwargs) | Devuelve un circuito con las barreras adyacentes fusionadas. |
MinimumPoint(*args, **kwargs) | Comprobar si el DAG ha alcanzado un punto relativamente semiestable en ejecuciones anteriores |
RemoveBarriers(*args, **kwargs) | Devolver un circuito con cualquier barrera eliminada. |
RemoveFinalMeasurements(*args, **kwargs) | Eliminar las medidas finales y las barreras al final de un circuito. |
UnrollForLoops(*args, **kwargs) | UnrollForLoops el paso de transpilación desenrolla los bucles for cuando es posible. |
WrapAngles(*args, **kwargs) | Envuelve ángulos fuera del límite especificado en el objetivo. |
Datos adicionales
qiskit.transpiler.passes.utils.wrap_angles.WRAP_ANGLE_REGISTRY
Una ubicación heredada para WrapAngles.DEFAULT_REGISTRY. Esta ruta solo debe utilizarse cuando se requiera compatibilidad total con Qiskit 2.2.
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.