70 lines
3.7 KiB
Plaintext
70 lines
3.7 KiB
Plaintext
---
|
||
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.24/qiskit/algorithms/state_fidelities/base_state_fidelity.py" signature="BaseStateFidelity" modifiers="class">
|
||
Bases: `ABC`
|
||
|
||
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
|
||
|
||
<span id="qiskit-algorithms-state-fidelities-basestatefidelity-create-fidelity-circuit" />
|
||
|
||
### create\_fidelity\_circuit
|
||
|
||
<Function id="qiskit.algorithms.state_fidelities.BaseStateFidelity.create_fidelity_circuit" signature="BaseStateFidelity.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>
|
||
|
||
<span id="qiskit-algorithms-state-fidelities-basestatefidelity-run" />
|
||
|
||
### run
|
||
|
||
<Function id="qiskit.algorithms.state_fidelities.BaseStateFidelity.run" signature="BaseStateFidelity.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] | Sequence\[Sequence\[float]] | None*) – Numerical parameters to be bound to the first set of circuits.
|
||
* **values\_2** (*Sequence\[float] | Sequence\[Sequence\[float]] | 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 > fidelity’s default options > primitive’s default setting. Higher priority setting overrides lower priority setting.
|
||
|
||
**Returns**
|
||
|
||
Primitive job for the fidelity calculation. The job’s result is an instance of `StateFidelityResult`.
|
||
|
||
**Return type**
|
||
|
||
[AlgorithmJob](qiskit.algorithms.AlgorithmJob "qiskit.algorithms.AlgorithmJob")
|
||
</Function>
|
||
</Class>
|
||
|