SimConfig
- class pulser_simulation.SimConfig(noise=(), runs=15, samples_per_run=5, temperature=50.0, laser_waist=175.0, amp_sigma=0.05, 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:
object
Specifies a simulation’s configuration.
Note
Being a frozen dataclass, the configuration chosen upon instantiation cannot be changed later on.
- Parameters:
noise (
Literal
['leakage'
,'doppler'
,'amplitude'
,'SPAM'
,'dephasing'
,'relaxation'
,'depolarizing'
,'eff_noise'
] |tuple
[Literal
['leakage'
,'doppler'
,'amplitude'
,'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.solver_options (
dict
[str
,Any
] |None
, default:None
) – Options for the qutip solver.
Attributes
amp_sigma
dephasing_rate
depolarizing_rate
Standard deviation for Doppler shifting due to thermal motion.
epsilon
epsilon_prime
eta
hyperfine_dephasing_rate
laser_waist
noise
relaxation_rate
runs
samples_per_run
solver_options
A dictionary combining the SPAM error parameters.
Return the noises implemented on pulser.
temperature
Whether or not 'leakage' is included in the noise types.
eff_noise_rates
eff_noise_opers
Methods
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.