Passaggi del transpiler
qiskit.transpiler.passes
Selezione del layout (posizionamento)
SetLayout(*args, **kwargs) | Imposta la proprietà layout sul layout dato. |
TrivialLayout(*args, **kwargs) | Scegliere un layout assegnando i qubit del circuito n ai qubit del dispositivo 0, .., n-1. |
DenseLayout(*args, **kwargs) | Scegliere un Layout trovando il sottoinsieme di qubit più connesso. |
SabreLayout(*args, **kwargs) | Scegliere un layout tramite instradamento iterativo bidirezionale del circuito di ingresso. |
CSPLayout(*args, **kwargs) | Se possibile, sceglie un layout come CSP, utilizzando il backtracking. |
VF2Layout(*args, **kwargs) | Un passaggio per la scelta di un Layout di un circuito su un grafo di accoppiamento, come problema di isomorfismo del sottografo, risolto da VF2++. |
ApplyLayout(*args, **kwargs) | Applicare o aggiornare la mappatura dei qubit virtuali ai qubit fisici nel DAGCircuit. |
Layout2qDistance(*args, **kwargs) | Valutare la bontà della scelta del layout. |
EnlargeWithAncilla(*args, **kwargs) | Estendere il dag con qubit virtuali che sono nel layout ma non ancora nel circuito. |
FullAncillaAllocation(*args, **kwargs) | Allocare tutti i nodi inattivi dalla mappa di accoppiamento o dalla destinazione come ancilla sul layout. |
SabrePreLayout(*args, **kwargs) | Scegliere un layout di partenza da utilizzare per ulteriori prove di layout Sabre. |
Instradamento
BasicSwap(*args, **kwargs) | Mappare (con il minimo sforzo) un circuito DAG su coupling_map aggiungendo porte di scambio. |
Commuting2qGateRouter(*args, **kwargs) | Una classe per scambiare il percorso di uno o più cancelli di pendolarismo con la mappa di accoppiamento. |
LayoutTransformation(*args, **kwargs) | Aggiunge al circuito un circuito Swap per una determinata permutazione (parziale). |
LookaheadSwap(*args, **kwargs) | Mappare il circuito di ingresso su una topologia backend mediante l'inserimento di SWAP. |
SabreSwap(*args, **kwargs) | Mappare il circuito di ingresso su una topologia backend mediante l'inserimento di SWAP. |
StarPreRouting() | Eseguire il pre-routing da stella a lineare |
Modifica della base
BasisTranslator(*args, **kwargs) | Traduce le porte in una base di destinazione cercando un insieme di traduzioni da un dato EquivalenceLibrary. |
Decompose(*args, **kwargs) | Espandere una porta in un circuito utilizzando le sue regole di decomposizione. |
TranslateParameterizedGates(*args, **kwargs) | Tradurre le porte parametrizzate in un insieme di basi supportato. |
Unroll3qOrMore(*args, **kwargs) | Espande ricorsivamente le porte 3q+ finché il circuito non contiene solo porte 2q o 1q. |
UnrollCustomDefinitions(*args, **kwargs) | Svolge le istruzioni con definizioni personalizzate. |
Ottimizzazioni
Collect1qRuns(*args, **kwargs) | Raccogliere i sottocircuiti a un qubit. |
Collect2qBlocks(*args, **kwargs) | Raccogliere i sottocircuiti a due qubit. |
CollectAndCollapse(*args, **kwargs) | Un passaggio generale del transpiler per raccogliere e consolidare blocchi di nodi in un circuito. |
CollectCliffords(*args, **kwargs) | Raccoglie i blocchi delle porte di Clifford e li sostituisce con un Clifford oggetto. |
CollectLinearFunctions(*args, **kwargs) | Raccoglie i blocchi di porte lineari (CXGate e SwapGate porte ) e li sostituisce con funzioni lineari (LinearFunction). |
CollectMultiQBlocks(*args, **kwargs) | Raccogliere sequenze di porte ininterrotte che agiscono su gruppi di qubit. |
CommutationAnalysis(*args, **kwargs) | Passaggio di analisi per trovare le relazioni di commutazione tra i nodi del DAG. |
CommutativeCancellation(*args, **kwargs) | Annullare le porte ridondanti (auto-aggiunte) attraverso le relazioni di commutazione. |
CommutativeInverseCancellation(*args, **kwargs) | Annullare le coppie di porte inverse sfruttando le relazioni di commutazione. |
CommutativeOptimization(*args, **kwargs) | Annullare/unire i gate sfruttando le relazioni di commutatività. |
ConsolidateBlocks(*args, **kwargs) | Sostituire ogni blocco di porte consecutive con un singolo nodo unitario. |
ContractIdleWiresInControlFlow(*args, **kwargs) | Rimuovere i qubit inattivi dalle operazioni relative al flusso di controllo di un DAGCircuit. |
ConvertToPauliRotations(*args, **kwargs) | Convertire un circuito quantistico in un circuito equivalente composto da PauliProductRotationGate gate e PauliProductMeasurement istruzioni. |
ElidePermutations(*args, **kwargs) | Rimuovere le operazioni di permutazione da un circuito pre-layout |
HoareOptimizer(*args, **kwargs) | Si tratta di un passaggio di transpiler che utilizza l'ottimizzazione dei circuiti logici di Hoare. |
InverseCancellation(*args, **kwargs) | Annullare le Porte specifiche che sono inverse l'una dell'altra quando si verificano una dietro l'altra. |
LightCone(*args, **kwargs) | Rimuovere i gate che non influiscono sul risultato di una misurazione su un circuito. |
LitinskiTransformation(*args, **kwargs) | Applica la trasformata di Litinski a un circuito. |
Optimize1qGates(*args, **kwargs) | Ottimizzare catene di porte a singolo qubit u1, u2, u3 combinandole in un'unica porta. |
Optimize1qGatesDecomposition(*args, **kwargs) | Ottimizzare catene di porte a singolo qubit combinandole in un'unica porta. |
Optimize1qGatesSimpleCommutation(*args, **kwargs) | Ottimizza le stringhe di porte 1Q interrotte dalle porte 2Q commutando i componenti e risintetizzando i risultati. |
OptimizeAnnotated(*args, **kwargs) | Passaggio di ottimizzazione su circuiti con operazioni annotate. |
OptimizeCliffordT(*args, **kwargs) | Ottimizzare sequenze di porte Clifford+T consecutive. |
OptimizeCliffords(*args, **kwargs) | Combinare Clifford consecutivi sugli stessi qubit. |
OptimizeSwapBeforeMeasure(*args, **kwargs) | Rimuovere gli scambi seguiti dalla misurazione (e adattare la misurazione). |
RemoveDiagonalGatesBeforeMeasure(*args, **kwargs) | Rimuovere i cancelli diagonali (compresi i cancelli diagonali 2Q ) prima di una misurazione. |
RemoveFinalReset(*args, **kwargs) | Rimuovere il reset quando è l'ultima istruzione su un filo di qubit. |
RemoveIdentityEquivalent(*args, **kwargs) | Rimuovere i cancelli con effetti trascurabili. |
RemoveResetInZeroState(*args, **kwargs) | Rimuovere il gate di reset quando il qubit è nello stato zero. |
ResetAfterMeasureSimplification(*args, **kwargs) | Questo passaggio sostituisce il reset dopo la misura con un gate X condizionale. |
Split2QUnitaries(*args, **kwargs) | Tentativo di scomporre le operazioni unitarie a due qubit in a DAGCircuit in due porte a singolo qubit. |
SubstitutePi4Rotations(*args, **kwargs) | Convertire le porte di rotazione i cui angoli sono multipli interi di in insiemi discreti di porte Clifford, TGate e TdgGate . |
TemplateOptimization(*args, **kwargs) | Classe per il passaggio di ottimizzazione del template. |
TwoQubitPeepholeOptimization(*args, **kwargs) | Ottimizzazione unitaria unificata a due qubit con metodo “peephole” |
Pianificazione
ALAPScheduleAnalysis(*args, **kwargs) | Passaggio ALAP Scheduling, che programma l'orario di arresto delle istruzioni il più tardi possibile. |
ASAPScheduleAnalysis(*args, **kwargs) | ASAP Scheduling pass, che programma l'orario di inizio delle istruzioni il più presto possibile. |
ConstrainedReschedule(*args, **kwargs) | Passaggio di riprogrammazione che aggiorna i tempi di avvio dei nodi per conformarsi agli allineamenti hardware. |
ContextAwareDynamicalDecoupling(*args, **kwargs) | Implementare un disaccoppiamento dinamico della sequenza X considerando il contesto del gate e del qubit. |
InstructionDurationCheck(*args, **kwargs) | Passaggio di convalida della durata per la riprogrammazione. |
PadDelay(*args, **kwargs) | Imbottire il tempo di inattività con istruzioni di ritardo. |
PadDynamicalDecoupling(*args, **kwargs) | Passaggio di inserimento del disaccoppiamento dinamico. |
SetIOLatency(*args, **kwargs) | Impostare le informazioni di IOLatency sul circuito di ingresso. |
TimeUnitConversion(*args, **kwargs) | Scegliere un'unità di tempo da utilizzare nei passaggi successivi e rendere coerenti tutte le unità di tempo dei circuiti. |
Analisi dei circuiti
CountOps(*args, **kwargs) | Contare le operazioni in un circuito DAG. |
CountOpsLongestPath(*args, **kwargs) | Conta le operazioni sul percorso più lungo in un DAGCircuit. |
DAGLongestPath(*args, **kwargs) | Restituisci il percorso più lungo in a DAGCircuit come lista composta da DAGOpNodes, DAGInNodes e DAGOutNodes. |
Depth(*args, **kwargs) | Calcolare la profondità di un circuito DAG. |
NumTensorFactors(*args, **kwargs) | Calcolare il numero di fattori tensoriali di un circuito DAG. |
ResourceEstimation(*args, **kwargs) | Richiedere automaticamente passaggi di analisi per la stima delle risorse. |
Size(*args, **kwargs) | Calcolare la dimensione di un circuito DAG. |
Width(*args, **kwargs) | Calcolare l'ampiezza di un circuito DAG. |
Sintesi
La documentazione del plugin del transpiler di sintesi si trova alla pagina qiskit.transpiler.passes.synthesis.plugin pagina.
HLSConfig( [use_default_on_unspecified,...] ) | La configurazione della sintesi di alto livello consente di specificare un elenco di "metodi" utilizzati dal HighLevelSynthesis passaggio di trasformazione per sintetizzare diversi tipi di oggetti di livello superiore. |
HighLevelSynthesis(*args, **kwargs) | Sintetizzare oggetti di livello superiore e srotolare definizioni personalizzate. |
LinearFunctionsToPermutations(*args, **kwargs) | Promuove le funzioni lineari alle permutazioni, quando possibile. |
SolovayKitaev(*args, **kwargs) | Decomporre approssimativamente le porte di 1q in una base discreta utilizzando l'algoritmo di Solovay-Kitaev. |
SynthesizeRZRotations(*args, **kwargs) | Sostituire i circuiti RZ con le decomposizioni di Clifford+T. |
UnitarySynthesis(*args, **kwargs) | Sintetizzare le porte in base alle loro porte di base. |
Layout del post
Si tratta di selezione post qubit.
VF2PostLayout(*args, **kwargs) | Un passaggio per migliorare un Layout esistente dopo la trasposizione di un circuito su un grafo di accoppiamento, come problema di isomorfismo del sottografo, risolto da VF2++. |
Pass aggiuntivi
BarrierBeforeFinalMeasurements(*args, **kwargs) | Aggiungere una barriera prima delle misure finali. |
CheckGateDirection(*args, **kwargs) | Verificare se le porte a due qubit seguono la giusta direzione rispetto alla mappa di accoppiamento. |
CheckMap(*args, **kwargs) | Controlla se un circuito DAG è già mappato in una mappa di accoppiamento. |
ContainsInstruction(*args, **kwargs) | Un passaggio di analisi per rilevare se il DAG contiene un'istruzione specifica. |
DAGFixedPoint(*args, **kwargs) | Verifica se il DAG ha raggiunto un punto fisso. |
Error(*args, **kwargs) | Passaggio di errore da richiamare quando si verifica un errore. |
FilterOpNodes(*args, **kwargs) | Rimuovere tutte le operazioni che corrispondono a una funzione di filtro |
FixedPoint(*args, **kwargs) | Verifica se una proprietà ha raggiunto un punto fisso. |
GateDirection(*args, **kwargs) | Modificare le porte asimmetriche per adattarle alla direzione di accoppiamento dell'hardware. |
GatesInBasis(*args, **kwargs) | Verificare se tutte le porte di un DAG sono in un dato insieme di porte |
MergeAdjacentBarriers(*args, **kwargs) | Restituisce un circuito con tutte le barriere adiacenti unite insieme. |
MinimumPoint(*args, **kwargs) | Verificare se il DAG ha raggiunto un punto di semi-stabilità relativa rispetto alle esecuzioni precedenti |
RemoveBarriers(*args, **kwargs) | Restituire un circuito con una barriera rimossa. |
RemoveFinalMeasurements(*args, **kwargs) | Rimuovere le misure e le barriere finali alla fine di un circuito. |
UnrollForLoops(*args, **kwargs) | UnrollForLoops il passaggio di transpilation srotola i cicli for quando possibile. |
WrapAngles(*args, **kwargs) | Avvolge gli angoli al di fuori del limite specificato nel target. |
Dati aggiuntivi
qiskit.transpiler.passes.utils.wrap_angles.WRAP_ANGLE_REGISTRY
Una sede storica per WrapAngles.DEFAULT_REGISTRY. Questo percorso deve essere utilizzato solo quando è richiesta la piena compatibilità con Qiskit 2.2.
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.