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