Intuition The ONE core idea
A control system is a set of "dials" (inputs) wired into a machine whose internal condition (its state) drifts and evolves on its own. Controllability is the single question of whether your dials — after their effects ripple through all the machine's internal wiring — can eventually reach every possible internal condition, or whether some conditions stay forever locked away.
Before you can read the parent note , you need a picture behind every symbol it throws at you: x , u , A , B , x ˙ , R n , "span", "rank", e A t , and A k B . We build each one from zero, in an order where every new idea leans only on the ones before it.
The state is the shortest list of numbers that completely describes the machine at one instant , such that — together with future inputs — it determines the entire future. We collect that list into a column of numbers called the state vector x .
Picture a puck sliding on ice. To know its future you need two numbers: where it is (p ) and how fast it moves (v ). So its state is the pair
x = [ p v ] .
Look at Figure s01. The left panel is the physical puck. The right panel plots the SAME information as a single point in a plane whose horizontal axis is position and vertical axis is velocity. That plane is called state space , and the point IS the state.
vector and not just words?
Stacking the numbers into a column lets us do arithmetic — add states, scale them, multiply by matrices. Every operation the parent note performs (A x , B u , "span") is arithmetic ON these columns. Words can't be multiplied; vectors can.
R n
R is the set of all real numbers (the full number line). R n is the set of all lists of n real numbers — i.e. all possible points in an n -dimensional space. The little superscript n just counts how many numbers are in each list.
For the puck, n = 2 , so x ∈ R 2 — a flat plane (the right panel of s01). A spinning spacecraft might need n = 6 or more; you can't draw it, but the rules are identical.
Why the topic needs it :::: "Controllable" is defined as reach ANY point of R n . Without naming this space, "any target" has no meaning.
Definition Input / control
u ∈ R m is the input vector : the m knobs, thrusters, or voltages you get to choose at each instant. m counts how many independent dials you have.
For the puck, one dial: a force you apply. So m = 1 and u = [ force ] . A quadcopter with four rotors has m = 4 .
Intuition State vs input — the crucial split
The state x is what the machine does ; you can only watch it. The input u is what you do; you fully choose it. Controllability is precisely: can my chosen u push the watched x anywhere I like?
The parent writes x ˙ = A x + B u . That dot is doing a lot of work.
Definition The dot: rate of change
x ˙ (read "x-dot") means the rate at which x changes per unit time — the velocity of the state-point as it moves through state space. If x is position, x ˙ is velocity; if x is the whole state vector, x ˙ is a vector of all those rates.
Intuition Why rates and not positions?
Physics gives you laws about change : force changes velocity, velocity changes position. You never get a formula that directly says "the puck is here"; you get one that says "here is how fast it's moving right now." An equation built from x ˙ is called a differential equation — it tells the state where to go next from where it is now .
Look at Figure s02. At each point of state space we draw a small arrow: the arrow at point x is the vector x ˙ — the direction and speed the state will drift if you touch no dials . Following the arrows traces the machine's natural motion.
Now we can read x ˙ = A x + B u term by term.
A — the internal wiring (dynamics matrix)
A is an n × n grid of numbers. Multiplying A x turns the current state into a contribution to its own rate of change . It encodes how the state feeds back on itself — how the arrows in s02 are shaped when u = 0 .
B — the input wiring (input matrix)
B is an n × m grid. B u turns your chosen dials into a push on the state's rate of change — it says which internal directions each dial nudges.
So the full sentence x ˙ = A x + B u reads:
"How the state changes now = (what its own current value drags it toward) + (what your dials are pushing it toward)."
Worked example The puck, fully assembled
Force pushes velocity; velocity carries position. With x = [ p v ] , u = [ force ] :
p ˙ = v , v ˙ = u ⟹ x ˙ = A [ 0 0 1 0 ] x + B [ 0 1 ] u .
This is exactly Example 1 of the parent note — now you know where every number comes from.
A multiplies numbers, so it's just scaling."
Why it feels right: A single number times x scales it. The fix: A matrix can also rotate and mix components — the 1 in A 's top-right is what lets velocity leak into position. That mixing is the whole reason a dial on velocity can eventually move position, which is the punchline of controllability.
You cannot trust A x until you can compute it by hand.
Definition Row-times-column rule
To get entry i of A x : walk along row i of A and down the column x together, multiply the pairs, add them up.
( A x ) i = ∑ j A ij x j .
Worked example Do it once, slowly
[ 0 0 1 0 ] [ p v ] = [ 0 ⋅ p + 1 ⋅ v 0 ⋅ p + 0 ⋅ v ] = [ v 0 ] .
Row 1 gave v (velocity feeds position); row 2 gave 0 (nothing feeds velocity on its own). Matches p ˙ = v , v ˙ = 0 . ✅
The parent note says the reachable states are the span of some columns. Here is that word.
The span of a set of vectors is every point you can build by scaling them (stretch/shrink/flip) and adding the results. It is the complete "reach" of those vectors.
Look at Figure s03.
Left: two vectors pointing in genuinely different directions. Mixing them reaches every point of the plane — their span is all of R 2 .
Right: two vectors lying along the same line. No matter how you scale and add, you never leave that line — their span is only a 1-D sliver, and the rest of the plane is unreachable.
Intuition This picture IS controllability
"Controllable" will mean: the reach-vectors span the whole plane (left picture). "Uncontrollable" will mean: they collapse onto a sliver (right picture), leaving locked directions. Everything else is just naming the reach-vectors and counting the span's size.
The size of a span needs a number. That number is rank .
The rank of a matrix is the number of genuinely independent directions among its columns — equivalently, the dimension of their span. "Independent" means no column is a scaled sum of the others.
Reading s03 with this word:
Left matrix (columns spread the plane): rank = 2 .
Right matrix (columns share a line): rank = 1 .
Common mistake "Rank is just the number of columns."
Why it feels right: More columns look like more directions. The fix: The right matrix in s03 has 2 columns but rank 1 — duplicated directions don't count. This is exactly why the parent note warns that extra powers A n B add nothing.
Why does the parent stack B , A B , A 2 B , … ? Each A you apply is one step of letting the machine's own wiring pass the push along .
B = the directions your dial pushes immediately . A B = where that push drifts to next after the wiring A acts on it once. A 2 B = the drift after two steps, and so on. Together these list every direction the machine can eventually move a dial's effect into.
Look at Figure s04 for the puck (A , B from §5):
Red arrow B = [ 0 1 ] : the dial pushes velocity only .
Blue arrow A B = [ 1 0 ] : after one ripple, that push has leaked into position.
Together red + blue point in two different directions → span the whole plane → rank 2 → controllable. The dial on velocity secretly controls position too.
Definition Repeated multiplication
A 2 B means A ( A B ) : multiply B by A , then multiply the result by A again. A 0 B = B (zero ripples = the raw push).
The parent's derivation uses e A t . You need only the idea ; the Matrix exponential $e^{At}$ note has the machinery.
Definition Matrix exponential
For an ordinary number a , e a t is the smooth curve solving "grow at rate a ⋅ ( current value ) ." For a matrix A , e A t is the same idea for vectors: it is the operator that takes a starting state and slides it forward by time t along the arrows of s02.
e A t = I + A t + 2 ! ( A t ) 2 + 3 ! ( A t ) 3 + ⋯
Intuition Why it shows up
Solving x ˙ = A x (no input) gives x ( t ) = e A t x ( 0 ) : the exponential is the natural motion. When inputs are added, e A t still propagates their effects — and because its series is built from powers A k , the reach reduces to exactly the A k B list of §9. That link (via Cayley–Hamilton theorem ) is what turns an infinite integral into a finite matrix rank test.
Controllability yes or no
Each foundation on this page is one node; follow the arrows and you arrive exactly at the parent note's rank test.
Test yourself — reveal only after you've answered aloud.
What is the state vector x , in one sentence? The shortest list of numbers that, with future inputs, fully determines the machine's future — plotted as a point in state space.
What does R n mean? The space of all lists of n real numbers; the state x lives here.
Difference between x and u ? x is what the machine does and you only watch; u is the dials you freely choose.
What does the dot in x ˙ mean, and why use it? The rate of change of the state per unit time; physics gives laws about change, so equations are built from rates.
What do A and B do in x ˙ = A x + B u ? A wires the state back onto its own rate (internal dynamics); B wires your dials into a push on the rate.
Compute [ 0 0 1 0 ] [ 3 5 ] . [ 5 0 ] (row·column: 0 ⋅ 3 + 1 ⋅ 5 = 5 , then 0 ).
What is the span of a set of vectors? Every point reachable by scaling and adding them — their total reach.
What is the rank of a matrix? The number of genuinely independent directions among its columns = the dimension of their span.
Why does the reach reduce to B , A B , A 2 B , … ? Each extra A lets the push ripple one more step through the wiring; the exponential's powers collapse onto this finite list.
What does e A t represent? The operator that slides a state forward by time t along the natural-motion arrows.
State the controllability rank test. The system is controllable iff rank ( C ) = n , where C = [ B A B ⋯ A n − 1 B ] .