Skip to main contentIBM Quantum Documentation Mirror

NoiseLearnerOptions

class NoiseLearnerOptions(*args, **kwargs)

GitHub(opens in a new tab)

Options for NoiseLearner.


Attributes

environment

Type: EnvironmentOptions | Dict

Default value: FieldInfo(annotation=Union[EnvironmentOptions, Dict], required=False, default_factory=EnvironmentOptions)

experimental

Type: UnsetType | dict

Default value: Unset

Experimental options.

These options are subject to change without notification, and stability is not guaranteed.

layer_pair_depths

Type: UnsetType | List[int]

Default value: Unset

The circuit depths (measured in number of pairs) to use in learning experiments.

Pairs are used as the unit because we exploit the order-2 nature of our entangling gates in the noise learning implementation. A value of 3 would correspond to 6 layers of the layer of interest, for example. Default: (0, 1, 2, 4, 16, 32).

max_execution_time

Type: UnsetType | int

Default value: Unset

max_layers_to_learn

Type: UnsetType | int | None

Default value: Unset

The max number of unique layers to learn.

A None value indicates that there is no limit. If there are more unique layers present, then some layers will not be learned or mitigated. The learned layers are prioritized based on the number of times they occur, and for equally occurring layers are further sorted by the number of two-qubit gates in the layer. Default: 4.

num_randomizations

Type: UnsetType | int

Default value: Unset

The number of random circuits to use per learning circuit configuration.

A configuration is a measurement basis and depth setting. For example, if your experiment has six depths, and nine required measurement bases, then setting this value to 32 will result in a total of 32 * 9 * 6 circuits that need to be executed (at shots_per_randomization each). Default: 32.

shots_per_randomization

Type: UnsetType | int

Default value: Unset

The total number of shots to use per random learning circuit.

A learning circuit is a random circuit at a specific learning depth with a specific measurement basis that is executed on hardware. Default: 128.

simulator

Type: SimulatorOptions | Dict

Default value: FieldInfo(annotation=Union[SimulatorOptions, Dict], required=False, default_factory=SimulatorOptions)

twirling_strategy

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

Default value: Unset

The twirling strategy in the identified layers of two-qubit twirled gates.

The allowed values are:

  • "active": in each individual twirled layer, only the instruction qubits are twirled.

  • "active-circuit": in each individual twirled layer, the union of all instruction

    qubits in the circuit are twirled.

  • "active-accum": in each individual twirled layer, the union of instructions qubits

    in the circuit up to the current twirled layer are twirled.

  • "all": in each individual twirled layer, all qubits in the input circuit are twirled.

Note

Barriers and delay instructions are ignored when determining whether a qubit is active.

Default: “active-accum”.


Methods

update

update(**kwargs)

GitHub(opens in a new tab)

Update the options.

Return type

None