Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

qiskit.providers.aer.utils.approximate_quantum_error

approximate_quantum_error(error, *, operator_string=None, operator_dict=None, operator_list=None)

GitHub(opens in a new tab)

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 (TT) and the process matrix of the output channel (S=ipiSiS = \sum_i{p_i S_i}), i.e. Tr[(TS)(TS)]Tr[(T-S)^\dagger (T-S)], where [p1,p2,...,pn][p_1, p_2, ..., p_n] denote probabilities and [S1,S2,...,Sn][S_1, S_2, ..., S_n] denote basis operators (channels).

See arXiv:1207.0046(opens in a new tab) 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

QuantumError

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.