Self-Assessment Quiz: Qiskit Architecture

Twenty questions on where things live, which question you are asking, and the trap that returns a confident wrong number. Aim for 16 or more.


Question 1

Qiskit Terra: - A. is a separate package you must install - B. became qiskit itself - C. was replaced by Aer - D. handles simulation

Question 2

Qiskit Aqua's functionality now lives in: - A. qiskit.aqua - B. qiskit-aer - C. domain packages such as qiskit-nature, qiskit-optimization, qiskit-algorithms - D. it was abandoned entirely

Question 3

A QuantumCircuit's .data is a list of: - A. gate name strings - B. CircuitInstruction objects — operation plus the bits it acts on - C. matrices - D. QASM lines

Question 4

The transpiler operates on: - A. the instruction list directly - B. a DAG — a directed acyclic graph of operations and the bits flowing between them - C. the QASM text - D. the statevector

Question 5

A Bell circuit has 4 operations and depth 3 because: - A. one operation was optimized away - B. the two measurements are in the same layer — neither depends on the other - C. depth always equals operations minus one - D. the measurements do not count

Question 6

The Aer stabilizer method scales to: - A. about 15 qubits - B. about 30 qubits - C. thousands of qubits, for Clifford circuits - D. the same as statevector

Question 7

That is possible because: - A. stabilizer simulation is approximate - B. Clifford circuits are efficiently simulable classically (Gottesman–Knill) - C. it uses a GPU - D. it ignores entanglement

Question 8

Which implies which about quantum advantage? - A. Clifford circuits alone can achieve quantum advantage - B. Clifford circuits alone cannot — anything simulable that easily can just be simulated - C. stabilizer simulation proves quantum computers are useless - D. nothing follows

Question 9

The Sampler primitive requires circuits that: - A. contain measurements - B. contain no measurements - C. contain exactly one qubit - D. are already transpiled to QASM

Question 10

The Estimator primitive requires circuits that: - A. contain measurements - B. contain no measurements — it adds the basis rotations itself - C. have been run once already - D. use only Clifford gates

Question 11

For an $n$-qubit circuit, Estimator shots for fixed precision scale as: - A. $2^n$ - B. $n^2$ - C. $O(1/\epsilon^2)$, independent of $n$ - D. $n!$

Question 12

If your algorithm's answer is an energy or a cost function value, you should use: - A. the Sampler - B. the Estimator - C. either; they cost the same - D. AerSimulator.run() directly

Question 13

The Estimator takes a precision rather than a shot count. The stds it returns is: - A. the systematic error - B. the statistical standard error, matching the requested precision - C. the total error including noise - D. always zero

Question 14

Requesting precision=1e-4 on noisy hardware guarantees: - A. an answer accurate to $10^{-4}$ - B. only a statistical uncertainty of $10^{-4}$ — systematic error is unaffected - C. that noise has been removed - D. an error if the device cannot achieve it

Question 15

After transpiling, an observable must be adjusted with: - A. observable.transpile(backend) - B. observable.apply_layout(isa.layout) - C. nothing; it is automatic - D. observable.to_physical()

Question 16

Omitting that step, when the observable's width does not match the device: - A. raises a clean ValueError about qubit counts - B. silently returns a wrong number - C. returns zero - D. transpiles the observable for you

Question 17

Omitting it when the width does match but the placement is wrong: - A. raises an error - B. silently returns a plausible, stable, wrong number - C. returns NaN - D. is impossible

Question 18

The defense against that failure is: - A. more shots - B. compare against a noiseless reference computed on the untranspiled circuit - C. use a bigger device - D. increase the precision

Question 19

"Transpile once, bind many" is faster because: - A. binding is done on the GPU - B. a circuit's structure does not change when a parameter value does, and transpilation depends only on structure - C. transpilation is cached automatically - D. it uses fewer shots

Question 20

A Runtime Session is primarily useful for: - A. reducing shot cost - B. keeping your queue position across the iterations of a classical loop - C. improving fidelity - D. running on multiple devices at once


Answers

# Answer Why
1 B Terra is qiskit. §7.1
2 C Split into the domain packages. §7.1
3 B Operation plus qubits plus clbits; bits are objects. §7.2
4 B Which is why it can reorder commuting operations. §7.2
5 B Depth is the longest path through the graph. §7.2
6 C Verified: a 1000-qubit GHZ in ~4 seconds. §7.3
7 B And it is exact, not approximate. §7.3
8 B T gates are what break classical simulation — hence T-count as the fault-tolerant currency. §7.3
9 A No measurements → "No counts for experiment". §7.5
10 B Different Pauli terms need different bases. §7.5
11 C Against exponential cost for a full distribution. §7.6
12 B If the answer is a number, use the Estimator. §7.6
13 B It matches the request exactly. §7.6
14 B Chapter 5 §5.9 step 5, wearing a new hat. §7.6 pitfall
15 B Every time, immediately after transpilation. §7.6
16 A The friendly case, because it is loud. §7.6
17 B Measured: 1.8135 correct vs 0.8838 wrong. §7.6
18 B Costs nothing on small circuits; turns silence into noise. §7.6, §7.7
19 B Measured 7× at 20 iterations, 31× at 100. §7.7
20 B Without it, a 200-iteration VQE queues 200 times. §7.8

Topic Map

Questions Topic Section If you missed these
1, 2 The package history §7.1 Reference. Useful mainly for dating old tutorials
3, 4, 5 The circuit model and the DAG §7.2 Do Exercise 7.7; depth-as-longest-path is worth internalizing
6, 7, 8 Aer methods §7.3 Run Exercise 7.8 — the 1000-qubit stabilizer run is the memorable part
9–12 Sampler vs Estimator §7.5, §7.6 The most consequential choice in the chapter. Do Exercise 7.9
13, 14 Precision and its limits §7.6 Exercise 7.15 makes the systematic-error point concrete
15–18 The layout trap §7.6 Do Exercise 7.11. This one silently corrupts published numbers
19 Transpile once, bind many §7.7 Exercise 7.12; it decides whether your VQE finishes
20 Sessions §7.8 Operational; matters the first time you run a real loop

Score 16+: go to Chapter 8.

Score 12–15: the two clusters that matter are 9–12 (which primitive) and 15–18 (the layout trap). If you lost points in either, run code/example-02-primitives.py and watch the 1.8135 become 0.8838.

Score under 12: the package history (1–2) and Aer methods (6–8) are reference you can look up. Before Chapter 8, be sure of one thing: if the answer is a number, use the Estimator, and lay out the observable.