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[numpy.float64, numpy.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.

  • 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 with num_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.


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

Tuple[float, float]


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)    

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.