pyqtorch
pyqtorch copied to clipboard
[Feature] Add Kraus Operator
We know that the state of an open quantum system is represented by the density matrix $\rho$. But how do we describe the dynamics of this system?
The transformations of the density operator of an open quantum system interacting with its environment are represented by the super-operator $S: \rho \rightarrow S(\rho)$, often referred to as a quantum channel. Quantum channels, due to the conservation of the probability distribution, must be CPTP (Completely Positive and Trace Preserving). Any CPTP super-operator can be written in the following form:
$$ S(\rho) = \sum_i K_i \rho K^{\dagger}_i $$
Where $K_i$ are the Kraus operators, and satisfy the property $\sum_i K_i K^{\dagger}_i = \mathbb{I}$
It is therefore possible to simulate the dynamics of an open quantum system if the Kraus decomposition of the applied quantum channel is known.
With this in mind, we will implement Kraus operators in Pyqtorch to study the effect of certain noisy quantum channels whose Kraus decomposition has been analytically demonstrated, such as the depolarizing channel
.