qat.quops.ParametricPureDephasing

class qat.quops.ParametricPureDephasing(T_phi=None, spectral_function=None, temperature=0, variant=True, channel_repr=ChannelRepresentations.KRAUS)

Pure Dephasing channel

Its Kraus operators are defined as:

\[\begin{split}E_{1}(t)=\left[\begin{array}{cc} 1 & 0\\ 0 & \sqrt{1-p(t)} \end{array}\right],\;E_{2}(t)=\left[\begin{array}{cc} 0 & 0\\ 0 & \sqrt{p(t)} \end{array}\right]\end{split}\]

or (“variant”) as:

\[\begin{split}\tilde{E}_{1}(t)=\sqrt{1-\tilde{p}(t)}\left[\begin{array}{cc} 1 & 0\\ 0 & 1 \end{array}\right],\;\tilde{E}_{2}(t)=\sqrt{\tilde{p}(t)}\left[\begin{array}{cc} 1 & 0\\ 0 & -1 \end{array}\right]\end{split}\]

The probabilities \(p(t)\) and \(\tilde{p}(t)\) are related by the expression

\[\tilde{p}(t)=\frac{1}{2}(1-\sqrt{1-p(t)})\]

\(p(t)\) is given by the expression

\[p(t) = 1 - \exp(-\Gamma(t))\]

If a power spectral function is supplied, \(\Gamma(t)\) is given by the expression \(\Gamma(t)=\frac{t^{2}}{2}\int_{0}^{\infty}d\omega I(\omega) \mathrm{cotanh}\left(\frac{\beta\omega}{2}\right)\mathrm{sinc}^{2} \left(\frac{\omega t}{2}\right)\) where \(\beta\) is the inverse temperature. For specific forms of the spectral function \(I(\omega)\), this integral can be computed analytically.

If no spectral function is supplied and T_phi is supplied instead, then

\[p(t) = 1 - \exp(- 2 t / T_\varphi).\]

(which corresponds to a white dephasing noise).

Each instance of this class has a call operator that returns the channel corresponding to a given duration.

Parameters
  • T_phi (float, optional) – pure dephasing time. Defaults to None.

  • spectral_function (dict) – power spectral function. Dictionary with keys “w_c” (float), “w_ir” (float), and “noise_spectrum” (lambda) or {“type” (str: [white|1/f|Ohmic]) and “intensity” (float)}. Defaults to None.

  • temperature (float, optional) – temperature (used only if spectral_function is not None). Defaults to 0.

  • variant (bool, optional) – whether to use the variant. Defaults to True.

  • channel_repr (ChannelRepresentations, optional) – Which channel representation to use. Defaults to Kraus.

Example:

from qat.quops import ParametricPureDephasing
pd = ParametricPureDephasing(T_phi=5)
# return channel corresponding to applying this dephasing channel for 2 units of time:
print(pd(tau=2))
Pure Dephasing, T_phi = 5, t=2:
[[0.9138709+0.j 0.       +0.j]
 [0.       +0.j 0.9138709+0.j]]
[[ 0.4060049+0.j  0.       +0.j]
 [ 0.       +0.j -0.4060049+0.j]]

T_phi

pure dephasing time

Type

float

name

name of channel

Type

string

prob(t)

Probability function \(p(t)\)

Parameters

t (float) – time

Returns

probability \(p(t)\)

Return type

float

ptilde(tau)

Probability function \(\tilde p(\tau)\)

Parameters

tau (float) – time \(\tau\)

Returns

\(\tilde p(\tau)\)

Return type

float