A unique identifier representing an automation run for the
specified processor. An Automation Run contains a collection of
device configurations for a processor.
snapshot_id
A unique identifier for an immutable snapshot reference.
device_config_name
An identifier used to select the processor configuration
utilized to run the job. A configuration identifies the set of
available qubits, couplers, and supported gates in the processor.
max_concurrent_jobs
The maximum number of jobs to be sent
concurrently to the Engine. This client-side throttle can be
used to proactively reduce load to the backends and avoid quota
violations when pipelining circuit executions.
jobs_per_batch
If set to greater than 1, this will batch multiple
circuits within the same API call when calling run_batch() or
run_batch_async() up to a maximum of jobs_per_batch.
Note that actual hardware execution order is not guaranteed
if jobs_per_batch > 1. (For instance, the hardware may run
all circuits for the first sweep point, then the second point, etc).
Raises
ValueError
If only one of run_name and device_config_name are specified.
This mode of operation for a sampler will provide results
in the form of measurement outcomes. It will not provide
access to state vectors (even if the underlying
sampling mechanism is a simulator). This method will substitute
parameters in the param_resolver attributes for sympy.Symbols
used within the Circuit. This circuit will be executed a number
of times specified in the repetitions attribute, though some
simulated implementations may instead sample from the final
distribution rather than execute the circuit each time.
Args
program
The circuit to sample from.
param_resolver
Parameters to run with the program.
repetitions
The number of times to sample.
Returns
cirq.Result that contains all the measurements for a run.
Provides measurement outcomes as a cirq.Result object. This
interface will operate in a similar way to the run method
except for executing asynchronously.
Each circuit provided in programs will pair with the optional
associated parameter sweep provided in the params_list, and be run
with the associated repetitions provided in repetitions (if
repetitions is an integer, then all runs will have that number of
repetitions). If params_list is specified, then the number of
circuits is required to match the number of sweeps. Similarly, when
repetitions is a list, the number of circuits is required to match
the length of this list.
By default, this method simply invokes run_sweep sequentially for
each (circuit, parameter sweep, repetitions) tuple. Child classes that
are capable of sampling batches more efficiently should override it to
use other strategies. Note that child classes may have certain
requirements that must be met in order for a speedup to be possible,
such as a constant number of repetitions being used for all circuits.
Refer to the documentation of the child class for any such requirements.
Args
programs
The circuits to execute as a batch.
params_list
Parameter sweeps to use with the circuits. The number
of sweeps should match the number of circuits and will be
paired in order with the circuits.
repetitions
Number of circuit repetitions to run. Can be specified
as a single value to use for all runs, or as a list of values,
one for each circuit.
Returns
A list of lists of TrialResults. The outer list corresponds to
the circuits, while each inner list contains the TrialResults
for the corresponding circuit, in the order imposed by the
associated parameter sweep.
Raises
ValueError
If length of programs is not equal to the length
of params_list or the length of repetitions.
By default, this method invokes run_sweep synchronously and simply
exposes its result is an awaitable. Child classes that are capable of
true asynchronous sampling should override it to use other strategies.
Args
program
The circuit to sample from.
params
Parameters to run with the program.
repetitions
The number of times to sample.
Returns
Result list for this run; one for each possible parameter resolver.
Samples the given Circuit, producing a pandas data frame.
This interface will operate in a similar way to the run method
except that it returns a pandas data frame rather than a cirq.Result
object.
Args
program
The circuit to sample from.
repetitions
The number of times to sample the program, for each
parameter mapping.
params
Maps symbols to one or more values. This argument can be
a dictionary, a list of dictionaries, a cirq.Sweep, a list of
cirq.Sweep, etc. The program will be sampled repetition
times for each mapping. Defaults to a single empty mapping.
Returns
A pandas.DataFrame with a row for each sample, and a column for
each measurement key as well as a column for each symbolic
parameter. Measurement results are stored as a big endian integer
representation with one bit for each measured qubit in the key.
See cirq.big_endian_int_to_bits and similar functions for how
to convert this integer into bits.
There is an also index column containing the repetition number,
for each parameter assignment.
Calculates estimated expectation values from samples of a circuit.
Please see also cirq.work.observable_measurement.measure_observables
for more control over how to measure a suite of observables.
This method can be run on any device or simulator that supports circuit sampling. Compare
with simulate_expectation_values in simulator.py, which is limited to simulators
but provides exact results.
Args
program
The circuit which prepares a state from which we sample expectation values.
observables
A list of observables for which to calculate expectation values.
num_samples
The number of samples to take. Increasing this value increases the
statistical accuracy of the estimate.
params
Parameters to run with the program.
permit_terminal_measurements
If the provided circuit ends in a measurement, this
method will generate an error unless this is set to True. This is meant to
prevent measurements from ruining expectation value calculations.
Returns
A list of expectation-value lists. The outer index determines the sweep, and the inner
index determines the observable. For instance, results[1][3] would select the fourth
observable measured in the second sweep.
Raises
ValueError
If the number of samples was not positive, if empty observables were
supplied, or if the provided circuit has terminal measurements and
permit_terminal_measurements is true.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-10-08 UTC."],[],[]]