140 lines
5.9 KiB
Plaintext
140 lines
5.9 KiB
Plaintext
---
|
||
title: EstimatorV1
|
||
description: API reference for qiskit_ibm_runtime.EstimatorV1
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit_ibm_runtime.EstimatorV1
|
||
---
|
||
|
||
# EstimatorV1
|
||
|
||
<Class id="qiskit_ibm_runtime.EstimatorV1" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.27/qiskit_ibm_runtime/estimator.py#L235-L423" signature="EstimatorV1(backend=None, session=None, options=None)" modifiers="class">
|
||
Class for interacting with Qiskit Runtime Estimator primitive service.
|
||
|
||
<Admonition title="Deprecated since version 0.23" type="danger">
|
||
The `EstimatorV1` primitives have been deprecated in 0.23, released on April 15, 2024. See the [V2 migration guide](/migration-guides/v2-primitives). for more details. The `EstimatorV1` support will be removed no earlier than July 15, 2024.
|
||
</Admonition>
|
||
|
||
Qiskit Runtime Estimator primitive service estimates expectation values of quantum circuits and observables.
|
||
|
||
The [`run()`](#qiskit_ibm_runtime.EstimatorV1.run "qiskit_ibm_runtime.EstimatorV1.run") can be used to submit circuits, observables, and parameters to the Estimator primitive.
|
||
|
||
You are encouraged to use [`Session`](qiskit_ibm_runtime.Session "qiskit_ibm_runtime.Session") to open a session, during which you can invoke one or more primitives. Jobs submitted within a session are prioritized by the scheduler.
|
||
|
||
Example:
|
||
|
||
```python
|
||
from qiskit.circuit.library import RealAmplitudes
|
||
from qiskit.quantum_info import SparsePauliOp
|
||
|
||
from qiskit_ibm_runtime import QiskitRuntimeService, Estimator
|
||
|
||
service = QiskitRuntimeService(channel="ibm_cloud")
|
||
|
||
psi1 = RealAmplitudes(num_qubits=2, reps=2)
|
||
|
||
H1 = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)])
|
||
H2 = SparsePauliOp.from_list([("IZ", 1)])
|
||
H3 = SparsePauliOp.from_list([("ZI", 1), ("ZZ", 1)])
|
||
|
||
with Session(service=service, backend="ibmq_qasm_simulator") as session:
|
||
estimator = Estimator(session=session)
|
||
|
||
theta1 = [0, 1, 1, 2, 3, 5]
|
||
|
||
# calculate [ <psi1(theta1)|H1|psi1(theta1)> ]
|
||
psi1_H1 = estimator.run(circuits=[psi1], observables=[H1], parameter_values=[theta1])
|
||
print(psi1_H1.result())
|
||
|
||
# calculate [ <psi1(theta1)|H2|psi1(theta1)>, <psi1(theta1)|H3|psi1(theta1)> ]
|
||
psi1_H23 = estimator.run(
|
||
circuits=[psi1, psi1],
|
||
observables=[H2, H3],
|
||
parameter_values=[theta1]*2
|
||
)
|
||
print(psi1_H23.result())
|
||
```
|
||
|
||
Initializes the Estimator primitive.
|
||
|
||
**Parameters**
|
||
|
||
* **backend** (`Union`\[`str`, [`IBMBackend`](qiskit_ibm_runtime.IBMBackend "qiskit_ibm_runtime.ibm_backend.IBMBackend"), `None`]) – Backend to run the primitive. This can be a backend name or an [`IBMBackend`](qiskit_ibm_runtime.IBMBackend "qiskit_ibm_runtime.IBMBackend") instance. If a name is specified, the default account (e.g. `QiskitRuntimeService()`) is used.
|
||
|
||
* **session** (`Optional`\[[`Session`](qiskit_ibm_runtime.Session "qiskit_ibm_runtime.session.Session")]) –
|
||
|
||
Session in which to call the primitive.
|
||
|
||
If both `session` and `backend` are specified, `session` takes precedence. If neither is specified, and the primitive is created inside a [`qiskit_ibm_runtime.Session`](qiskit_ibm_runtime.Session "qiskit_ibm_runtime.Session") context manager, then the session is used. Otherwise if IBM Cloud channel is used, a default backend is selected.
|
||
|
||
* **options** (`Union`\[`Dict`, [`Options`](qiskit_ibm_runtime.options.Options "qiskit_ibm_runtime.options.options.Options"), `None`]) – Primitive options, see `Options` for detailed description. The `backend` keyword is still supported but is deprecated.
|
||
|
||
## Attributes
|
||
|
||
### options
|
||
|
||
<Attribute id="qiskit_ibm_runtime.EstimatorV1.options">
|
||
Return options values for the sampler. :rtype: [`Options`](/api/qiskit/qiskit.providers.Options "(in Qiskit v1.1)") :returns: options
|
||
</Attribute>
|
||
|
||
### session
|
||
|
||
<Attribute id="qiskit_ibm_runtime.EstimatorV1.session">
|
||
Return session used by this primitive.
|
||
|
||
**Return type**
|
||
|
||
`Optional`\[[`Session`](qiskit_ibm_runtime.Session "qiskit_ibm_runtime.session.Session")]
|
||
|
||
**Returns**
|
||
|
||
Session used by this primitive, or `None` if session is not used.
|
||
</Attribute>
|
||
|
||
### version
|
||
|
||
<Attribute id="qiskit_ibm_runtime.EstimatorV1.version" attributeValue="1" />
|
||
|
||
## Methods
|
||
|
||
### run
|
||
|
||
<Function id="qiskit_ibm_runtime.EstimatorV1.run" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.27/qiskit_ibm_runtime/estimator.py#L320-L353" signature="run(circuits, observables, parameter_values=None, **kwargs)">
|
||
Submit a request to the estimator primitive.
|
||
|
||
**Parameters**
|
||
|
||
* **circuits** (*QuantumCircuit | Sequence\[QuantumCircuit]*) – a (parameterized) [`QuantumCircuit`](/api/qiskit/qiskit.circuit.QuantumCircuit "(in Qiskit v1.1)") or a list of (parameterized) [`QuantumCircuit`](/api/qiskit/qiskit.circuit.QuantumCircuit "(in Qiskit v1.1)").
|
||
* **observables** (*Sequence\[BaseOperator | str] | BaseOperator | str*) – Observable objects.
|
||
* **parameter\_values** (*Sequence\[float] | Sequence\[Sequence\[float]] | None*) – Concrete parameters to be bound.
|
||
* **\*\*kwargs** – Individual options to overwrite the default primitive options.
|
||
|
||
**Return type**
|
||
|
||
[RuntimeJob](qiskit_ibm_runtime.RuntimeJob "qiskit_ibm_runtime.RuntimeJob")
|
||
|
||
**Returns**
|
||
|
||
Submitted job. The result of the job is an instance of [`qiskit.primitives.EstimatorResult`](/api/qiskit/qiskit.primitives.EstimatorResult "(in Qiskit v1.1)").
|
||
|
||
**Raises**
|
||
|
||
**ValueError** – Invalid arguments are given.
|
||
</Function>
|
||
|
||
### set\_options
|
||
|
||
<Function id="qiskit_ibm_runtime.EstimatorV1.set_options" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.27/qiskit_ibm_runtime/base_primitive.py#L465-L473" signature="set_options(**fields)">
|
||
Set options values for the sampler.
|
||
|
||
**Parameters**
|
||
|
||
**\*\*fields** – The fields to update the options
|
||
|
||
**Return type**
|
||
|
||
`None`
|
||
</Function>
|
||
</Class>
|
||
|