mindquantum.core.gates.ThermalRelaxationChannel

View Source On Gitee
class mindquantum.core.gates.ThermalRelaxationChannel(t1: float, t2: float, gate_time: float, **kwargs)[source]

Thermal relaxation channel.

The thermal relaxation channel describes the thermal decoherence and dephasing of qubit when a quantum gate is applied, and is determined by T1, T2 and gate time.

The Choi-matrix representation of this channel is as below:

\[\begin{split}\begin{gather*} \epsilon(\rho) = \text{tr}_1 \left[ \Lambda \left( \rho^T \otimes I \right) \right], \Lambda=\begin{pmatrix} \epsilon_{T_1} & 0 & 0 & \epsilon_{T_2} \\ 0 & 1-\epsilon_{T_1} & 0 & 0 \\ 0 & 0 & 0 & 0 \\ \epsilon_{T_2} & 0 & 0 & 1 \end{pmatrix} \\ \text{where}\ \epsilon_{T_1}=e^{-T_g/T_1}, \epsilon_{T_2}=e^{-T_g/T_2} \end{gather*}\end{split}\]

Where \(\rho\) is quantum state as density matrix type; \(\Lambda\) is Choi matrix, \(T_1\) is thermal relaxation time of qubit, \(T_2\) is dephasing time of qubit, \(T_g\) is gate time.

Parameters
  • t1 (int, float) – T1 of the qubit.

  • t2 (int, float) – T2 of the qubit.

  • gate_time (int, float) – time of the quantum gate.

Examples

>>> from mindquantum.core.gates import ThermalRelaxationChannel
>>> from mindquantum.core.circuit import Circuit
>>> t1 = 100000
>>> t2 = 50000
>>> gate_time = 35
>>> circ = Circuit()
>>> circ += ThermalRelaxationChannel(t1, t2, gate_time).on(0)
>>> print(circ)
      ╔═══════════════════════════════╗
q0: ──╢ TRC(t1=100000,t2=50000,tg=35) ╟───
      ╚═══════════════════════════════╝
get_cpp_obj()[source]

Get underlying C++ object.

matrix()[source]

Kraus operator of the quantum channel.

Returns

list, contains all Kraus operators of this quantum channel.