dwave.system.temperatures.freezeout_effective_temperature#
- freezeout_effective_temperature(freezeout_B: float, temperature: float, units_B: str = 'GHz', units_T: str = 'mK') float [source]#
Calculate an effective temperature for a freezeout point.
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, and \(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 Hamiltonian rescaling factor:
\(R=1\) if the QPU is operated with the auto_scale set to
False
.\(R \neq 1\) if
auto_scale=True
(default) and additional scaling factors must be accounted for.
See the Annealing Implementation and Controls section for operation details of D-Wave annealing quantum computers.
This function calculates the unitless effective temperature as \(T_{eff} = 2 k_B T/B(s^*)\).
Device temperature, \(T\), annealing schedules \(A(s)\) and \(B(s)\), and single-qubit freeze-out (\(s^*\), for simple uncoupled Hamltonians), are properties reported for each device in the Per-QPU Solver Properties and Schedules section. These values (typically specified in mK and GHz) allow 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\), in which cases \(A(s)\) cannot be ignored as a contributing factor to the distribution.
- 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, 'GHz') – Units in which
freezeout_B
is specified. Allowed values: ‘GHz’ (Giga-Hertz) and ‘J’ (Joules).units_T (string, 'mK') – Units in which the
temperature
is specified. Allowed values: ‘mK’ (milli-Kelvin) and ‘K’ (Kelvin).
- Returns:
The effective (unitless) temperature.
- Return type:
Examples
This example uses the published parameters for the
Advantage_system4.1
QPU solver as of November 22nd 2021: \(B(s=0.612) = 3.91\) GHz , \(T = 15.4\) mK.>>> 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...
See also
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.