mimiqcircuits.operations.noisechannel.standards.ampdamping¶
Classes
|
One-qubit amplitude damping noise channel. |
|
One-qubit generalized amplitude damping noise channel. |
- class mimiqcircuits.operations.noisechannel.standards.ampdamping.GeneralizedAmplitudeDamping(p, gamma)[source]¶
Bases:
krauschannelOne-qubit generalized amplitude damping noise channel.
The amplitude generalized damping channel is defined by the Kraus operators.
See also
Kraus Matrices representation:
\[\begin{split}\operatorname E_1 = \sqrt{p} \begin{pmatrix} 1 & 0 \\ 0 & \sqrt{1-\gamma} \end{pmatrix} ,\quad \operatorname E_2 = \sqrt{p} \begin{pmatrix} 0 & \sqrt{\gamma} \\ 0 & 0 \end{pmatrix} ,\quad \operatorname E_3 = \sqrt{1-p} \begin{pmatrix} \sqrt{1-\gamma} & 0 \\ 0 & 1 \end{pmatrix} ,\quad \operatorname E_4 = \sqrt{1-p} \begin{pmatrix} 0 & 0 \\ \sqrt{\gamma} & 0 \end{pmatrix},\end{split}\]- Parameters:
gamma –
gamma in [0,1].
Examples
>>> from mimiqcircuits import * >>> c = Circuit() >>> c.push(GeneralizedAmplitudeDamping(0.1,1), 0) 1-qubit circuit with 1 instruction: └── GeneralizedAmplitudeDamping((0.1, 1)) @ q[0]
- krausoperators()[source]¶
Returns the Kraus operators associated with the given Kraus channel.
This should be implemented for each specific channel.
- Returns:
A list of matrices representing the Kraus operators.
- Return type:
- krausmatrices()[source]¶
Returns the Kraus matrices associated with the given Kraus channel.
A mixed unitary channel is written as:
\[\mathcal{E}(\rho) = \sum_k p_k U_k \rho U_k^\dagger,\]where \(U_k\) are the unitary matrices returned by this function.
If the Kraus channel is parametric, the matrix elements are wrapped in a symengine or sympy object.
- Returns:
A list of symengine matrices representing the Kraus operators.
- Return type:
- property num_qubits¶
- property parnames¶
- class mimiqcircuits.operations.noisechannel.standards.ampdamping.AmplitudeDamping(gamma)[source]¶
Bases:
krauschannelOne-qubit amplitude damping noise channel.
The amplitude damping channel is defined by the Kraus operators .. seealso::
GeneralizedAmplitudeDamping()Kraus Matrices representation:
\[\begin{split}\operatorname E_1 = \begin{pmatrix} 1 & 0 \\ 0 & \sqrt{1-\gamma} \end{pmatrix} ,\quad \operatorname E_2 = \begin{pmatrix} 0 & \sqrt{\gamma} \\ 0 & 0 \end{pmatrix},\end{split}\]- Parameters:
gamma –
gamma in [0,1].
Examples
>>> from mimiqcircuits import * >>> c = Circuit() >>> c.push(AmplitudeDamping(0.1), 0) 1-qubit circuit with 1 instruction: └── AmplitudeDamping(0.1) @ q[0]
- krausoperators()[source]¶
Returns the Kraus operators associated with the given Kraus channel.
This should be implemented for each specific channel.
- Returns:
A list of matrices representing the Kraus operators.
- Return type:
- krausmatrices()[source]¶
Returns the Kraus matrices associated with the given Kraus channel.
A mixed unitary channel is written as:
\[\mathcal{E}(\rho) = \sum_k p_k U_k \rho U_k^\dagger,\]where \(U_k\) are the unitary matrices returned by this function.
If the Kraus channel is parametric, the matrix elements are wrapped in a symengine or sympy object.
- Returns:
A list of symengine matrices representing the Kraus operators.
- Return type:
- property opname¶
- property parnames¶