135 lines
7.7 KiB
Plaintext
135 lines
7.7 KiB
Plaintext
---
|
||
title: BackendEstimator (v1.2)
|
||
description: API reference for qiskit.primitives.BackendEstimator in qiskit v1.2
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.primitives.BackendEstimator
|
||
---
|
||
|
||
# BackendEstimator
|
||
|
||
<Class id="qiskit.primitives.BackendEstimator" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/primitives/backend_estimator.py#L91-L415" signature="qiskit.primitives.BackendEstimator(backend, options=None, abelian_grouping=True, bound_pass_manager=None, skip_transpilation=False)" modifiers="class">
|
||
Bases: [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.base.base_estimator.BaseEstimator")\[[`PrimitiveJob`](qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.base.estimator_result.EstimatorResult")]]
|
||
|
||
Evaluates expectation value using Pauli rotation gates.
|
||
|
||
The [`BackendEstimator`](#qiskit.primitives.BackendEstimator "qiskit.primitives.BackendEstimator") class is a generic implementation of the [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator") (V1) interface that is used to wrap a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") (or [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1")) object in the [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator") V1 API. It facilitates using backends that do not provide a native [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator") V1 implementation in places that work with [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator") V1. However, if you’re using a provider that has a native implementation of [`BaseEstimatorV1`](qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.BaseEstimatorV1") ( [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator")) or [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2"), it is a better choice to leverage that native implementation as it will likely include additional optimizations and be a more efficient implementation. The generic nature of this class precludes doing any provider- or backend-specific optimizations.
|
||
|
||
Initialize a new BackendEstimator (V1) instance
|
||
|
||
<Admonition title="Deprecated since version 1.2" type="danger">
|
||
The class `qiskit.primitives.backend_estimator.BackendEstimator` is deprecated as of qiskit 1.2. It will be removed no earlier than 3 months after the release date. All implementations of the BaseEstimatorV1 interface have been deprecated in favor of their V2 counterparts. The V2 alternative for the BackendEstimator class is BackendEstimatorV2.
|
||
</Admonition>
|
||
|
||
**Parameters**
|
||
|
||
* **backend** ([*BackendV1*](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") *|*[*BackendV2*](qiskit.providers.BackendV2 "qiskit.providers.BackendV2")) – (required) the backend to run the primitive on
|
||
* **options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.13)") *| None*) – Default options.
|
||
* **abelian\_grouping** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – Whether the observable should be grouped into commuting
|
||
* **bound\_pass\_manager** ([*PassManager*](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") *| None*) – An optional pass manager to run after parameter binding.
|
||
* **skip\_transpilation** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – If this is set to True the internal compilation of the input circuits is skipped and the circuit objects will be directly executed when this object is called.
|
||
|
||
## Attributes
|
||
|
||
### backend
|
||
|
||
<Attribute id="qiskit.primitives.BackendEstimator.backend">
|
||
Returns: The backend which this estimator object based on
|
||
</Attribute>
|
||
|
||
### options
|
||
|
||
<Attribute id="qiskit.primitives.BackendEstimator.options">
|
||
Return options values for the estimator.
|
||
|
||
**Returns**
|
||
|
||
options
|
||
</Attribute>
|
||
|
||
### preprocessed\_circuits
|
||
|
||
<Attribute id="qiskit.primitives.BackendEstimator.preprocessed_circuits">
|
||
Transpiled quantum circuits produced by preprocessing :returns: List of the transpiled quantum circuit
|
||
</Attribute>
|
||
|
||
### transpile\_options
|
||
|
||
<Attribute id="qiskit.primitives.BackendEstimator.transpile_options">
|
||
Return the transpiler options for transpiling the circuits.
|
||
</Attribute>
|
||
|
||
### transpiled\_circuits
|
||
|
||
<Attribute id="qiskit.primitives.BackendEstimator.transpiled_circuits">
|
||
Transpiled quantum circuits. :returns: List of the transpiled quantum circuit
|
||
|
||
**Raises**
|
||
|
||
[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the instance has been closed.
|
||
</Attribute>
|
||
|
||
## Methods
|
||
|
||
### run
|
||
|
||
<Function id="qiskit.primitives.BackendEstimator.run" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/primitives/base/base_estimator.py#L121-L178" signature="run(circuits, observables, parameter_values=None, **run_options)">
|
||
Run the job of the estimation of expectation value(s).
|
||
|
||
`circuits`, `observables`, and `parameter_values` should have the same length. The i-th element of the result is the expectation of observable
|
||
|
||
```python
|
||
obs = observables[i]
|
||
```
|
||
|
||
for the state prepared by
|
||
|
||
```python
|
||
circ = circuits[i]
|
||
```
|
||
|
||
with bound parameters
|
||
|
||
```python
|
||
values = parameter_values[i]
|
||
```
|
||
|
||
**Parameters**
|
||
|
||
* **circuits** (*Sequence\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] |* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – one or more circuit objects.
|
||
* **observables** (*Sequence\[BaseOperator |* [*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")*] | BaseOperator |* [*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – one or more observable objects. Several formats are allowed; importantly, `str` should follow the string representation format for [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") objects.
|
||
* **parameter\_values** (*Sequence\[Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")*]] | Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")*] |* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *| None*) – concrete parameters to be bound.
|
||
* **run\_options** – runtime options used for circuit execution.
|
||
|
||
**Returns**
|
||
|
||
The job object of EstimatorResult.
|
||
|
||
**Raises**
|
||
|
||
* [**TypeError**](https://docs.python.org/3/library/exceptions.html#TypeError "(in Python v3.13)") – Invalid argument type given.
|
||
* [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.13)") – Invalid argument values given.
|
||
|
||
**Return type**
|
||
|
||
T
|
||
</Function>
|
||
|
||
### set\_options
|
||
|
||
<Function id="qiskit.primitives.BackendEstimator.set_options" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/primitives/base/base_primitive.py#L39-L45" signature="set_options(**fields)">
|
||
Set options values for the estimator.
|
||
|
||
**Parameters**
|
||
|
||
**\*\*fields** – The fields to update the options
|
||
</Function>
|
||
|
||
### set\_transpile\_options
|
||
|
||
<Function id="qiskit.primitives.BackendEstimator.set_transpile_options" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/primitives/backend_estimator.py#L162-L168" signature="set_transpile_options(**fields)">
|
||
Set the transpiler options for transpiler. :param \*\*fields: The fields to update the options
|
||
</Function>
|
||
</Class>
|
||
|