![]() |
The Quantum Exact Simulation Toolkit v4.0.0
|
Functions for effecting decoherence channels upon density matrices. More...
Functions | |
void | mixDamping (Qureg qureg, int target, qreal prob) |
void | mixDephasing (Qureg qureg, int target, qreal prob) |
void | mixDepolarising (Qureg qureg, int target, qreal prob) |
void | mixKrausMap (Qureg qureg, int *targets, int numTargets, KrausMap map) |
void | mixPaulis (Qureg qureg, int target, qreal probX, qreal probY, qreal probZ) |
void | mixQureg (Qureg qureg, Qureg other, qreal prob) |
void | mixSuperOp (Qureg qureg, int *targets, int numTargets, SuperOp superop) |
void | mixTwoQubitDephasing (Qureg qureg, int target1, int target2, qreal prob) |
void | mixTwoQubitDepolarising (Qureg qureg, int target1, int target2, qreal prob) |
Functions for effecting decoherence channels upon density matrices.
void mixDamping | ( | Qureg | qureg, |
int | target, | ||
qreal | prob ) |
qureg
, \( p = \) prob
and \( t = \) target
.This function effects
\[ \dmrho \; \rightarrow \; \hat{K}_t^{(1)} \dmrho \, {\hat{K}_t^{(2)}}^\dagger \,+\, \hat{K}_t^{(2)} \dmrho \, {\hat{K}_t^{(2)}}^\dagger \]
where \( \hat{K}^{(1)} \) and \( \hat{K}^{(2)} \) are one-qubit Kraus operators
\[ \hat{K}^{(1)} = \begin{pmatrix} 1 & 0 \\ 0 & \sqrt{1-p} \end{pmatrix}, \;\; \hat{K}^{(1)} = \begin{pmatrix} 0 & \sqrt{p} \\ 0 & 0 \end{pmatrix}. \]
Definition at line 91 of file decoherence.cpp.
Referenced by TEST_CASE(), and TEST_CASE().
void mixDephasing | ( | Qureg | qureg, |
int | target, | ||
qreal | prob ) |
qureg
, \( p = \) prob
and \( t = \) target
.This function effects
\[ \dmrho \;\rightarrow\; (1 - p) \, \dmrho \,+\, p \, \hat{Z}_t \,\dmrho\, \hat{Z}_t. \]
Definition at line 31 of file decoherence.cpp.
Referenced by TEST_CASE(), and TEST_CASE().
void mixDepolarising | ( | Qureg | qureg, |
int | target, | ||
qreal | prob ) |
qureg
, \( p = \) prob
and \( t = \) target
.This function effects
\[ \dmrho \;\rightarrow\; (1 - p) \, \dmrho \,+\, \frac{p}{3} \left( \hat{X}_t \dmrho \hat{X}_t \,+\, \hat{Y}_t \dmrho \hat{Y}_t \,+\, \hat{Z}_t \dmrho \hat{Z}_t \right). \]
Definition at line 61 of file decoherence.cpp.
Referenced by TEST_CASE(), and TEST_CASE().
qureg
, \( \vec{t} = \) targets
and \( \hat{K}^{(i)} \) denote the \(i\)-th Kraus operator in map
.This function effects
\[ \dmrho \; \rightarrow \; \sum\limits_i \hat{K}_{\vec{t}}^{(i)} \dmrho \, {\hat{K}_{\vec{t}}^{(i)}}^\dagger \]
Definition at line 121 of file decoherence.cpp.
Referenced by mixKrausMap(), and TEST_CASE().
void mixPaulis | ( | Qureg | qureg, |
int | target, | ||
qreal | probX, | ||
qreal | probY, | ||
qreal | probZ ) |
qureg
, \( t = \) target
, and \( p_x = \) probX
, \( p_y = \) probY
, \( p_z = \) probZ
.This function effects
\[ \dmrho \;\rightarrow\; (1 - p) \, \dmrho \,+\, p_x \, \hat{X}_t \dmrho \hat{X}_t \,+\, p_y \, \hat{Y}_t \dmrho \hat{Y}_t \,+\, p_z \, \hat{Z}_t \dmrho \hat{Z}_t. \]
Definition at line 106 of file decoherence.cpp.
Referenced by TEST_CASE().
qureg
, \( \dmrho_2 = \) other
and \( p = \) prob
.This function effects
\[ \dmrho_1 \;\rightarrow \; (1 - p) \, \dmrho_1 \,+\, p \, \dmrho_2. \]
Definition at line 133 of file decoherence.cpp.
Referenced by TEST_CASE().
Definition at line 144 of file decoherence.cpp.
Referenced by mixSuperOp(), and TEST_CASE().
void mixTwoQubitDephasing | ( | Qureg | qureg, |
int | target1, | ||
int | target2, | ||
qreal | prob ) |
qureg
, \( p = \) prob
, \( t_1 = \) target1
and \( t_2 = \) target2
.This function effects
\[ \dmrho \;\rightarrow\; (1 - p) \, \dmrho \,+\, \frac{p}{3} \left( \hat{Z}_{t_1} \dmrho \hat{Z}_{t_1} \,+\, \hat{Z}_{t_1} \dmrho \hat{Z}_{t_1} \,+\, \hat{Z}_{t_1} \hat{Z}_{t_2} \dmrho \hat{Z}_{t_1} \hat{Z}_{t_2} \right). \]
Definition at line 46 of file decoherence.cpp.
Referenced by TEST_CASE(), and TEST_CASE().
void mixTwoQubitDepolarising | ( | Qureg | qureg, |
int | target1, | ||
int | target2, | ||
qreal | prob ) |
qureg
, \( p = \) prob
, \( t_1 = \) target1
and \( t_2 = \) target2
.This function effects:
\[ \dmrho \; \rightarrow \; (1 - p) \dmrho + \frac{p}{15} \left( \sum_{\hat{\sigma} \in \{\hat{\id},\hat{X},\hat{Y},\hat{Z}\}} \sum_{\hat{\sigma}' \in \{\hat{\id},\hat{X},\hat{Y},\hat{Z}\}} \hat{\sigma}_{t_1} \hat{\sigma}_{t_2}' \; \dmrho \; \hat{\sigma}_{t_1} \hat{\sigma}_{t_2}' \right) - \frac{p}{15} \hat{\id}_{t_1} \hat{\id}_{t_2} \dmrho \hat{\id}_{t_1} \hat{\id}_{t_2}, \]
or verbosely:
\[ \dmrho \; \rightarrow \; (1 - p) \, \rho + \frac{p}{15} \; \left( \begin{gathered} \hat{X}_{t_1} \, \rho \, \hat{X}_{t_1} + \hat{Y}_{t_1} \, \rho \, \hat{Y}_{t_1} + \hat{Z}_{t_1} \, \rho \, \hat{Z}_{t_1} + \\ \hat{X}_{t_2} \, \rho \, \hat{X}_{t_2} + \hat{Y}_{t_2} \, \rho \, \hat{Y}_{t_2} + \hat{Z}_{t_2} \, \rho \, \hat{Z}_{t_2} + \\ \hat{X}_{t_1} \hat{X}_{t_2} \, \rho \, \hat{X}_{t_1} \hat{X}_{t_2} + \hat{Y}_{t_1} \hat{Y}_{t_2} \, \rho \, \hat{Y}_{t_1} \hat{Y}_{t_2} + \hat{Z}_{t_1} \hat{Z}_{t_2} \, \rho \, \hat{Z}_{t_1} \hat{Z}_{t_2} + \\ \hat{X}_{t_1} \hat{Y}_{t_2} \, \rho \, \hat{X}_{t_1} \hat{Y}_{t_2} + \hat{Y}_{t_1} \hat{Z}_{t_2} \, \rho \, \hat{Y}_{t_1} \hat{Z}_{t_2} + \hat{Z}_{t_1} \hat{X}_{t_2} \, \rho \, \hat{Z}_{t_1} \hat{X}_{t_2} + \\ \hat{X}_{t_1} \hat{Z}_{t_2} \, \rho \, \hat{X}_{t_1} \hat{Z}_{t_2} + \hat{Y}_{t_1} \hat{X}_{t_2} \, \rho \, \hat{Y}_{t_1} \hat{Z}_{t_2} + \hat{Z}_{t_1} \hat{Y}_{t_2} \, \rho \, \hat{Z}_{t_1} \hat{Y}_{t_2} \end{gathered} \right). \]
Definition at line 76 of file decoherence.cpp.
Referenced by TEST_CASE(), and TEST_CASE().