NoiseTransformer¶
- class NoiseTransformer[source]¶
Transforms one quantum channel to another based on a specified criteria.
Methods
We convert the operators to a matrix by applying the channel to the four basis elements of the 2x2 matrix space representing density operators; this is standard linear algebra
This method creates the matrix P in the f(x) = 1/2(x*P*x)+q*x representation of the objective function :param As: list of symbolic matrices repersenting the channel matrices :type As: list
Given a quantum state’s density function rho, the effect of the channel on this state is: rho -> sum_{i=1}^n E_i * rho * E_i^dagger
NoiseTransformer.compute_q
(As, C)This method creates the vector q for the f(x) = 1/2(x*P*x)+q*x representation of the objective function :param As: list of symbolic matrices repersenting the quadratic program :type As: list :param C: matrix representing the the constant channel matrix :type C: matrix
NoiseTransformer.fidelity
(channel)Calculates channel fidelity
- param m
The matrix to flatten
Generate symbolic channel matrices.
NoiseTransformer.generate_channel_quadratic_programming_matrices
(…)Generate matrices for quadratic program.
Extract the numeric constant matrix.
Extract the numeric parameter matrix.
NoiseTransformer.operator_circuit
(operator)Converts an operator representation to noise circuit.
NoiseTransformer.operator_matrix
(operator)Converts an operator representation to Kraus matrix representation
Prepares a list of channel operators.
Prepares the honesty constraint.
Solve the quadratic program optimization problem.
Transform by by quantum channels.
Transform input Kraus operators.