NoiseLearnerV3Options

class NoiseLearnerV3Options(shots_per_randomization=128, num_randomizations=32, layer_pair_depths=(0, 1, 2, 4, 16, 32), post_selection=<factory>, experimental=Unset, max_execution_time=Unset, environment=<factory>, simulator=<factory>)[source]

Bases: BaseOptions

Options for NoiseLearnerV3.

Attributes

Parameters:
  • shots_per_randomization (int)

  • num_randomizations (int)

  • layer_pair_depths (list[int])

  • post_selection (PostSelectionOptions | Dict)

  • experimental (UnsetType | dict)

  • max_execution_time (UnsetType | int)

  • environment (EnvironmentOptions | Dict)

  • simulator (SimulatorOptions | Dict)

environment: EnvironmentOptions | Dict = FieldInfo(annotation=NoneType, required=False, default_factory=EnvironmentOptions)
experimental: UnsetType | dict = Unset

Experimental options.

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

layer_pair_depths: list[int] = (0, 1, 2, 4, 16, 32)

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

Pairs are used as the unit because we exploit the order-2 nature of our entangling gates in the noise learning implementation. For example, a value of 3 corresponds to 6 repetitions of the layer of interest.

Note

This field is ignored by TREX experiments.

max_execution_time: UnsetType | int = Unset
num_randomizations: int = 32

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

For TREX experiments, a configuration is a measurement basis.

For Pauli Lindblad experiments, a configuration is a measurement basis and depth setting. For example, if your experiment has six depths, then setting this value to 32 will result in a total of 32 * 9 * 6 circuits that need to be executed (where 9 is the number of circuits that need to be implemented to measure all the required observables, see the note in the docstring for NoiseLearnerOptions for mode details), at shots_per_randomization each.

post_selection: PostSelectionOptions | Dict = FieldInfo(annotation=NoneType, required=False, default_factory=PostSelectionOptions)

Options for post selecting the results of noise learning circuits.

shots_per_randomization: int = 128

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

simulator: SimulatorOptions | Dict = FieldInfo(annotation=NoneType, required=False, default_factory=SimulatorOptions)

Methods

get_callback()[source]

Get the callback.

Return type:

Callable | None

to_options_model()[source]

Turn these options into an OptionsModel object.

Filters out every irrelevant field and replaces Unsets with Nones.

Return type:

OptionsModel

to_runtime_options()[source]

Turn these options into a dictionary of runtime options object.

Filters out every irrelevant field (i.e., those that are not fields of RuntimeOptions) and replaces Unsets with Nones.

Return type:

dict

update(**kwargs)[source]

Update the options.

Parameters:

kwargs (Any)

Return type:

None