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

Opciones de giro.


Atributos

Parámetros

  • 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

Valor predeterminado: Unset

Si se aplica el giro de puerta Clifford de 2 qubits.

Por defecto: - Para el muestreador: False. - Para el estimador: Si enables_gates es Unset, el servidor lo determina en función del nivel de resiliencia: es False para los niveles de resiliencia 0 y 1, y True para el nivel de resiliencia 2.

enable_measure

Tipo: UnsetType | bool

Valor predeterminado: Unset

Si se permite el giro a las instrucciones de medición, siempre que la medición no esté implicada dentro de un bloque condicional.

Por defecto: - Para el muestreador: False. - Para el estimador: Si enable_measure es Unset, el servidor lo determina en función del nivel de resiliencia: es False para el nivel de resiliencia 0, y True para los niveles de resiliencia 1 y 2.

num_randomizations

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

Valor predeterminado: Unset

El número de muestras aleatorias que se utilizarán al girar o peformar la mitigación muestreada.

Si num_randomizations es "auto", por cada pub ejecutado shots veces:

  • Si shots_per_randomization también es "auto", shots_per_randomization se configura primero como se describe a continuación y, a continuación, num_randomizations se configura como ceil(shots/shots_per_randomization), donde ceil es la función de techo.
  • En caso contrario, el valor se fija en ceil(shots/shots_per_randomization).

Valor predeterminado: "auto".

Nota

El valor shots especificado en un PUB o en el método run() se considera parte de la interfaz de ejecución primitiva y, por lo tanto, siempre se obedece. default_shots, en cambio, se considera una opción específica de Qiskit Runtime. Por lo tanto, el producto de num_randomizations y shots_per_randomization tiene prioridad sobre default_shots.

shots_per_randomization

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

Valor predeterminado: Unset

El número de disparos a realizar para cada muestra aleatoria.

Si es "auto", por cada pub ejecutado shots veces:

  • Si num_randomizations es también "auto", el valor se establece en 64 para la mitigación PEC o en max(64, ceil(shots / 32)) en todos los demás casos, donde ceil es la función de techo.
  • En caso contrario, el valor se fija en ceil(shots/num_randomizations).

Valor predeterminado: "auto".

Nota

El valor shots especificado en un PUB o en el método run() se considera parte de la interfaz de ejecución primitiva y, por lo tanto, siempre se obedece. default_shots, en cambio, se considera una opción específica de Qiskit Runtime. Por lo tanto, el producto de num_randomizations y shots_per_randomization tiene prioridad sobre default_shots.

strategy

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

Valor predeterminado: Unset

Especificar la estrategia de giro de qubits en capas identificadas de compuertas de giro de 2 qubits.

Los valores permitidos son:

  • Si "active" sólo se girarán los qubits de instrucción en cada capa girada individual.
  • Si "active-circuit" la unión de todos los qubits de instrucción en el circuito será twirled en cada capa twirled.
  • Si "active-accum" la unión de instrucciones qubits en el circuito hasta la capa twirled actual será twirled en cada capa twirled individual.
  • Si "all" todos los qubits del circuito de entrada se girarán en cada capa girada.

Valor predeterminado: "active-accum".

Imagen que ilustra las diferencias entre las estrategias de giro. Si está "activo", sólo se girarán los qubits de instrucción de cada capa. Si es "circuito activo", se girarán todos los qubits de instrucción del circuito. Si "active-accum", la unión todos los qubits de instrucción en el circuito hasta la capa actual twirled será twirled. Por último, si es "todos", todos los qubits del circuito de entrada se girarán en cada capa girada.

Métodos

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.