QMEstimatorJob

class QMEstimatorJob(backend: QMBackend, pubs: List[EstimatorPub], input_type: InputType | None, switch_obs_circuit: QuantumCircuit, **kwargs)[source][source]

Bases: QMPrimitiveJob

Job handle for QMEstimatorV2 execution.

Builds a QUA estimator program from pubs and returns expectation values via result(). See programs for the compiled QUA source and result_handles for raw QM stream access after submit.

Create an estimator job.

Parameters:
  • backend – Backend that compiled the circuits.

  • pubs – Coerced estimator pubs to execute.

  • input_type – How circuit parameters are streamed to the OPX.

  • switch_obs_circuit – Pre-transpiled circuit used to rotate observables.

  • **kwargs – Estimator options forwarded to execution planning.

result() ResultT[source][source]

Build and return primitive estimator results from QM streaming data.

Returns:

PrimitiveResult with per-pub expectation values and standard errors.

property runtime_pubs: List[_ExecutionPlan]

Compiled execution plans for this estimator job.

One _ExecutionPlan per input PUB. Each plan holds the grouped observable metadata, parameter table, and obs-index tables that drive the QUA switch statement and parameter streaming. Inspect to understand how observables were grouped or what will be streamed cycle-by-cycle.

submit()[source][source]

Submit the job to the backend.

Programs are submitted via submit_qua_programs() (qm.execute for simulation; OPX1000 add_to_queue / OPX+ queue.add for real hardware). Each chunk is waited on until running, then plan data is streamed. IQCC sync-hook submission is handled by IQCCEstimatorJob.