Prerequisites: Notation, Signals & the Algebra of the Delay Operator
What MIDA2 reads, writes and computes with from its first slide and never stops to teach — summation, set and quantifier notation and the conditioning bar; the plant, its sampling interval and the linear combinations that define it; polynomial long division in the delay operator; white noise, stochastic processes and AR(1); least squares, the prediction error and argmin; and white-box modelling. Twelve of the seventeen are MIDA1's, and the other five are taught by nobody.
01 · Motivation
What MIDA2 assumes on day one
A MIDA2 paper is five questions — three numerical exercises and two theory questions, some of them in MATLAB. None of the five can be started without the material on this page, and no lecture stops to teach it. Module 2 opens where Module 1 closed and simply carries on: of the seventeen prerequisites the audit found, twelve are taught by MIDA1 and the remaining five are pure notation that no course in the curriculum lists at all.
This chapter carries no exam weight of its own, and correctly shows no weight meter — no past paper asks you to “take a gradient” for marks. Every past paper depends on your being able to.
Every row below is evidence, not a generic syllabus: each prerequisite is here because a later chapter spends it, and the audit cites the line where that first happens.
| you need to be able to… | first spent in | graded by |
|---|---|---|
| read over an indexed set — the convolution sum | ch.01 system-representations | State space to TF and impulse response |
| use , , a modulus and the conditioning bar | ch.01 system-representations | Observability and reachability |
| state a property and chase a chain | ch.01 system-representations | Controllable canonical form |
| recognise a dynamical system — memory, state, order | ch.01 system-representations | Realization non-uniqueness |
| form a linear combination of past inputs and outputs | ch.01 system-representations | Controllable canonical form |
| divide one polynomial in by another | ch.01 system-representations | State space to TF and impulse response |
| solve an over-determined system in the least-squares sense | ch.02 subspace-identification | 4SID; Hankel rank and system order |
| turn a sampling frequency into a sampling time | ch.02 subspace-identification | MATLAB for identification |
| minimise an objective — | ch.03 frequency-domain-identification | Frequency-domain experiment design |
| take a gradient and set it to zero | ch.03 frequency-domain-identification | Sinusoid amplitude and phase estimation |
| run the parametric-identification recipe end to end | ch.03 frequency-domain-identification | Frequency-domain experiment design |
| design an excitation experiment | ch.03 frequency-domain-identification | Frequency-domain experiment design |
| characterise white noise — zero mean, variance , uncorrelated | ch.04 kalman-filter | Coloured noise and model extension |
| compute the variance of an AR(1) process | ch.04 kalman-filter | Coloured noise and model extension |
| define a prediction error and its variance | ch.04 kalman-filter | Output prediction error variance |
| build a white-box model from a physical law | ch.07 graybox-identification | Gray-box identification |
| treat a signal as a stochastic process, not a data record | ch.08 minimum-variance-control | MVC derivation |
How to read this chapter
Skim the ledger. Anything you can already do, skip — each section stands alone. Anything you cannot, read in full and do its exercise; the chapter that spends it will not slow down for you. If you have just finished MIDA1, sections 02 and 04 are the ones that will still be new.
The running example: an e-scooter speed loop
One object runs through every section, chosen because it is the kind of plant MIDA2 exists to identify and control. A small electric scooter is commanded by a normalised throttle and its speed , in km/h, is read from a wheel encoder every s. The vehicle has inertia — it forgets a throttle change only gradually — so the simplest honest model is first order:
The term is the memory that makes it dynamic; the term is the one-step delay between commanding throttle and seeing speed.
Two numbers fall straight out and will be reused all chapter. The steady-state gain is km/h at full throttle, and the time constant is s. By the end you will have written this plant as a transfer function and divided it out into an impulse response, given its disturbance a stochastic description, estimated the two coefficients and from data by least squares, and derived the whole model from Newton’s second law.
The prerequisite errors that cost the most marks
- Treating as a number. It is the delay operator, — not “one over ” to be cancelled at will. Mishandle it and every transfer function in chapter 01, every predictor in chapter 08 and the whole of the division identity comes out wrong.
- Confusing sampling frequency with sampling time. At 50 Hz the sampling time is s, not . Chapter 02 flags this as a MATLAB exam trap in its own right, and it silently corrupts every identified model rather than throwing an error.
- Reading as a product or a probability. The bar means given the data up to time — it names the information you are allowed to use. Chapters 04 through 08 are almost entirely about what changes when that information set changes.
02 · Notation
The notation you read in
Four pieces of notation appear on nearly every MIDA2 slide and none is ever defined: the summation, the set-and-modulus, the quantifier, and the conditioning bar. They are not decoration. A stability theorem is one short sentence in this language and a confusing paragraph without it, and the audit found all four used across four or more chapters while no course in the curriculum lists them as concepts.
- Summation
adds one term per index value. The index and its range are part of the meaning — an infinite upper limit is a claim that the sum converges, which for an impulse response is exactly the claim that the system is stable.
- Set membership and modulus
says is a complex number; is its modulus, the distance from the origin. In discrete time the unit circle is the stability boundary, so a modulus is a stability verdict.
- Quantifiers and implication
(“for every”), (“there exists”), (“implies”). Derivations in chapter 01 are chains of implications; the definitions of observability and reachability are single sentences built from and , and swapping the two changes the meaning.
- The conditioning bar
— “the estimate of at time , given everything measured up to time ”. The bar is not division. It names the information set, and MIDA2 is largely the study of what happens as that set changes.
Summation: the convolution sum
The first place chapter 01 uses a summation is the third representation of a linear system. If you know how the plant responds to a single unit kick — its impulse response — then its response to any input at all is a weighted sum of delayed kicks:
Read the index as “how far back”: is how much the input from steps ago still matters now.
The scooter's convolution sum
Kick the scooter with one step of throttle and its impulse response turns out to be — each term times the last. Section 04 derives those numbers by division. The convolution sum then says the speed now is times the throttle half a second ago, plus times the throttle a second ago, plus times the throttle before that, and so on: the plant remembers, with a memory that fades geometrically.
Modulus and quantifier: the stability test
Chapter 01 states asymptotic stability as a condition on the eigenvalues of the state matrix . In continuous time the test is on the sign of the real part; in discrete time — MIDA2’s world throughout — it is on the modulus:
The is load-bearing: one eigenvalue outside the unit circle is enough to destabilise the system, no matter how well-behaved the rest are.
So an eigenvalue of is stable — it oscillates while decaying — and an eigenvalue of is not. The scooter’s single pole is , comfortably inside.
Sign versus modulus
Carrying the continuous-time reflex “negative real part means stable” into discrete time marks as stable for the wrong reason and as unstable outright. In discrete time nothing depends on the sign — only on the distance from the origin.
The conditioning bar
Chapter 04 opens by separating three problems that look almost identical and are not. The only thing distinguishing them is what stands on each side of the bar:
| problem | wanted | why it differs |
|---|---|---|
| -step output prediction | not new — MIDA1 already solves this with ARMA models | |
| -step state prediction | new — the state is never measured at all | |
| state filtering | the software sensor: estimate now, using now’s reading |
The gap between the last two is a single sample of data, and that one sample is the entire difference between a predictor and a filter — a distinction chapter 04 grades directly.
Where this is graded
The audit ties this notation to Observability and reachability and Controllable canonical form in
chapter 01, and to Predictor vs filter in chapter 04. Papers do not award marks for defining the
bar; they award marks for answers that use the right information set, and lose them for answers that
quietly use a measurement they were not given.
A discrete-time system has eigenvalues 0.95, −0.99 and 1.01. Is it asymptotically stable?
03 · Core idea
The plant, its clock and its linear combinations
Before any identification can happen you need to be fluent with the object being identified: a dynamical system, sampled on a clock, whose next output is a linear combination of what came before. All three ideas are used in chapter 01 and chapter 02 without introduction, and MIDA1 is where they were taught.
- Dynamical system
A system with memory: the output now depends not only on the input now but on the past. The minimum number of numbers you must carry to summarise that past is the state, and how many of them there are is the order.
- Sampling time
, the interval between two consecutive measurements, in seconds. Its reciprocal is the sampling frequency in Hz. Discrete time counts samples, so wall-clock time is .
- Linear combination
— scale each term and add. A difference equation is a linear combination of past outputs and past inputs, and the coefficients are exactly what identification estimates.
Memory is what makes it dynamic
A static system computes from and nothing else. The scooter cannot: open the throttle and the speed rises over a couple of seconds rather than jumping. That lag is memory, and the whole of MIDA2 exists because of it. Writing that memory down as a linear combination gives the general -th order difference equation:
Chapter 01 reads exactly these coefficients off into the controllable canonical form; the count is the order.
The scooter is the case with and . Nothing about identification is conceptually different at — there are simply more coefficients to estimate.
The clock
Every discrete model is a model of a sampling interval. Change and the coefficients change with it, because is really in disguise — a fact section 07 derives and chapter 08 leans on heavily. Two consequences are worth internalising now:
- Halving does not halve . It moves the pole towards , since as . Sample the scooter at 50 Hz instead of 2 Hz and its pole moves from to about .
- Sampling too slowly loses the dynamics entirely. The Nyquist frequency is the fastest thing the model can represent; anything quicker folds back and is indistinguishable.
Frequency where a time belongs
Chapter 02 records this as a live MATLAB exam trap: at 1000 Hz, Ts is 1/1000, not 1000. It
throws no error. It produces a model whose time axis is off by six orders of magnitude, whose poles
are meaningless, and whose plots look superficially plausible.
The scooter's clock
At s, the scooter’s pole corresponds to s. Five time constants is about 11 s, or 22 samples — so an identification experiment that logs 10 samples has not seen the plant settle even once, and no amount of clever estimation will recover what was never excited.
The scooter is re-sampled at 10 Hz instead of 2 Hz, with the physical vehicle unchanged. What happens to the pole?
04 · Mechanics
Dividing polynomials in the delay operator
This is the one section with no MIDA1 equivalent, and the one that pays for the most marks. Chapter 01 divides a transfer function to recover an impulse response; chapter 08 divides with a remainder to build the -step predictor that minimum-variance control is derived from. Both are the same school long division, run on polynomials in instead of on digits.
The cut moves with : predict further ahead and more of the bar becomes unpredictable. Nothing else changes.
That picture is what the mechanics below are for. Everything on the green side of the cut is arithmetic you can do; everything on the red side is noise that has not happened yet. Keep it in mind — chapters 01, 05 and 08 each read it differently.
- Delay operator
, defined by . It is an operator, not a number, but it obeys the ordinary rules of polynomial algebra, which is precisely why long division works on it.
- Transfer function
, a ratio of two polynomials in . Multiplying a signal by means running it through the plant.
Division to a power series: the impulse response
Write the scooter’s model with every on the left and factor out the operator:
so its transfer function is . Negative powers are the natural convention here precisely because they make this division come out as a series in how far back you look, which is what an impulse response is.
Set it up
Divide the numerator by the denominator , lowest power of first — the mirror image of ordinary long division, which works highest power first.
Match the leading term
The leading term of the remainder is ; the leading term of the divisor is . So the next quotient term is . That is .
Multiply back and subtract
. Subtracting leaves a remainder of .
Repeat
over gives ; subtracting leaves , so . The pattern is now visible — each coefficient is times the last.
Read off the answer
, so the impulse response is — the sequence section 02 used.
The general pattern for a first-order plant is for , and the is the one-step input delay showing up as a leading zero. A system whose is non-zero has direct feedthrough; chapter 01 splits that off before building canonical forms.
Convergence is stability
The series terminates only if the plant is stable. With the coefficients decay geometrically and the infinite sum converges; with they grow without bound, and the “impulse response” is a formal series describing a system that blows up. The convergence question of section 02 and the stability question are the same question.
Division with a remainder: the -step predictor
Chapter 08 needs something subtler. Rather than an infinite series it wants the division stopped after exactly terms, with whatever is left over kept as an explicit remainder. Dividing a polynomial by and halting after steps gives the identity:
is the quotient after steps and is the remainder. The degree condition is not a side note — it is what makes the split unique.
The reason chapter 08 cares is that collects exactly the noise terms arriving within the next steps, which no predictor can know, while collects what is already determined by the past and therefore is predictable. The split of into “unknowable now” and “already decided” is performed by long division and nothing else.
Proof Why the degree condition makes the split unique
Suppose two pairs satisfied the identity: and , both with quotient degree . Subtracting,
Every term on the right carries or a higher delay. Now suppose were not zero, and let be its lowest-order non-zero term; since we have . Because starts at with coefficient , the lowest-order term of the product is exactly — nothing can cancel it. But , so the left-hand side has a term the right-hand side cannot match. Contradiction, so , and then too.
The pair is unique, which is what lets chapter 08 speak of the -step predictor rather than a -step predictor.
Where this is graded
The audit records long division as first spent in chapter 01 — graded under State space to TF and impulse response — and spent four more times in chapter 08, whose exam topics include MVC derivation and k-step predictor and MVC. Chapter 08 is the heaviest chapter in the course by exam
weight, and this division is the first move in almost every one of its derivations.
Dividing C(z) by A(z) and stopping after k steps gives C = EA + R̃z^(−k). What is the degree of E?
05 · Core idea
Signals that are random, and the one that is purely random
From chapter 04 onwards nothing in MIDA2 is deterministic. The Kalman filter, software sensing and minimum-variance control are all built on a description of disturbance as a stochastic process, with white noise as the irreducible atom. MIDA1 taught all three ideas; MIDA2 uses them from its first noise term without restating them.
- Stochastic process
A family of random variables indexed by time, . The crucial mental shift: is not a number you have not measured yet — it is a random variable with a distribution. A data record is one realisation of the process, not the process.
- White noise
: zero mean, constant variance , and uncorrelated across time — for . It is the part of a signal that no model, however good, can predict.
- AR(1) process
with white. White noise passed through a one-pole filter: correlated with its own past, and therefore partly predictable.
Why white noise is the atom
White noise is defined by what it lacks. Zero mean means it adds no bias; constant variance means it does not change character over time; being uncorrelated means yesterday’s value tells you exactly nothing about today’s. That last property is the important one, because it is what makes white noise the unpredictable residue: the best possible prediction of from all of history is .
Every model in chapters 04–08 is therefore built the same way — an explicable part driven by data, plus a white part that is conceded rather than modelled. When chapter 08 computes the irreducible variance of a controlled system, it is counting exactly how much white noise the controller cannot reach in time.
AR(1): correlated disturbance
The scooter’s disturbance is not white. Road slope, headwind and rider posture change slowly, so a disturbance now resembles the disturbance a moment ago. The simplest description with that property is AR(1):
The variance formula requires — the same stability condition again, now as the condition for the process to have finite variance at all.
So a mild white input, recycled through a pole at , produces a disturbance with more than five times its variance. This amplification is why coloured disturbance cannot simply be ignored, and it is the direct motivation for chapter 04’s model extension: the trick of enlarging the state so that a coloured disturbance becomes white again in the enlarged description.
Two noises on one scooter
The encoder contributes white measurement noise — a fresh, independent quantisation error each sample. The road contributes an AR(1) process — a slope that persists for many samples. Chapter 04 treats them completely differently: the white one is absorbed into the measurement equation, and the coloured one forces the state to be extended. Telling them apart is the first step of every Kalman exercise.
Where this is graded
The audit ties white noise and AR(1) to chapter 04, whose exam topics include Coloured noise and model extension and Output prediction error variance. Papers ask for the extension explicitly,
and it can only be built by someone who can say which parts of the disturbance are white.
A disturbance is modelled as d(t) = 0.9 d(t−1) + ξ(t) with ξ white of variance 1. What is Var[d]?
06 · Mechanics
Least squares, argmin and the prediction error
Three chapters — 02, 03 and 06 — solve their central problem by writing down an objective and minimising it, and chapter 03 states the recipe outright as the standard four-step parametric procedure. The audit found least squares used eight times, the notation in four chapters, and the gradient in two, none of them defined here.
- Prediction error
— what the plant did, minus what your model said it would do. Every identification method in this course is a rule for making these small.
- Objective function
, a single number scoring how badly parameter vector explains the data. Almost always the mean squared prediction error.
- argmin
— not the minimum value of , but the at which it occurs. The distinction matters: identification wants the parameters, not the score.
- Gradient
, the vector of partial derivatives, one per parameter. Setting it to zero is the first-order condition for a minimum.
The four-step recipe
Chapter 03 lays out the procedure that every parametric method in the course instantiates:
1 · Experiment
Design the excitation, collect and , pre-process.
2 · Model family
Choose a parametric family — the structure, with the numbers left free.
3 · Performance index
Define , the score to be minimised.
4 · Optimisation
Solve .
Methods differ only in the choices they make at steps 2 and 3. Chapter 03 picks a frequency-domain index; chapter 06 picks a neural family; chapter 02 sidesteps the whole loop with a direct algebraic construction. Recognising the shared skeleton is what makes them feel like one course.
Least squares, worked on the scooter
Suppose you have logged throttle and speed and want the two coefficients. Write the model as an inner product of a regressor and a parameter vector:
Everything known goes in ; everything unknown goes in . That the model is linear in — not in the data — is what makes least squares applicable.
Now score a candidate by its mean squared prediction error, and minimise:
is quadratic in and therefore has one minimum, found where the gradient vanishes. Differentiating and setting to zero produces the normal equations, whose solution is the least-squares estimate:
Chapter 02 applies this exact formula to an over-determined shift-invariance relation, where the matrix has hundreds of rows and a handful of columns.
When the inverse fails, the experiment failed
is singular exactly when the regressors are linearly dependent — when the data never varied enough to distinguish the parameters. Drive the scooter at constant throttle and and move together, so no amount of data separates from . This is persistent excitation, and it is why step 1 of the recipe comes first rather than last.
The prediction error is not the noise
is a residual you can compute; the noise is a quantity you cannot. They coincide only when is exactly right. Chapters 04 and 08 both hinge on this: the whole point of an optimal predictor is that it drives the residual down until nothing is left but the noise, and that is the floor no method beats.
You identify the scooter from a log recorded at a perfectly constant throttle. Why does the least-squares estimate fail?
07 · Worked example
Where the model came from in the first place
Every number used so far was handed to you. This section earns them: it derives the scooter model from Newton’s second law, names the three ways a model can be obtained, and shows what experiment would be needed to pin down the parts physics cannot supply.
- White-box modelling
Deriving the model from physical laws, with every parameter carrying units and meaning. Natural in continuous time, so you derive first and discretise afterwards.
- Parametric identification
Choosing a model family and estimating from data — the recipe of section 06, with the structure fixed in advance and only the numbers unknown.
- Experiment design
Choosing what to inject and for how long, so the data actually contains the information the estimator needs.
White box: from Newton to a difference equation
The scooter obeys a force balance — motor thrust minus the drag and friction that grow with speed:
with the combined mass of vehicle and rider, the wheel radius, the motor torque and an aggregate drag coefficient. Rearranged, this is a first-order linear ODE with time constant . Sampling it with a zero-order hold — the input held constant between samples — gives a discrete model whose coefficients are not free at all:
Every discrete coefficient is a physical group in disguise. This is the mapping chapter 08 relies on when it maps continuous poles to discrete ones by .
Check it against the running example: with s and s, , and with a top speed of km/h, . The two numbers used since section 01 were never arbitrary.
Three colours of model
White box
Structure and parameters both from physics. Fully interpretable, and only as good as your knowledge of .
Black box
Structure chosen for convenience, all parameters from data. No physical meaning, often the best fit — chapter 06’s territory.
Gray box
Physical structure, but some parameters unknown and estimated from data. Chapter 07 does this, and this chapter deliberately stops short of it.
The scooter is the natural gray-box case, and it shows why the category exists. The structure is solid Newtonian physics, is measurable with a ruler and is a setting — but includes the rider, so it changes every trip, and depends on posture, tyre pressure and wind. Chapter 07 handles exactly this by treating the unknown parameter as an extra state and letting an extended Kalman filter estimate it alongside the speed. That machinery is chapter 07’s to teach; all you need here is to see why physics alone could not finish the job.
The experiment that would pin it down
Section 06 showed that a constant throttle identifies nothing. What does work follows directly from what the estimator needs — enough independent variation to separate the parameters, sustained long enough for the plant to reveal its memory:
- Vary the input richly. A step gives one time constant’s worth of information; a square wave or a pseudo-random binary sequence gives many, at many frequencies.
- Log for several time constants. For the scooter, s, so a run of 30 s at s gives about 60 samples spanning some 13 time constants.
- Excite what you intend to model. Chapter 03 makes this literal: to identify a frequency response at a given frequency, inject a sinusoid at that frequency.
Where this is graded
The audit ties white-box modelling to chapter 07, graded under Gray-box identification, and
experiment design to chapter 03, graded under Frequency-domain experiment design. Both are open
theory questions in the papers — they ask you to justify a modelling choice, not to compute a number.
A scooter model has known structure from Newton's laws, but the rider's mass is unknown and must come from data. What kind of model is this?
08 · Practice
Work these before chapter 1
Six exercises, one per prerequisite cluster, each shaped like the chapter that will spend it. Attempt each before opening the solution — recognition is not the same skill as production, and the exam tests the second.
Try it 1 · Read the notation
A system is described by with . (a) Is it asymptotically stable? (b) What is asking for, in words? (c) What is the steady-state gain?
Solution. (a) Yes. The impulse response decays geometrically because ; the negative sign makes it alternate while decaying, which is stable. The modulus is what counts, never the sign. (b) The estimate of the output two steps into the future, using only measurements up to and including time — nothing from or may appear in the answer. (c) The steady-state gain is the sum of the impulse response, .
Try it 2 · Long division to an impulse response
Find the first four impulse-response coefficients of , and say whether the system is stable.
Solution. Divide lowest power first. over gives ; multiplying back gives , and subtracting leaves . Next term ; multiplying back gives , and subtracting leaves . So , and one more round gives . With the response is — it rises before it decays, which a first-order system cannot do.
Stability: factor the denominator as , so the poles are and , both inside the unit circle. Stable.
Try it 3 · Division with a remainder
For and , perform the division to , giving and in . Verify the degree condition.
Solution. Step one: the leading term of is , so the first quotient term is . Multiplying back gives ; subtracting from leaves . Step two: the quotient term is . Multiplying back gives ; subtracting leaves .
Two steps done, so stop. and the remainder is , giving . Check the degree condition: with . ✓
Verify by multiplying out: , and adding recovers exactly.
Try it 4 · Variance of a coloured disturbance
A slope disturbance is with . (a) Find . (b) By what factor does the filter amplify the variance? (c) What happens as the pole approaches 1, and what does that mean physically?
Solution. (a) . (b) The amplification is — the disturbance has ten times the variance of the noise driving it. (c) As the denominator goes to zero and the variance diverges: the process stops being stationary and becomes a random walk, wandering without ever settling. Physically, a disturbance with no restoring tendency — a slope that drifts and never returns.
Try it 5 · Least squares by hand
Fit — one parameter, no input — to the three observations , , . Set up , differentiate, and solve.
Solution. Two prediction errors are available, at and :
Differentiate with respect to and set to zero:
So and . Sanity-check against the shortcut — the same number, which it must be, since the shortcut is the one-parameter normal equation.
Note what this exercise is not: with three data points and no input variation, the estimate is plausible but has no useful precision. It demonstrates the mechanics, not a sound experiment.
Try it 6 · From physics to a discrete model
A cart of mass kg is pushed by force against viscous friction N·s/m, so . It is sampled at 4 Hz. (a) Find and the discrete pole . (b) Find the steady-state gain from to . (c) Write the difference equation.
Solution. (a) s. At 4 Hz the sampling time is s — the reciprocal, not the frequency. So . (b) At steady state , so and the gain is m/s per newton. (c) , giving
The small is not an error — it is the gain per newton per sample, and it is exactly compensated by the pole being close to 1, so that the steady state still comes out at m/s per newton.
09 · Recap
Chapter 00 — what you must carry forward
- The modulus is the stability verdict, and means every one. In discrete time for all ; the sign is irrelevant, and one bad eigenvalue is fatal.
- The bar names an information set. is what you may use, not a division. Predictor versus filter is one sample of data and a graded distinction.
- is an operator that obeys polynomial algebra. Dividing to a power series gives the impulse response; the coefficients converge exactly when the plant is stable.
- Division with a remainder splits the knowable from the unknowable. with — the degree condition is what makes it unique, and it is the first move of chapter 08’s derivations.
- White noise is the unpredictable residue; everything else is structure. An AR(1) disturbance has variance and is partly predictable, which is why coloured noise forces a model extension.
- Identification is one recipe with four steps. Experiment, family, index, — and the experiment comes first because a singular is a failed experiment, not a failed solver.
- The prediction error is a residual, not the noise. They coincide only at the true parameters, and that coincidence is the floor no method beats.
Chapter 01 begins by writing a plant three ways at once — state space, transfer function, impulse response — and asking which of the six conversions between them lose information. You now have every tool it uses: the convolution sum is the third representation, the long division is the route from the second to the third, and the modulus test is how it decides whether any of them is stable.