Run a set of quantum programs, or one over a grid
run_quantum_setRun several OpenQASM programs as one set (programs: each a program's text or a job), or one program over a grid of its inputs (qasm with sweep, as {"theta": [0.1, 0.2], "n": [2, 3]}: every combination; integer inputs written out, float and angle inputs bound to the double given). The set's other fields (shots, observables, seed, intent, …) apply to every item. Each item gets its own result and receipt, each stating its verdict, and one receipt over the set binds every item through a Merkle root; verify_quantum_receipt checks it whole. At most 100 items, run one after another in one job. Waits up to 50 s; a longer set answers with status running and an id for get_quantum_job.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| qasm | No | With sweep: the program, which declares the inputs the sweep gives values (`input uint n;`, `input float theta;`, `input angle phi;`). | |
| seed | No | Sampling seed (default 1); the same job and seed give the same counts. | |
| noise | No | Optional noise, each a probability: depolarizing_1q, depolarizing_2q, amplitude_damping, dephasing (after each gate on its qubits), readout (each measured bit). | |
| shots | No | Measurement shots. Default 1024 when no observables or amplitudes are asked for. | |
| sweep | No | Each input of qasm and its values: every combination runs, the names in sorted order, the first varying slowest; an integer input's values are whole numbers. | |
| intent | No | What the program must do, checked by the engine with the run: the result's `verdict` states how far it checked (proof, evidence, executed, parsed, refused) and whether the intent holds, sealed by the receipt. | |
| method | No | Leave as auto unless you need a particular method. | |
| repair | No | Repair the program first, on the lines its diagnostics flag alone (as repair_qasm does): true, or the choices {"max_iterations": N, "dyadic_bits": K, "sizes": {"q": 3}}. The result's `repaired` holds the program that ran and each repair. | |
| target | No | A device target: a built-in target's name (list_targets) or a target document (wai.quantum.target/1). The program is then compiled to its gates, placed where it is most likely to succeed and simulated under its noise, its hash in the receipt; not with noise or amplitudes. The service reads the document given and fetches nothing. | |
| compile | No | Compile the program first (as compile_qasm does) and run the compiled circuit: with basis clifford_t it runs bit-exact, and the result's `compiled` states its distance from the program. | |
| options | No | Advanced, per method: max_bond (mps), threshold and max_terms (pauli), fusion (statevector), trajectories. | |
| mitigate | No | Mitigate the job's expectation values (or, for readout, its counts) under its own noise: zne (the whole program folded U(U†U)^k and extrapolated), pea (the noise learned as a sparse Pauli–Lindblad model and amplified), pec (the learned channels inverted and sampled), cdr (a line fitted over near-Clifford training circuits), vd (two copies), readout (the counts' flips inverted). Needs noise and observables (shots for readout), at most 8 qubits. The result's `mitigation` gives raw and mitigated values with standard errors, the ideal value (known because this is a simulation), the method's bias and variance assumptions and its cost. A method's name, or an object. | |
| programs | No | The set's programs: each a program's text, or a job ({"qasm", …}) whose own fields win over the set's. | |
| amplitudes | No | Basis states to give amplitudes of: one character per qubit, qubit n-1 first, e.g. "0011". | |
| observables | No | Pauli strings to take expectation values of, e.g. ["Z0", "Z0 Z1", "X2 Y3"]. Qubits count from 0. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||