qiskit-documentation/docs/api/qiskit/0.24/qiskit.quantum_info.process...

47 lines
2.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: process_fidelity
description: API reference for qiskit.quantum_info.process_fidelity
in_page_toc_min_heading_level: 1
python_api_type: function
python_api_name: qiskit.quantum_info.process_fidelity
---
<span id="qiskit-quantum-info-process-fidelity" />
# qiskit.quantum\_info.process\_fidelity
<Function id="qiskit.quantum_info.process_fidelity" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.16/qiskit/quantum_info/operators/measures.py" signature="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 $F_{\text{pro}}$ is given by
$$
F_{\text{pro}}(\mathcal{E}, U)
= \frac{Tr[S_U^\dagger S_{\mathcal{E}}]}{d^2}
$$
where $S_{\mathcal{E}}, S_{U}$ are the [`SuperOp`](qiskit.quantum_info.SuperOp "qiskit.quantum_info.SuperOp") matrices for the input quantum *channel* $\cal{E}$ and *target* unitary $U$ respectively, and $d$ is the dimension of the *channel*.
**Parameters**
* **channel** (*QuantumChannel*) noisy quantum channel.
* **target** ([*Operator*](qiskit.quantum_info.Operator "qiskit.quantum_info.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 $F_{\text{pro}}$.
**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 (with `require_tp=True`).
</Function>