NoiseTransformer.generate_channel_matrices¶
- NoiseTransformer.generate_channel_matrices(transform_channel_operators_list)[source]¶
Generate symbolic channel matrices.
Generates a list of 4x4 symbolic matrices describing the channel defined from the given operators. The identity matrix is assumed to be the first element in the list:
[(I, ), (A1, B1, ...), (A2, B2, ...), ..., (An, Bn, ...)]
E.g. for a Pauli channel, the matrices are:
[(I,), (X,), (Y,), (Z,)]
For relaxation they are:
[(I, ), (|0><0|, |0><1|), |1><0|, |1><1|)]
We consider this input to symbolically represent a channel in the following manner: define indeterminates \(x_0, x_1, ..., x_n\) which are meant to represent probabilities such that \(x_i \ge 0\) and \(x0 = 1-(x_1 + ... + x_n)\).
Now consider the quantum channel defined via the Kraus operators \({\sqrt(x_0)I, \sqrt(x_1) A_1, \sqrt(x1) B_1, ..., \sqrt(x_m)A_n, \sqrt(x_n) B_n, ...}\) This is the channel C symbolically represented by the operators.
- Parameters
transform_channel_operators_list (list) – A list of tuples of matrices which represent Kraus operators.
- Returns
A list of 4x4 complex matrices
([D1, D2, ..., Dn], E)
such that the matrix \(x_1 D_1 + ... + x_n D_n + E\) represents the operation of the channel C on the density operator. we find it easier to work with this representation of C when performing the combinatorial optimization.- Return type
list