---
title: BaseSamplerV1 (v2.0)
description: API reference for qiskit.primitives.BaseSamplerV1 in qiskit v2.0
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/2.0/qiskit.primitives.BaseSamplerV1
---

# BaseSamplerV1

*class* `qiskit.primitives.BaseSamplerV1(*, options=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.0/qiskit/primitives/base/base_sampler.py#L77-L196)

Bases: `BasePrimitiveV1`, [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic)\[`T`]

Sampler V1 base class

Base class of Sampler that calculates quasi-probabilities of bitstrings from quantum circuits.

A sampler is initialized with an empty parameter set. The sampler is used to create a [`JobV1`](/docs/api/qiskit/2.0/qiskit.providers.JobV1 "qiskit.providers.JobV1"), via the `qiskit.primitives.Sampler.run()` method. This method is called with the following parameters

- quantum circuits ($\psi_i(\theta)$): list of (parameterized) quantum circuits. (a list of [`QuantumCircuit`](/docs/api/qiskit/2.0/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") objects)
- parameter values ($\theta_k$): list of sets of parameter values to be bound to the parameters of the quantum circuits. (list of list of float)

The method returns a [`JobV1`](/docs/api/qiskit/2.0/qiskit.providers.JobV1 "qiskit.providers.JobV1") object, calling [`qiskit.providers.JobV1.result()`](/docs/api/qiskit/2.0/qiskit.providers.JobV1#result "qiskit.providers.JobV1.result") yields a [`SamplerResult`](/docs/api/qiskit/2.0/qiskit.primitives.SamplerResult "qiskit.primitives.SamplerResult") object, which contains probabilities or quasi-probabilities of bitstrings, plus optional metadata like error bars in the samples.

Here is an example of how sampler is used.

```python
# This is a fictional import path.
# There are currently no Sampler implementations in Qiskit.
from sampler_v1_location import SamplerV1
from qiskit import QuantumCircuit
from qiskit.circuit.library import RealAmplitudes

# a Bell circuit
bell = QuantumCircuit(2)
bell.h(0)
bell.cx(0, 1)
bell.measure_all()

# two parameterized circuits
pqc = RealAmplitudes(num_qubits=2, reps=2)
pqc.measure_all()
pqc2 = RealAmplitudes(num_qubits=2, reps=3)
pqc2.measure_all()

theta1 = [0, 1, 1, 2, 3, 5]
theta2 = [0, 1, 2, 3, 4, 5, 6, 7]

# initialization of the sampler
sampler = Sampler()

# Sampler runs a job on the Bell circuit
job = sampler.run(circuits=[bell], parameter_values=[[]], parameters=[[]])
job_result = job.result()
print([q.binary_probabilities() for q in job_result.quasi_dists])

# Sampler runs a job on the parameterized circuits
job2 = sampler.run(
    circuits=[pqc, pqc2],
    parameter_values=[theta1, theta2],
    parameters=[pqc.parameters, pqc2.parameters])
job_result = job2.result()
print([q.binary_probabilities() for q in job_result.quasi_dists])
```

Initialize `SamplerV1`.

**Parameters**

**options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict) *| None*) – Default options.

## Attributes

### options

Return options values for the estimator.

**Returns**

options

## Methods

### run

`run(circuits, parameter_values=None, **run_options)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.0/qiskit/primitives/base/base_sampler.py#L156-L187)

Run the job of the sampling of bitstrings.

**Parameters**

- **circuits** ([*QuantumCircuit*](/docs/api/qiskit/2.0/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *| Sequence\[*[*QuantumCircuit*](/docs/api/qiskit/2.0/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]*) – One of more circuit objects.
- **parameter\_values** (*Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float)*] | Sequence\[Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float)*]] | None*) – Parameters to be bound to the circuit.
- **run\_options** – Backend runtime options used for circuit execution.

**Returns**

The job object of the result of the sampler. The i-th result corresponds to `circuits[i]` evaluated with parameters bound as `parameter_values[i]`.

**Raises**

[**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError) – Invalid arguments are given.

**Return type**

T

### set\_options

`set_options(**fields)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.0/qiskit/primitives/base/base_primitive_v1.py#L39-L45)

Set options values for the estimator.

**Parameters**

**\*\*fields** – The fields to update the options
