control//estimation-control duality

Estimation-control duality is the exact mathematical correspondence between the optimal linear estimator and the optimal linear regulator, under which every result about one is a result about the other with the matrices transposed; for an engineer it means that half of what you learn about Kalman filters is free knowledge about the LQR, and the reverse. Take the regulator's Riccati equation, replace \(A\) by \(A^{\mathsf T}\) and \(B\) by \(C^{\mathsf T}\), and you obtain the steady-state filter's equation for its error covariance \(\Sigma\):


Estimation-control duality is the exact mathematical correspondence between the optimal linear estimator and the optimal linear regulator, under which every result about one is a result about the other with the matrices transposed; for an engineer it means that half of what you learn about Kalman filters is free knowledge about the LQR, and the reverse. Take the regulator's Riccati equation, replace AAA by ATA^{\mathsf T}AT and BBB by CTC^{\mathsf T}CT, and you obtain the steady-state filter's equation for its error covariance Σ\SigmaΣ:

AΣ+ΣAT−ΣCTRv−1CΣ+Qw=0.A\Sigma+\Sigma A^{\mathsf T}-\Sigma C^{\mathsf T}R_v^{-1}C\Sigma+Q_w=0.AΣ+ΣAT−ΣCTRv−1​CΣ+Qw​=0.

Here QwQ_wQw​ is the process noise covariance and RvR_vRv​ the measurement noise covariance. The pieces correspond one to one: A,BA,BA,B to AT,CTA^{\mathsf T},C^{\mathsf T}AT,CT; the state-error price QQQ to the distrust of the model QwQ_wQw​; the effort price RRR to the distrust of the sensor RvR_vRv​; controllability to observability; the gain K=R−1BTPK=R^{-1}B^{\mathsf T}PK=R−1BTP to L=ΣCTRv−1L=\Sigma C^{\mathsf T}R_v^{-1}L=ΣCTRv−1​; a Riccati run backward (cost still to pay) to one run forward (uncertainty accumulated). In the same way a Luenberger observer is pole placement applied to the estimation error.

Estimating is deciding how much to believe; controlling is deciding how much to spend.

In a filter QQQ and RRR are opinions about the model and the sensor; in a regulator they are prices for error and effort. The bookkeeping is identical because the problem is: minimize a quadratic cost over linear dynamics. In both, raising QQQ over RRR makes the system nervous: the Kalman filter chases every measurement and the LQR spends actuator on every error.

One solver computes both. L = ct.lqr(A.T, C.T, Qw, Rv)[0].T returns the steady-state Kalman gain from an LQR routine; on a microcontroller project it saves writing a second solver and makes the symmetry concrete.

It tells you which question to ask first. Before picking a filter, ask whether the state is observable; before picking a gain, ask whether it is controllable. The tests are the same rank test on transposed matrices, and the same near-degeneracy warning applies to both: a direction barely seen costs a huge filter gain, a direction barely pushed costs a huge control gain.

It explains why LQG can be designed in two halves (separation principle), and also why that is not the end of the story: duality pairs the designs, it does not make their combination robust.

The pattern travels beyond linear systems as a mental model: an estimator and a controller are both weighted compromises between a model and the world, and each tuning knob on one side has a twin on the other (engineering patterns).