Skip to main content
IBM Quantum Platform

TwirlingOptions

class TwirlingOptions(enable_gates=Unset, enable_measure=Unset, num_randomizations=Unset, shots_per_randomization=Unset, strategy=Unset)

GitHub

Basi: object

Opzioni di rotazione.


Attributi

Parametri

  • enable_gates (UnsetType | bool)
  • enable_measure (UnsetType | bool)
  • num_randomizations (UnsetType | int | Literal['auto'])
  • shots_per_randomization (UnsetType | int | Literal['auto'])
  • strategy (UnsetType | Literal['active', 'active-accum', 'active-circuit', 'all'])

enable_gates

Tipo: UnsetType | bool

Valore predefinito: Unset

Se applicare o meno il twirling della porta di Clifford a 2 qubit.

Impostazione predefinita: - Per il campionatore: False. - Per lo stimatore: se enables_gates è Unset, viene determinato dal server in base al livello di resilienza: è False per i livelli di resilienza 0 e 1, e True per il livello di resilienza 2.

enable_measure

Tipo: UnsetType | bool

Valore predefinito: Unset

Se abilitare il twirling alle istruzioni di misura, purché la misura non sia coinvolta in un blocco condizionale.

Impostazione predefinita: - Per il campionatore: False. - Per lo stimatore: se enable_measure è Unset, viene determinato dal server in base al livello di resilienza: è False per il livello di resilienza 0 e True per i livelli di resilienza 1 e 2.

num_randomizations

Tipo: UnsetType | int | Literal['auto']

Valore predefinito: Unset

Il numero di campioni casuali da utilizzare durante la rotazione o l'attenuazione dei campioni.

Se num_randomizations è "auto", per ogni pub eseguito shots volte:

  • Se anche shots_per_randomization è "auto", shots_per_randomization viene impostato per primo come descritto di seguito, quindi num_randomizations viene impostato come ceil(shots/shots_per_randomization), dove ceil è la funzione tetto.
  • Altrimenti, il valore viene impostato su ceil(shots/shots_per_randomization).

Predefinito: "auto".

Nota

Il valore shots specificato in un PUB o nel metodo run() è considerato parte dell'interfaccia di esecuzione primitiva e, pertanto, viene sempre rispettato. default_shots, D'altra parte, è considerata un'opzione specifica di IBM Quantum Compute (precedentemente Qiskit Runtime ). Pertanto, il prodotto di e num_randomizations shots_per_randomization ha la precedenza su default_shots.

shots_per_randomization

Tipo: UnsetType | int | Literal['auto']

Valore predefinito: Unset

Il numero di scatti da eseguire per ogni campione casuale.

Se "auto", per ogni pub eseguito shots volte:

  • Se anche num_randomizations è "auto", il valore viene impostato su 64 per la mitigazione della PEC o su max(64, ceil(shots / 32)) in tutti gli altri casi, dove ceil è la funzione di tetto.
  • Altrimenti, il valore viene impostato su ceil(shots/num_randomizations).

Predefinito: "auto".

Nota

Il valore shots specificato in un PUB o nel metodo run() è considerato parte dell'interfaccia di esecuzione primitiva e, pertanto, viene sempre rispettato. default_shots, D'altra parte, è considerata un'opzione specifica di IBM Quantum Compute (precedentemente Qiskit Runtime ). Pertanto, il prodotto di e num_randomizations shots_per_randomization ha la precedenza su default_shots.

strategy

Tipo: UnsetType | Literal['active', 'active-accum', 'active-circuit', 'all']

Valore predefinito: Unset

Specificare la strategia di roteazione dei qubit in strati identificati di porte roteate a 2 qubit.

I valori ammessi sono:

  • Se "active" , solo i qubit di istruzione di ogni singolo strato saranno roteati.
  • Se "active-circuit" l'unione di tutti i qubit di istruzione nel circuito sarà ritorta in ogni strato ritorto.
  • Se "active-accum" l'unione dei qubit di istruzioni nel circuito fino allo strato twistato corrente sarà twistato in ogni singolo strato twistato.
  • Se "all" tutti i qubit del circuito di ingresso saranno ritorti in ogni strato ritorto.

Predefinito: "active-accum".

Immagine che illustra le differenze tra le strategie di rotazione. Se "attivo", solo i qubit di istruzione di ogni strato verranno fatti ruotare. Se "circuito attivo", tutti i qubit di istruzione del circuito verranno fatti ruotare. Se "active-accum", l'unione di tutti i qubit di istruzione nel circuito fino al livello twistato corrente sarà twistato. Infine, se "tutti", tutti i qubit del circuito di ingresso saranno roteati in ogni strato roteato.

Metodi

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