qiskit.providers.aer.utils.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