qat.quops.ParametricAmplitudeDamping
- class qat.quops.ParametricAmplitudeDamping(T_1, channel_repr=ChannelRepresentations.KRAUS)
Implementation of the amplitude damping channel
Its Kraus operators are:
\[\begin{split}E_{0}(t)&=|0\rangle\langle0|+\sqrt{1-p(t)}|1\rangle\langle1|=\left(\begin{array}{cc} 1 & 0\\ 0 & \sqrt{1-p(t)} \end{array}\right)\\ E_{1}(t)&=\sqrt{p(t)}|0\rangle\langle1|=\left(\begin{array}{cc} 0 & \sqrt{p(t)}\\ 0 & 0 \end{array}\right)\end{split}\]with \(p(t) = 1 - \exp\left(-t/T_1\right)\), where \(T_1\) is the relaxation time.
Each instance of this class has a call operator that returns the channel corresponding to a given duration.
Note
This form of amplitude damping implicitly assumes a Lindblad approximation (white noise spectral function)
- Parameters
T_1 (float) – relaxation time
Example:
from qat.quops import ParametricAmplitudeDamping ad = ParametricAmplitudeDamping(T_1=5) # return channel corresponding to applying this amplitude damping channel for 2 units of time: print(ad(tau=2))
AmplitudeDamping, T_1=5, t=2: [[1. +0.j 0. +0.j] [0. +0.j 0.81873075+0.j]] [[0. +0.j 0.57417763+0.j] [0. +0.j 0. +0.j]]
- T_1
relaxation time
- Type
float
- name
name of channel
- Type
string
- prob(t)
Error probability function \(p(t)\)
- Parameters
t (float) – time
- Returns
probability \(p(t)\)
- Return type
float