SimConfig
- class pulser_simulation.SimConfig(noise=(), runs=15, samples_per_run=5, temperature=50.0, laser_waist=175.0, amp_sigma=0.05, detuning_sigma=0.0, eta=0.005, epsilon=0.01, epsilon_prime=0.05, relaxation_rate=0.01, dephasing_rate=0.05, hyperfine_dephasing_rate=0.001, depolarizing_rate=0.05, eff_noise_rates=<factory>, eff_noise_opers=<factory>, solver_options=None)
Bases:
objectSpecifies a simulation’s configuration.
Warning
Deprecated in v1.6.
NoiseModelshould be used instead.Note
Being a frozen dataclass, the configuration chosen upon instantiation cannot be changed later on.
- Parameters:
noise (
Literal['leakage','doppler','amplitude','detuning','register','SPAM','dephasing','relaxation','depolarizing','eff_noise'] |tuple[Literal['leakage','doppler','amplitude','detuning','register','SPAM','dephasing','relaxation','depolarizing','eff_noise'],...], default:()) –Types of noises to be used in the simulation. You may specify just one, or a tuple of the allowed noise types:
”leakage”: Adds an error state ‘x’ to the computational basis, that can interact with the other states via an effective noise channel (which must be defined).
”relaxation”: Relaxation from the Rydberg to the ground state.
”dephasing”: Random phase (Z) flip.
”depolarizing”: Quantum noise where the state (rho) is turned into a mixed state I/2 at a rate gamma (in rad/µs).
”eff_noise”: General effective noise channel defined by the set of collapse operators eff_noise_opers and the corresponding rates eff_noise_rates (in rad/µs).
”doppler”: Local atom detuning due to finite speed of the atoms and Doppler effect with respect to laser frequency.
”amplitude”: Gaussian damping due to finite laser waist
”SPAM”: SPAM errors. Defined by eta, epsilon and epsilon_prime.
eta (
float, default:0.005) – Probability of each atom to be badly prepared.epsilon (
float, default:0.01) – Probability of false positives.epsilon_prime (
float, default:0.05) – Probability of false negatives.runs (
int, default:15) – Number of runs needed : each run draws a new random noise.samples_per_run (
int, default:5) – Number of samples per noisy run. Useful for cutting down on computing time, but unrealistic.temperature (
float, default:50.0) – Temperature, set in µK, of the Rydberg array. Also sets the standard deviation of the speed of the atoms.laser_waist (
float, default:175.0) – Waist of the gaussian laser, set in µm, in global pulses.amp_sigma (
float, default:0.05) – Dictates the fluctuations in amplitude as a standard deviation of a normal distribution centered in 1.detuning_sigma (
float, default:0.0) – Dictates the fluctuations in detuning as a standard deviation of a normal distribution centered in 0.solver_options (
dict[str,Any] |None, default:None) – Options for the qutip solver.
Attributes
amp_sigmadephasing_ratedepolarizing_ratedetuning_sigmaStandard deviation for Doppler shifting due to thermal motion.
epsilonepsilon_primeetahyperfine_dephasing_ratelaser_waistnoiserelaxation_raterunssamples_per_runsolver_optionsA dictionary combining the SPAM error parameters.
Return the noises implemented on pulser.
temperatureWhether or not 'leakage' is included in the noise types.
eff_noise_rateseff_noise_opersMethods
Creates a SimConfig from a NoiseModel.
Creates a NoiseModel from the SimConfig.
Signatures
- classmethod from_noise_model(noise_model)
Creates a SimConfig from a NoiseModel.
- Return type:
TypeVar(T, bound= SimConfig)
- to_noise_model()
Creates a NoiseModel from the SimConfig.
- Return type:
- property doppler_sigma: float
Standard deviation for Doppler shifting due to thermal motion.
- property spam_dict: dict[str, float]
A dictionary combining the SPAM error parameters.
- property supported_noises: dict
Return the noises implemented on pulser.
- property with_leakage: bool
Whether or not ‘leakage’ is included in the noise types.