process_fidelity
process_fidelity(channel, target=None, require_cp=True, require_tp=False, require_cptp=False)
Return the process fidelity of a noisy quantum channel.
This process fidelity is given by
where are the SuperOp
matrices for the input quantum channel and target unitary respectively, and is the dimension of the channel.
Parameters
- channel (QuantumChannel) – noisy quantum channel.
- target (Operator or None) – target unitary operator. If None target is the identity operator [Default: None].
- require_cp (bool) – require channel to be completely-positive [Default: True].
- require_tp (bool) – require channel to be trace-preserving [Default: False].
- require_cptp (bool) – (DEPRECATED) require input channels to be CPTP [Default: False].
Returns
The process fidelity .
Return type
float
Raises
- QiskitError – if the channel and target do not have the same dimensions, or have different input and output dimensions.
- QiskitError – if the channel and target or are not completely-positive (with
require_cp=True
) or not trace-preserving (withrequire_tp=True
).
Was this page helpful?
Report a bug or request content on GitHub.