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.