dwave.system.temperatures.fast_effective_temperature#
- fast_effective_temperature(sampler=None, num_reads=None, seed=None, h_range=(-0.1639344262295082, 0.1639344262295082), sampler_params=None, optimize_method=None, num_bootstrap_samples=0) Tuple[float64, float64] [source]#
Provides an estimate to the effective temperature, \(T\), of a sampler.
This function submits a set of single-qubit problems to a sampler and uses the rate of excitations to infer a maximum-likelihood estimate of temperature.
- Parameters:
sampler (
dimod.Sampler
, optional, default=DWaveSampler
) – A dimod sampler.num_reads (int, optional) – Number of reads to use. Default is 100 if not specified in
sampler_params
.seed (int, optional) – Seeds the problem generation process. Allowing reproducibility from pseudo-random samplers.
h_range (float, optional, default = [-1/6.1,1/6.1]) – Determines the range of external fields probed for temperature inference. Default is based on a D-Wave Advantage processor, where single-qubit freeze-out implies an effective temperature of 6.1 (see
freezeout_effective_temperature
). The range should be chosen inversely proportional to the anticipated temperature for statistical efficiency, and to accomodate precision and other nonidealities such as precision limitations.sampler_params (dict, optional) – Any additional non-defaulted sampler parameterization. If
num_reads
is a key, must be compatible withnum_reads
argument.optimize_method (str, optional) – Optimize method used by SciPy
root_scalar
method. The default method works well under default operation, ‘bisect’ can be numerically more stable when operated without defaults.num_bootstrap_samples (int, optional, default=0) – Number of bootstrap samples to use for estimation of the standard error. By default no bootstrapping is performed and the standard error is defaulted to 0.
- Returns:
The effective temperature describing single qubit problems in an external field, and a standard error (+/- 1 sigma). By default the confidence interval is set as 0.
- Return type:
Examples
Draw samples from a
DWaveSampler
, and establish the temperature>>> from dwave.system.temperatures import fast_effective_temperature >>> from dwave.system import DWaveSampler >>> sampler = DWaveSampler() >>> T, _ = fast_effective_temperature(sampler) >>> print('Effective temperature at freeze-out is',T) 0.21685104745347336
See also
The function
freezeout_effective_temperature
may be used in combination with published device values to estimate single-qubit freeze-out, in approximate agreement with empirical estimates of this function.