BackendSampler

class qiskit.primitives.BackendSampler(backend, options=None, bound_pass_manager=None, skip_transpilation=False)[source]

Bases: BaseSampler[PrimitiveJob[SamplerResult]]

A BaseSampler implementation that provides an interface for leveraging the sampler interface from any backend.

This class provides a sampler interface from any backend and doesn’t do any measurement mitigation, it just computes the probability distribution from the counts. It facilitates using backends that do not provide a native BaseSampler implementation in places that work with BaseSampler, such as algorithms in qiskit.algorithms including SamplingVQE. However, if you’re using a provider that has a native implementation of BaseSampler, 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 BackendSampler

Parameters:
  • backend (BackendV1 | BackendV2) – Required: the backend to run the sampler primitive on

  • options (dict | None) – Default options.

  • bound_pass_manager (PassManager | None) – An optional pass manager to run after parameter binding.

  • skip_transpilation (bool) – 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 objected is called.

Raises:

ValueError – If backend is not provided

Attributes

backend

Returns: The backend which this sampler object based on

circuits

Quantum circuits to be sampled.

Returns:

The quantum circuits to be sampled.

options

Return options values for the estimator.

Returns:

options

parameters

Parameters of quantum circuits.

Returns:

List of the parameters in each quantum circuit.

preprocessed_circuits

Preprocessed quantum circuits produced by preprocessing :returns: List of the transpiled quantum circuit

Raises:

QiskitError – if the instance has been closed.

transpile_options

Return the transpiler options for transpiling the circuits.

transpiled_circuits

Transpiled quantum circuits. :returns: List of the transpiled quantum circuit

Raises:

QiskitError – if the instance has been closed.

Methods

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

Run the job of the sampling of bitstrings.

Parameters:
  • circuits (QuantumCircuit | Sequence[QuantumCircuit]) – One of more circuit objects.

  • parameter_values (Sequence[float] | Sequence[Sequence[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 – Invalid arguments are given.

Return type:

T

set_options(**fields)

Set options values for the estimator.

Parameters:

**fields – The fields to update the options

set_transpile_options(**fields)[source]

Set the transpiler options for transpiler. :param **fields: The fields to update the options.

Returns:

self.

Raises:

QiskitError – if the instance has been closed.