tensor_channel_kraus

forest.benchmarking.operator_tools.compose_superoperators.tensor_channel_kraus(k2: Sequence[numpy.ndarray], k1: Sequence[numpy.ndarray]) → Sequence[numpy.ndarray]

Given the Kraus representation for two channels, \(\mathcal E\) and \(\mathcal F\), acting on different systems this function returns the Kraus operators representing the composition of these independent channels.

Suppose \(\mathcal E\) and \(\mathcal F\) each have one Kraus operator, \(K_1 = X\) and \(K_2 = H\), so each channel is unitary. Then, with respect to the tensor product structure \(H_2 \otimes H_1\) of the individual systems, this function returns

\[K_{\rm tot} = H \otimes X\]
Parameters:
  • k1 – The list of Kraus operators on the first system.
  • k2 – The list of Kraus operators on the second system.
Returns:

A list of tensored Kraus operators.