Sampler
Sampler(backend=None, session=None, options=None)
Class for interacting with Qiskit Runtime Sampler primitive service.
Qiskit Runtime Sampler primitive service calculates quasi-probability distribution of bitstrings from quantum circuits.
The run()
method can be used to submit circuits and parameters to the Sampler primitive.
You are encouraged to use Session
to open a session, during which you can invoke one or more primitives. Jobs submitted within a session are prioritized by the scheduler, and data is cached for efficiency.
Example:
from qiskit.test.reference_circuits import ReferenceCircuits
from qiskit_ibm_runtime import QiskitRuntimeService, Session, Sampler
service = QiskitRuntimeService(channel="ibm_cloud")
bell = ReferenceCircuits.bell()
with Session(service, backend="ibmq_qasm_simulator") as session:
sampler = Sampler(session=session)
job = sampler.run(bell, shots=1024)
print(f"Job ID: {job.job_id()}")
print(f"Job result: {job.result()}")
# You can run more jobs inside the session
Initializes the Sampler primitive.
Parameters
-
backend (
Union
[str
,IBMBackend
,None
]) – Backend to run the primitive. This can be a backend name or anIBMBackend
instance. If a name is specified, the default account (e.g.QiskitRuntimeService()
) is used. -
session (
Union
[Session
,str
,IBMBackend
,None
]) –Session in which to call the primitive.
If both
session
andbackend
are specified,session
takes precedence. If neither is specified, and the primitive is created inside aqiskit_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
,None
]) – Primitive options, seeOptions
for detailed description. Thebackend
keyword is still supported but is deprecated.
Attributes
circuits
Quantum circuits to be sampled.
Return type
tuple
[QuantumCircuit
, ...
]
Returns
The quantum circuits to be sampled.
options
Return options values for the sampler.
Return type
Options
Returns
options
parameters
Parameters of quantum circuits.
Return type
tuple
[ParameterView
, ...
]
Returns
List of the parameters in each quantum circuit.
session
Return session used by this primitive.
Return type
Optional
[Session
]
Returns
Session used by this primitive, or None
if session is not used.
Methods
run
run(circuits, parameter_values=None, **kwargs)
Submit a request to the sampler primitive.
Parameters
- circuits (QuantumCircuit | Sequence[QuantumCircuit]) – A (parameterized)
QuantumCircuit
or a list of (parameterized)QuantumCircuit
. - parameter_values (Sequence[float] | Sequence[Sequence[float]] | None) – Concrete parameters to be bound.
- **kwargs – Individual options to overwrite the default primitive options. These include the runtime options in
qiskit_ibm_runtime.RuntimeOptions
.
Return type
Returns
Submitted job. The result of the job is an instance of qiskit.primitives.SamplerResult
.
Raises
ValueError – Invalid arguments are given.
set_options
set_options(**fields)
Set options values for the sampler.
Parameters
**fields – The fields to update the options
Return type
None