process_fidelity

forest.benchmarking.distance_measures.process_fidelity(pauli_lio0: numpy.ndarray, pauli_lio1: numpy.ndarray) → float

Returns the fidelity between two channels, E and F, represented as Pauli Liouville matrix.

The expression is

\[F_{process}(E,F) = ( Tr[E^\dagger F] + dim ) / (dim^2 + dim),\]

which is sometimes written as

\[F_{process}(E,F) = ( dim F_e + 1 ) / (dim + 1)\]

where dim is the dimension of the Hilbert space asociated with E and F, and F_e is the entanglement fidelity see https://arxiv.org/abs/quant-ph/9807091 .

NOTE: F_process is sometimes “gate fidelity” and F_e is sometimes called “process fidelity”.

If E is the ideal process, e.g. a perfect gate, and F is an experimental estimate of the actual process then the corresponding infidelity 1−F_process(E,F) can be seen as a measure of gate error, but it is not a proper metric.

For more information see [GFID] and [C]

[C]Universal Quantum Gate Set Approaching Fault-Tolerant Thresholds with Superconducting Qubits. Jerry M. Chow, et al. Phys. Rev. Lett. 109, 060501 (2012). https://doi.org/10.1103/PhysRevLett.109.060501 https://arxiv.org/abs/1202.5344
Parameters:
  • pauli_lio0 – A dim**2 by dim**2 Pauli-Liouville matrix
  • pauli_lio1 – A dim**2 by dim**2 Pauli-Liouville matrix
Returns:

The process fidelity between pauli_lio0 and pauli_lio1 which is a scalar.