qiskit-documentation/docs/api/qiskit/0.45/qiskit.algorithms.state_fid...

66 lines
4.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: BaseStateFidelity
description: API reference for qiskit.algorithms.state_fidelities.BaseStateFidelity
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.algorithms.state_fidelities.BaseStateFidelity
---
# BaseStateFidelity
<Class id="qiskit.algorithms.state_fidelities.BaseStateFidelity" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.45/qiskit/algorithms/state_fidelities/base_state_fidelity.py" signature="qiskit.algorithms.state_fidelities.BaseStateFidelity" modifiers="class">
Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)")
An interface to calculate state fidelities (state overlaps) for pairs of (parametrized) quantum circuits. The calculation depends on the particular fidelity method implementation, but can be always defined as the state overlap:
$$
|\langle\psi(x)|\phi(y)\rangle|^2
$$
where $x$ and $y$ are optional parametrizations of the states $\psi$ and $\phi$ prepared by the circuits `circuit_1` and `circuit_2`, respectively.
## Methods
### create\_fidelity\_circuit
<Function id="qiskit.algorithms.state_fidelities.BaseStateFidelity.create_fidelity_circuit" signature="create_fidelity_circuit(circuit_1, circuit_2)" modifiers="abstract">
Implementation-dependent method to create a fidelity circuit from 2 circuit inputs.
**Parameters**
* **circuit\_1** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) (Parametrized) quantum circuit.
* **circuit\_2** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) (Parametrized) quantum circuit.
**Returns**
The fidelity quantum circuit corresponding to `circuit_1` and `circuit_2`.
**Return type**
[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
</Function>
### run
<Function id="qiskit.algorithms.state_fidelities.BaseStateFidelity.run" signature="run(circuits_1, circuits_2, values_1=None, values_2=None, **options)">
Runs asynchronously the state overlap (fidelity) calculation between two (parametrized) circuits (first and second) for a specific set of parameter values (first and second). This calculation depends on the particular fidelity method implementation.
**Parameters**
* **circuits\_1** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *| Sequence\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]*) (Parametrized) quantum circuits preparing $|\psi\rangle$.
* **circuits\_2** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *| Sequence\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]*) (Parametrized) quantum circuits preparing $|\phi\rangle$.
* **values\_1** (*Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*] | Sequence\[Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*]] | None*) Numerical parameters to be bound to the first set of circuits.
* **values\_2** (*Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*] | Sequence\[Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*]] | None*) Numerical parameters to be bound to the second set of circuits.
* **options** Primitive backend runtime options used for circuit execution. The order of priority is: options in `run` method > fidelitys default options > primitives default setting. Higher priority setting overrides lower priority setting.
**Returns**
Primitive job for the fidelity calculation. The jobs result is an instance of `StateFidelityResult`.
**Return type**
[AlgorithmJob](qiskit.algorithms.AlgorithmJob "qiskit.algorithms.AlgorithmJob")
</Function>
</Class>