View source on GitHub |
Returns the matrix representation of the linear map with given Kraus operators.
cirq.kraus_to_superoperator(
kraus_operators: Sequence[np.ndarray]
) -> np.ndarray
Used in the notebooks
Used in the tutorials |
---|
Quantum channel E: L(H1) -> L(H2) may be described by a collection of operators A_i, called Kraus operators, such that
$$
E(\rho) = \sum_i A_i \rho A_i^\dagger.
$$
Kraus representation is not unique. Alternatively, E may be specified by its superoperator matrix K(E) defined so that
$$
K(E) vec(\rho) = vec(E(\rho))
$$
where the vectorization map \(vec\) rearranges d-by-d matrices into d**2-dimensional vectors. Superoperator matrix is unique for a given channel. It is also called the natural representation of a quantum channel.
The computation of the superoperator matrix from a Kraus representation involves the sum of Kronecker products of all Kraus operators. This has the cost of O(kd**4) where k is the number of Kraus operators and d is the dimension of the input and output Hilbert space.
Args | |
---|---|
kraus_operators
|
Sequence of Kraus operators specifying a quantum channel. |
Returns | |
---|---|
Superoperator matrix of the channel specified by kraus_operators. |