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

Opções 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 Padrão: Unset

Se deve ser aplicado o giro de porta Clifford de 2 qubits.

Padrão: - Para o amostrador: False. - Para o estimador: Se enables_gates for Unset, ele é determinado pelo servidor de acordo com o nível de resiliência: é False para os níveis de resiliência 0 e 1, e True para o nível de resiliência 2.

enable_measure

Tipo: UnsetType | bool

Valor Padrão: Unset

Se deve permitir o giro para instruções de medição, desde que a medição não esteja envolvida em um bloco condicional.

Padrão: - Para o amostrador: False. - Para o estimador: Se enable_measure for Unset, é determinado pelo servidor de acordo com o nível de resiliência: é False para o nível de resiliência 0 e True para os níveis de resiliência 1 e 2.

num_randomizations

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

Valor Padrão: Unset

O número de amostras aleatórias a serem usadas ao girar ou realizar a atenuação da amostra.

Se num_randomizations for "auto", para cada pub executado shots vezes:

  • Se shots_per_randomization também for "auto", shots_per_randomization será definido primeiro conforme descrito abaixo e, em seguida, num_randomizations será definido como ceil(shots/shots_per_randomization), em que ceil é a função de teto.
  • Caso contrário, o valor é definido como ceil(shots/shots_per_randomization).

Padrão: "auto".

Nota

O valor shots especificado em um PUB ou no método run() é considerado parte da interface de execução primitiva e, portanto, é sempre obedecido. default_shots, por outro lado, é considerada uma opção específica do Qiskit Runtime. Portanto, o produto de num_randomizations e shots_per_randomization tem precedência sobre default_shots.

shots_per_randomization

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

Valor Padrão: Unset

O número de disparos a serem executados para cada amostra aleatória.

Se "auto", para cada pub executado shots vezes:

  • Se num_randomizations também for "auto", o valor será definido como 64 para mitigação de PEC ou como max(64, ceil(shots / 32)) em todos os outros casos, em que ceil é a função de teto.
  • Caso contrário, o valor é definido como ceil(shots/num_randomizations).

Padrão: "auto".

Nota

O valor shots especificado em um PUB ou no método run() é considerado parte da interface de execução primitiva e, portanto, é sempre obedecido. default_shots, por outro lado, é considerada uma opção específica do Qiskit Runtime. Portanto, o produto de num_randomizations e shots_per_randomization tem precedência sobre default_shots.

strategy

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

Valor Padrão: Unset

Especifique a estratégia de girar os qubits em camadas identificadas de portas giratórias de 2 qubits.

Os valores permitidos são:

  • Se "active" , somente os qubits de instrução em cada camada individual girada serão girados.
  • Se "active-circuit" , a união de todos os qubits de instrução no circuito será girada em cada camada girada.
  • Se "active-accum" a união dos qubits de instruções no circuito até a camada girada atual será girada em cada camada girada individual.
  • Se "all" todos os qubits no circuito de entrada serão girados em cada camada girada.

Padrão: "active-accum".

Imagem que ilustra as diferenças entre as estratégias de giro. Se estiver "ativo", somente os qubits de instrução em cada camada serão girados. Se for "active-circuit", todos os qubits de instrução no circuito serão girados. Se for "active-accum", a união de todos os qubits de instrução no circuito até a camada atual girada será girada. Por fim, se for "all", todos os qubits no circuito de entrada serão girados em cada camada girada.

Métodos

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.