Where does a matrix rank even come into this? Let's build it, not memorize it.
The solution of x˙=Ax+Bu starting from x0=0 (rest) is
x(T)=∫0TeA(T−τ)Bu(τ)dτ.
Why this step? This is the standard variation-of-parameters solution; the matrix exponential eAt propagates the state, and the integral accumulates the effect of the input history.
The set of states reachable from the origin is the span of all vectors of the form eA(T−τ)Bu(τ). So the reachable subspace is spanned by columns of eAtB for all t.
Now use the Cayley–Hamilton theorem: every matrix A satisfies its own characteristic polynomial, so An (and higher powers) can be written as a linear combination of I,A,A2,…,An−1. Expanding the matrix exponential
eAt=∑k=0∞k!(At)kWhy this step? Every power Ak collapses onto the finite set {I,A,…,An−1}. So eAtB only ever produces linear combinations of
B,AB,A2B,…,An−1B.
Therefore the reachable subspace is exactly the column span of these blocks stacked side by side. That stack IS the controllability matrix.
Why rank n and not more? You can never reach more than n dimensions (state is n-dimensional). Rank =n means the columns span the entire state space. Rank <n means there's a "dead" subspace no input touches.
Whether any initial state can be driven to any target state in finite time using available inputs.
Controllability matrix definition
C=[BABA2B⋯An−1B].
Rank condition for controllability
rank(C)=n (full row rank).
Why stop at An−1B?
Cayley–Hamilton: An and higher are linear combinations of I,…,An−1, so higher powers add no new directions.
Size of C for n states, m inputs
n×(nm).
Does a zero in B imply uncontrollable?
No — depends on how A mixes B; must check rank of C.
Is controllability the same as stability?
No; they are independent properties.
For single-input n=2, quick controllability check
det[BAB]=0.
What does rank <n physically mean?
There exists a state-space direction (a mode) no input can affect.
Recall Feynman: explain to a 12-year-old
Imagine a toy robot on a floor. You have a remote that can push it in certain ways. Controllable means: with the buttons you have, you can eventually get the robot to any spot facing any direction. If some buttons are missing — say you can push forward/back but the robot is glued so it can never turn — then no matter how long you play, you can never make it face left. That "stuck-ness" is what the rank test detects. We list every way your pushes ripple through the robot's motion (B,AB,A2B,…) and ask: do these together cover all the ways the robot can move? If yes (full rank) → total control. If no → some motions are forever locked.
Dekho, controllability ka matlab simple hai: tumhare paas ek system hai jiska state x hai (jaise spacecraft ki position, velocity, attitude) aur tumhare paas kuch inputs u hain (thrusters). Sawaal yeh hai — kya main apne inputs se system ko kisi bhi starting point se kisi bhi target tak le ja sakta hoon? Agar haan, to system controllable hai. Agar nahi, to state-space mein kuch directions aisi hain jinhe tumhare actuators kabhi touch hi nahi kar sakte, chahe kitna bhi try karo.
Ab yeh check kaise karein? Yahan aata hai controllability matrixC=[BABA2B⋯An−1B]. Iska logic yeh hai: input ka effect system mein B ke through ghusta hai, phir A usko har time step pe mix karta hai — isliye AB, A2B waghera. Cayley–Hamilton theorem kehta hai ki An−1 ke baad koi nayi direction nahi aati, isliye bas n−1 powers tak jao. Phir rank nikaalo: agar rank =n (jitne states hain), to poora state-space cover ho gaya — controllable! Agar rank kam hai, to koi mode "dead" hai.
Ek common galti: log sochte hain agar B mein zero hai to uncontrollable. Galat! Ho sakta hai A us mode ko mix karke reachable bana de. Isliye hamesha C compute karke rank check karo, sirf B dekh ke andaaza mat lagao. Doosri baat — controllability aur stability alag cheezein hain. Ek system unstable ho sakta hai par controllable (feedback se fix kar sakte ho), ya stable par uncontrollable. Yeh concept GNC mein bahut important hai kyunki pole placement aur state feedback tabhi kaam karta hai jab system controllable ho.