TokenSwapperSynthesisPermutation
class qiskit.transpiler.passes.synthesis.hls_plugins.TokenSwapperSynthesisPermutation
Basi: HighLevelSynthesisPlugin
Il plugin di sintesi delle permutazioni si basa sull'algoritmo token swapper.
Il nome del plugin è:permutation.token_swapper che può essere utilizzato come chiave di un oggetto HLSConfig per utilizzare questo metodo con HighLevelSynthesis.
In dettaglio, questo plugin viene utilizzato per sintetizzare oggetti di tipo PermutationGate. Quando la sintesi ha successo, il plugin produce un circuito quantistico composto solo da porte di scambio. Se la sintesi non riesce, il plugin emette None.
Se la mappa di accoppiamento o i qubit sono Nessuno, il circuito sintetizzato non deve rispettare i vincoli di connettività, come avviene quando la sintesi viene eseguita prima del layout/routing.
D'altra parte, se vengono specificati sia la mappa di accoppiamento che i qubit, si suppone che il circuito sintetizzato aderisca ai vincoli di connettività. Al momento, il plugin crea solo porte di scambio tra qubit in qubit, cioè non utilizza altri qubit nella mappa di accoppiamento (se tale sintesi non è possibile, il plugin produce None).
Il plugin supporta le seguenti opzioni specifiche del plugin:
- prove: Il numero di tentativi per lo scambiatore di token per eseguire la mappatura. Viene restituito il circuito con il minor numero di SWAP.
- seme: Argomento del token swapper che specifica il seme per le prove casuali.
- soglia_parallela: Argomento del token swapper che specifica il numero di nodi del grafo oltre il quale l'algoritmo utilizzerà l'elaborazione parallela.
Per maggiori dettagli sull'algoritmo di scambio dei token, consultare il documento: arXiv:1902.09102.
Metodi
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Esegue la sintesi per la permutazione indicata.