kraus2choi

forest.benchmarking.operator_tools.superoperator_transformations.kraus2choi(kraus_ops: Sequence[numpy.ndarray]) → numpy.ndarray

Convert a set of Kraus operators (representing a channel) to a Choi matrix using the column stacking convention.

Suppose the N Kraus operators M_i are dim by dim matrices. Then the the Choi matrix is a dim**2 by dim**2 matrix

\[\rm{choi\_matrix} = \sum_i^N |M_i>> (|M_i>>)^\dagger = \sum_i^N |M_i>> <<M_i|\]

where:

|M_i>> = vec(M_i)
Parameters:kraus_ops – A list of N Kraus operators
Returns:Returns a dim**2 by dim**2 matrix.