3.5.34 · D5Guidance, Navigation & Control (GNC)
Question bank — Pole placement — Ackermann's formula
Prerequisites worth having open: Controllability and the controllability matrix, Cayley–Hamilton theorem, Characteristic polynomial, Eigenvalues and system stability, Controllable canonical form.
The three objects every trap below leans on
Before the traps, let us pin down the exact notation, so no symbol is used before it is earned.
The figure below shows this "only the last coordinate is actuated" structure, and how nearly-singular makes placement fragile.

True or false — justify
True or false: Ackermann's formula can place the closed-loop poles of any linear system anywhere you like.
False. It needs the pair to be controllable (so is invertible) and to be single-input. An uncontrollable direction has a pole you literally cannot move.
True or false: the polynomial you feed into is the system's own characteristic polynomial.
False. You feed the desired polynomial built from your target poles. Using the actual one gives by Cayley–Hamilton theorem, so — no feedback at all.
True or false: making all closed-loop poles more negative is always the best design.
False. Very negative real parts mean very fast decay, but that demands large gains , hence large control effort , which saturates actuators and amplifies measurement noise. Speed trades against effort — see LQR — optimal pole placement alternative.
True or false: if you change the sign convention to , Ackermann's stays the same.
False. The formula is derived for giving closed loop . With the loop is , so you must negate the result (or you double the sign error).
True or false: the row vector in the formula is arbitrary — any row would do.
False. In Controllable canonical form only the last coordinate is actuated, so the feedback gains land in the bottom row of . That specific selector row reads them off; any other row would grab the wrong entries.
True or false: two different desired polynomials can give the same gain .
False. For a fixed controllable , distinct desired coefficient sets produce distinct closed-loop bottom rows in CCF, and the invertible maps and the CCF change of basis are one-to-one — so the composite map coefficients is a bijection. Different pole sets ⟹ different .
True or false: complex desired poles force to have complex entries.
False. As long as complex poles come in conjugate pairs, has real coefficients, is a real matrix, and is real. That is why we place , never a lone .
True or false: pole placement changes the eigenvectors as well as the eigenvalues.
True. is a genuinely different matrix from ; both its eigenvalues and eigenvectors generally change. Pole placement only guarantees the eigenvalues (poles) — the mode shapes come along for the ride.
Spot the error
" was singular, so I dropped one column to make it square and inverted that." Where is the mistake?
A singular means the system is uncontrollable — an entire direction is unsteerable. You cannot patch this by trimming columns; the pole in that direction is fixed and Ackermann simply does not apply.
"My desired poles were and , so I wrote ." Fix it.
Sign slip. A pole at contributes a factor , so . Using would place the pole at — unstable.
"I computed by plugging into , but I treated the constant term as a scalar ." What's wrong?
Recall is the constant coefficient of . In a matrix polynomial the constant term must be , the scalar times the identity matrix, not a lone scalar: .
"The system had two inputs, so I stacked the two columns of into and applied Ackermann." Why is this unsafe?
Ackermann is a single-input recipe; the leading selector and the CCF derivation assume a scalar input. Multi-input placement has extra freedom and needs different methods.
"Since shares the char. poly , its eigenvectors equal those of the companion matrix." Spot the leap.
Sharing a characteristic polynomial guarantees the same eigenvalues, not the same eigenvectors. Similar matrices share eigenvalues but have coordinate-dependent eigenvectors.
"I placed a pole exactly on the imaginary axis at to make the response 'neutral'." What's the hidden danger?
A pole at gives — a mode that neither decays nor grows, marginally stable. Any disturbance leaves a permanent offset; see Eigenvalues and system stability. Genuine stability needs .
Why questions
Why must the system be controllable before we even talk about placing poles?
If some direction of the state cannot be influenced by , no choice of reaches it, so its eigenvalue is frozen. Controllability of is exactly the condition that every mode is reachable — see Controllability and the controllability matrix.
Why does Cayley–Hamilton theorem make the derivation work?
It says a matrix satisfies its own characteristic polynomial, so the actual char. poly evaluated at vanishes. Subtracting that zero from leaves only the difference of coefficients — exactly the required feedback gains — with everything else cancelling.
Why is in the formula, geometrically?
It is the "return ticket." Pole placement is trivial in Controllable canonical form; the transformation to CCF is built from , so maps the trivially-placed gains back into your original coordinates.
Why do the desired poles determine uniquely (single-input) but LQR does not need you to pick poles?
Ackermann demands you specify where every pole goes, fixing exactly. LQR — optimal pole placement alternative instead minimises a cost and lets the poles fall out optimally — you tune weights, not locations.
Why does the same machinery, dualised, design observers?
The observer error dynamics are the transpose-dual of . Applying Ackermann to gives the observer gain — the Observer design and duality (Ackermann for observers) mirror.
Why can't we just read off by inspecting 's eigenvalues directly?
The eigenvalues of depend on in a coupled, nonlinear way for ; there is no by-eye shortcut. The CCF detour turns this tangle into "overwrite the bottom row," which is what Ackermann automates.
Edge cases
What happens to if you pick your desired poles equal to the open-loop poles?
Then , the actual characteristic polynomial, so and . You asked to change nothing, so the feedback is nothing — a useful sanity check.
For a scalar () system with , what does Ackermann reduce to?
With , we get , , selector , so . Then — the single pole lands exactly at .
You choose a repeated pole, e.g. twice. Does Ackermann still work?
Yes. Repeated desired poles just mean has a repeated factor; the formula never divides by pole separation, so multiplicity is fine (the double integrator example does exactly this).
The controllability matrix is nearly singular (tiny determinant) but not exactly zero. Any concern?
Yes. is then ill-conditioned, so becomes huge and numerically fragile — small model errors move the poles a lot. The system is "barely controllable"; large control effort is the price.
What if you demand poles with positive real part on purpose?
The formula happily computes a that places them there — Ackermann does not enforce stability, only the poles you ask for. Choosing builds a deliberately unstable closed loop.
Does ever occur, and what does the formula say then?
If the input touches nothing: is singular, non-invertible, so Ackermann is undefined. Correct — with no actuation you cannot place any pole.
Recall One-line summary
Ackermann is exact and unique for single-input controllable systems, uses the desired polynomial, relies on Cayley–Hamilton plus a CCF round-trip (), and guarantees only the eigenvalues of — never stability unless you ask for stable poles.