About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
qiskit_aer.utils.approximate_quantum_error
approximate_quantum_error(error, *, operator_string=None, operator_dict=None, operator_list=None)
Return a QuantumError
object that approximates an error as a mixture of specified operators (channels).
The approximation is done by minimizing the Hilbert-Schmidt distance between the process matrix of the target error channel () and the process matrix of the output channel (), i.e. , where denote probabilities and denote basis operators (channels).
See arXiv:1207.0046 for the details.
Parameters
- error (QuantumError or QuantumChannel) – the error to be approximated. The number of qubits must be 1 or 2.
- operator_string (string) – a name for a pre-made set of building blocks for the output channel (Default: None). Possible values are
'pauli'
,'reset'
,'clifford'
. - operator_dict (dict) – a dictionary whose values are the building blocks for the output channel (Default: None). E.g. {“x”: XGate(), “y”: YGate()}, keys “x” and “y” are not used in transformation.
- operator_list (list) – list of building block operators for the output channel (Default: None). E.g. [XGate(), YGate()]
Returns
the approximate quantum error.
Return type
Raises
- NoiseError – if any invalid argument is specified or approximation failed.
- MissingOptionalLibraryError – if cvxpy is not installed.
Note
The operator input precedence is: list
< dict
< string
. If a string
is given, dict
is overwritten; if a dict
is given, list
is overwritten. The string
supports only 1- or 2-qubit errors and its possible values are 'pauli'
, 'reset'
, 'clifford'
. The 'clifford'
does not support 2-qubit errors.
Was this page helpful?
Report a bug or request content on GitHub.