NoiseModel
- class pulser.noise_model.NoiseModel(runs=None, samples_per_run=None, state_prep_error=None, p_false_pos=None, p_false_neg=None, temperature=None, laser_waist=None, amp_sigma=None, relaxation_rate=None, dephasing_rate=None, hyperfine_dephasing_rate=None, depolarizing_rate=None, eff_noise_rates=(), eff_noise_opers=(), with_leakage=False)
Bases:
object
Specifies the noise model parameters for emulation.
Supported noise types:
- leakage: Adds an error state ‘x’ to the computational
basis, that can interact with the other states via an effective noise channel. Must be defined with an effective noise channel, but is incompatible with dephasing and depolarizing noise channels.
relaxation: Noise due to a decay from the Rydberg to the ground state (parametrized by
relaxation_rate
), commonly characterized experimentally by the T1 time.dephasing: Random phase (Z) flip (parametrized by
dephasing_rate
), commonly characterized experimentally by the T2* time.depolarizing: Quantum noise where the state is turned into the maximally mixed state with rate
depolarizing_rate
. While it does not describe a physical phenomenon, it is a commonly used tool to test the system under a uniform combination of phase flip (Z) and bit flip (X) errors.eff_noise: General effective noise channel defined by the set of collapse operators
eff_noise_opers
and their corresponding rateseff_noise_rates
.doppler: Local atom detuning due to termal motion of the atoms and Doppler effect with respect to laser frequency. Parametrized by the
temperature
field.amplitude: Gaussian damping due to finite laser waist and laser amplitude fluctuations. Parametrized by
laser_waist
andamp_sigma
.SPAM: SPAM errors. Parametrized by
state_prep_error
,p_false_pos
andp_false_neg
.
- Parameters:
runs (
int
|None
, default:None
) – When reconstructing the Hamiltonian from random noise is necessary, this determines how many times that happens. Not to be confused with the number of times the resulting bitstring distribution is sampled when calculating bitstring counts.samples_per_run (
int
|None
, default:None
) – Number of samples per noisy Hamiltonian. Useful for cutting down on computing time, but unrealistic.state_prep_error (
float
|None
, default:None
) – The state preparation error probability.p_false_pos (
float
|None
, default:None
) – Probability of measuring a false positive.p_false_neg (
float
|None
, default:None
) – Probability of measuring a false negative.temperature (
float
|None
, default:None
) – Temperature, set in µK, of the atoms in the array. Also sets the standard deviation of the speed of the atoms.laser_waist (
float
|None
, default:None
) – Waist of the gaussian lasers, set in µm, for global pulses. Assumed to be the same for all global channels.amp_sigma (
float
|None
, default:None
) – Dictates the fluctuations in amplitude of global pulses from run to run as a standard deviation of a normal distribution centered in 1. Assumed to be the same for all global channels.relaxation_rate (
float
|None
, default:None
) – The rate of relaxation from the Rydberg to the ground state (in 1/µs). Corresponds to 1/T1.dephasing_rate (
float
|None
, default:None
) – The rate of a dephasing occuring (in 1/µs) in a Rydberg state superpostion. Only used if a Rydberg state is involved. Corresponds to 1/T2*.hyperfine_dephasing_rate (
float
|None
, default:None
) – The rate of dephasing occuring (in 1/µs) between hyperfine ground states. Only used if the hyperfine state is involved.depolarizing_rate (
float
|None
, default:None
) – The rate (in 1/µs) at which a depolarizing error occurs.eff_noise_rates (
tuple
[float
,...
], default:()
) – The rate associated to each effective noise operator (in 1/µs).eff_noise_opers (
tuple
[ArrayLike,...
], default:()
) – The operators for the effective noise model.with_leakage (
bool
, default:False
) – Whether or not to include an error state in the computations (default to False).
Attributes
noise_types
runs
samples_per_run
state_prep_error
p_false_pos
p_false_neg
temperature
laser_waist
amp_sigma
relaxation_rate
dephasing_rate
hyperfine_dephasing_rate
depolarizing_rate
eff_noise_rates
eff_noise_opers
with_leakage
Methods
Deserialize a noise model from an abstract JSON object.
Serializes the noise model into an abstract JSON object.
Signatures
- static from_abstract_repr(obj_str)
Deserialize a noise model from an abstract JSON object.
- Parameters:
obj_str (str) – the JSON string representing the noise model encoded in the abstract JSON format.
- Return type:
- to_abstract_repr()
Serializes the noise model into an abstract JSON object.
- Return type:
str