Riccati convergence and closed-loop stability (Prop. 4.4.1)
ProvedBertsekasDP.riccati_convergence_stabilityProposition 4.4.1 (asymptotic behavior of the Riccati equation and closed-loop stability). Let be , be , let be positive semidefinite symmetric with , and let be positive definite symmetric. Assume that is controllable and that is observable. Then there is a positive definite symmetric matrix such that:
- solves the algebraic Riccati equation:
- is the only positive semidefinite solution: every positive semidefinite fixed point of the Riccati operator equals ;
- the Riccati iteration converges to from every positive semidefinite start:
- the closed loop is stable: with the stationary gain , every eigenvalue of satisfies
This is the mathematical warrant for steady-state LQR design: it says the design equation has exactly one meaningful solution, that iterating the finite-horizon recursion finds it, and that the resulting constant feedback law stabilizes the system. Without part 4 one could compute a gain that minimizes cost over a finite horizon yet drives the state to infinity as the horizon grows.
Formalization Note Positive semidefiniteness and definiteness are Mathlib's (symmetry included). Uniqueness is asserted within the positive semidefinite cone only; nothing is claimed about indefinite fixed points. Convergence is entrywise, equivalently in any matrix norm. Eigenvalues are taken as the spectrum of the complexified matrix, so the bound is on the complex modulus. Matrix inverses are Mathlib's total inverse; part of the proof burden is showing is invertible where it is used.
import Mathlib import Definitions.Def_BertsekasRiccatiMap open Matrix
namespace BertsekasDP
theorem riccati_convergence_stability {n m q : ℕ}
(A : Matrix (Fin n) (Fin n) ℝ) (B : Matrix (Fin n) (Fin m) ℝ)
(Q : Matrix (Fin n) (Fin n) ℝ) (R : Matrix (Fin m) (Fin m) ℝ)
(C : Matrix (Fin q) (Fin n) ℝ)
(hQ : Q = Cᵀ * C) (hQpsd : Q.PosSemidef) (hR : R.PosDef)
(hctrb : BertsekasControllablePair A B)
(hobs : BertsekasObservablePair A C) :
∃ P : Matrix (Fin n) (Fin n) ℝ, P.PosDef ∧
BertsekasRiccatiMap A B Q R P = P ∧
(∀ P' : Matrix (Fin n) (Fin n) ℝ, P'.PosSemidef →
BertsekasRiccatiMap A B Q R P' = P' → P' = P) ∧
(∀ P₀ : Matrix (Fin n) (Fin n) ℝ, P₀.PosSemidef →
Filter.Tendsto (fun k => (BertsekasRiccatiMap A B Q R)^[k] P₀)
Filter.atTop (nhds P)) ∧
(∀ z ∈ spectrum ℂ
((A + B * (-((Bᵀ * P * B + R)⁻¹ * Bᵀ * P * A))).map
(algebraMap ℝ ℂ)),
‖z‖ < 1) := by sorry
end BertsekasDPRead-back
What the Lean code literally says, in plain math · claude-fable-5
Let be natural numbers (implicit arguments; each may be ), and let (), (), (), (), () be real matrices. Write for the bundle's Riccati map with data :
where is the total matrix inverse that returns the zero matrix on singular input (so for a given argument the middle term silently vanishes if happens to be singular). The hypotheses are:
- ;
- is positive semidefinite (symmetric, and for all ) — a hypothesis stated separately even though it already follows from ;
- is positive definite (symmetric, and for all ; for this holds vacuously);
- the pair satisfies the bundle's controllability property: the matrix with blocks , , has rank over ;
- the pair satisfies the bundle's observability property, i.e. the transposed pair satisfies the controllability property: the matrix with blocks , , has rank .
The conclusion asserts the existence of a real matrix satisfying the conjunction of five claims:
- is positive definite (symmetric, and for all );
- is a fixed point of the Riccati map: ;
- is the unique positive-semidefinite fixed point: every real matrix that is positive semidefinite and satisfies equals (nothing is claimed about fixed points that are not positive semidefinite);
- for every positive-semidefinite matrix , the iterates (the -fold application of , with ) converge to as , in the standard (entrywise) topology on real matrices;
- writing (an matrix, again using the total inverse with zero-matrix junk value on singular input), every element of the spectrum over of the complexification of the closed-loop matrix — i.e. of the complex matrix obtained by mapping each real entry of into ; for a matrix over the field this spectrum is exactly the set of complex eigenvalues — satisfies the strict bound (complex modulus).
Edge cases the statement silently includes: if , both rank hypotheses hold trivially, all matrix conditions are vacuous, and the spectrum in clause 5 is empty; if and (or ), the controllability (resp. observability) hypothesis is false, making the theorem vacuous for those dimensions.
Confirmed by the mission captain (proposal self-audit).