qiskit.quantum_info.average_gate_fidelity¶
-
average_gate_fidelity
(channel, target=None, require_cp=True, require_tp=False)[source]¶ Return the average gate fidelity of a noisy quantum channel.
The average gate fidelity \(F_{\text{ave}}\) is given by
\[\begin{split}F_{\text{ave}}(\mathcal{E}, U) &= \int d\psi \langle\psi|U^\dagger \mathcal{E}(|\psi\rangle\!\langle\psi|)U|\psi\rangle \\ &= \frac{d F_{\text{pro}}(\mathcal{E}, U) + 1}{d + 1}\end{split}\]where \(F_{\text{pro}}(\mathcal{E}, U)\) is the
process_fidelity()
of the input quantum channel \(\mathcal{E}\) with a target unitary \(U\), and \(d\) is the dimension of the channel.- Parameters
channel (QuantumChannel or Operator) – noisy quantum channel.
target (Operator or None) – target unitary operator. If None target is the identity operator [Default: None].
require_cp (bool) – check if input and target channels are completely-positive and if non-CP log warning containing negative eigenvalues of Choi-matrix [Default: True].
require_tp (bool) – check if input and target channels are trace-preserving and if non-TP log warning containing negative eigenvalues of partial Choi-matrix \(Tr_{\mbox{out}}[\mathcal{E}] - I\) [Default: True].
- Returns
The average gate fidelity \(F_{\text{ave}}\).
- Return type
float
- Raises
QiskitError – if the channel and target do not have the same dimensions, or have different input and output dimensions.