# dwave.system.temperatures.freezeout_effective_temperature#

freezeout_effective_temperature(freezeout_B, temperature, units_B='GHz', units_T='mK') [source]#

Provides an effective temperature as a function of freezeout information.

See https://docs.dwavesys.com/docs/latest/c_qpu_annealing.html for a complete summary of D-Wave annealing quantum computer operation.

A D-Wave annealing quantum computer is assumed to implement a Hamiltonian $$H(s) = B(s)/2 H_P - A(s)/2 H_D$$, where: $$H_P$$ is the unitless diagonal problem Hamiltonian, $$H_D$$ is the unitless driver Hamiltonian, $$B(s)$$ is the problem energy scale; A(s) is the driver energy scale, amd $$s$$ is the normalized anneal time $$s = t/t_a$$ (in [0,1]). Diagonal elements of $$H_P$$, indexed by the spin state $$x$$, are equal to the energy of a classical Ising spin system

$E_{Ising}(x) = \sum_i h_i x_i + \sum_{i>j} J_{i,j} x_i x_j$

If annealing achieves a thermally equilibrated distribution over decohered states at large $$s$$ where $$A(s) \ll B(s)$$, and dynamics stop abruptly at $$s=s^*$$, the distribution of returned samples is well described by a Boltzmann distribution:

$P(x) = \exp(- B(s^*) R E_{Ising}(x) / 2 k_B T)$

where T is the physical temperature, and $$k_B$$ is the Boltzmann constant. R is a Hamiltonain rescaling factor, if a QPU is operated with auto_scale=False, then R=1. The function calculates the unitless effective temperature as $$T_{eff} = 2 k_B T/B(s^*)$$.

Device temperature $$T$$, annealing schedules {$$A(s)$$, $$B(s)$$} and single-qubit freeze-out ($$s^*$$, for simple uncoupled Hamltonians) are reported device properties: https://docs.dwavesys.com/docs/latest/doc_physical_properties.html These values (typically specified in mK and GHz) allows the calculation of an effective temperature for simple Hamiltonians submitted to D-Wave quantum computers. Complicated problems exploiting embeddings, or with many coupled variables, may freeze out at different values of s or piecemeal). Large problems may have slow dynamics at small values of s, so $$A(s)$$ cannot be ignored as a contributing factor to the distribution.

Note that for QPU solvers this temperature estimate applies to problems submitted with no additional scaling factors (sampling with auto_scale = False). If auto_scale=True (default) additional scaling factors must be accounted for.

Parameters:
• freezeout_B (float) – $$B(s^*)$$, the problem Hamiltonian energy scale at freeze-out.

• temperature (float) – $$T$$, the physical temperature of the quantum computer.

• units_B (string, optional, 'GHz') – Units in which freezeout_B is specified. Allowed values: ‘GHz’ (Giga-Hertz) and ‘J’ (Joules).

• units_T (string, optional, 'mK') – Units in which the temperature is specified. Allowed values: ‘mK’ (milli-Kelvin) and ‘K’ (Kelvin).

Returns:

The effective (unitless) temperature.

Return type:

float

Examples

This example uses the published parameters <https://docs.dwavesys.com/docs/latest/doc_physical_properties.html> for the Advantage_system4.1 QPU solver as of November 22nd 2021: $$B(s=0.612) = 3.91$$ GHz , :math:T = 15.4mK.

>>> from dwave.system.temperatures import freezeout_effective_temperature
>>> T = freezeout_effective_temperature(freezeout_B = 3.91, temperature = 15.4)
>>> print('Effective temperature at single qubit freeze-out is', T)
Effective temperature at single qubit freeze-out is 0.164...


The function fast_effective_temperature estimates the temperature for single-qubit Hamiltonians, in approximate agreement with estimates by this function at reported single-qubit freeze-out values $$s^*$$ and device physical parameters.