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

Bases : object

Options de tournoiement.


Attributs

Paramètres

  • 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

Type : UnsetType | bool

Valeur par défaut : Unset

L'application ou non d'un tourbillon de portes de Clifford à 2 qubits.

Par défaut : - Pour l'échantillonneur : False. - Pour l'estimateur : si enables_gates est Unset, il est déterminé par le serveur en fonction du niveau de résilience : il est False pour les niveaux de résilience 0 et 1, et True pour le niveau de résilience 2.

enable_measure

Type : UnsetType | bool

Valeur par défaut : Unset

Autoriser ou non le tournoiement pour les instructions de mesure, tant que la mesure n'est pas impliquée dans un bloc conditionnel.

Par défaut : - Pour l'échantillonneur : False. - Pour l'estimateur : si enable_measure est Unset, il est déterminé par le serveur en fonction du niveau de résilience : il est False pour le niveau de résilience 0, et True pour les niveaux de résilience 1 et 2.

num_randomizations

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

Valeur par défaut : Unset

Le nombre d'échantillons aléatoires à utiliser lors de la rotation ou de l'exécution de l'atténuation échantillonnée.

Si num_randomizations est "auto", pour chaque pub, shots est exécuté plusieurs fois :

  • Si shots_per_randomization est également "auto", shots_per_randomization est d'abord défini comme décrit ci-dessous, puis num_randomizations est défini comme ceil(shots/shots_per_randomization), où ceil est la fonction de plafond.
  • Dans le cas contraire, la valeur est fixée à ceil(shots/shots_per_randomization).

Valeur par défaut : "auto".

Remarque

La valeur shots spécifiée dans une instruction « PUB » ou dans la méthode run() est considérée comme faisant partie de l'interface d'exécution primitive et est donc toujours respectée. default_shots, En revanche, cette option est considérée comme spécifique à l' IBM Quantum Compute (anciennement Qiskit Runtime ). Par conséquent, le produit de et num_randomizations shots_per_randomization a priorité sur default_shots.

shots_per_randomization

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

Valeur par défaut : Unset

Le nombre de tirs à effectuer pour chaque échantillon aléatoire.

Si "auto", pour chaque pub exécutée shots fois :

  • Si num_randomizations est également "auto", la valeur est fixée à 64 pour l'atténuation PEC ou à max(64, ceil(shots / 32)) dans tous les autres cas, où ceil est la fonction plafond.
  • Dans le cas contraire, la valeur est fixée à ceil(shots/num_randomizations).

Valeur par défaut : "auto".

Remarque

La valeur shots spécifiée dans une instruction « PUB » ou dans la méthode run() est considérée comme faisant partie de l'interface d'exécution primitive et est donc toujours respectée. default_shots, En revanche, cette option est considérée comme spécifique à l' IBM Quantum Compute (anciennement Qiskit Runtime ). Par conséquent, le produit de et num_randomizations shots_per_randomization a priorité sur default_shots.

strategy

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

Valeur par défaut : Unset

Spécifier la stratégie de torsion des qubits dans les couches identifiées de portes torsadées à 2 qubits.

Les valeurs admises sont les suivantes :

  • Si "active" , seuls les qubits d'instruction de chaque couche tourbillonnaire individuelle seront tourbillonnés.
  • Si "active-circuit" , l'union de tous les qubits d'instruction du circuit sera tourbillonnée dans chaque couche tourbillonnée.
  • Si "active-accum" l'union des instructions qubits dans le circuit jusqu'à la couche tourbillonnée actuelle sera tourbillonnée dans chaque couche tourbillonnée individuelle.
  • Si "all" , tous les qubits du circuit d'entrée seront tourbillonnés dans chaque couche tourbillonnée.

Valeur par défaut : "active-accum".

Image illustrant les différences entre les stratégies de tournoiement. Si "actif", seuls les qubits d'instruction de chaque couche seront tournoyés. Si "circuit actif", tous les qubits d'instruction du circuit seront tournoyés. Si "active-accum", l'union de tous les qubits d'instruction du circuit jusqu'à la couche tourbillonnée actuelle sera tourbillonnée. Enfin, si "tous", tous les qubits du circuit d'entrée seront tourbillonnés dans chaque couche tourbillonnée.

Méthodes

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.