BackendSampler
class qiskit.primitives.BackendSampler(backend, options=None, bound_pass_manager=None, skip_transpilation=False)
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
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
set_options(**fields)
Set options values for the estimator.
Parameters
**fields – The fields to update the options
set_transpile_options
set_transpile_options(**fields)
Set the transpiler options for transpiler. :param **fields: The fields to update the options.
Returns
self.
Raises
QiskitError – if the instance has been closed.