Closed-loop stability of a positive definite Riccati fixed point (Prop. 4.4.1, part 4, conditional form)
ProvedBertsekasDP.riccati_psd_fixed_point_closed_loop_stableLet , , , , with controllable and observable (Definition 4.1.1 of Bertsekas). Let be a fixed point of the Riccati operator . Then the closed-loop matrix
has all eigenvalues (of the complexified matrix) strictly inside the unit disk: .
Proof sketch: the Lyapunov identity obtained by expanding around the stationary gain gives, for the closed-loop dynamics , the strict decrease
where and strictness uses . Telescoping along trajectories shows ; if some with existed, an eigenvector-type trajectory would keep from being summable unless for all , and observability (plus controllability, to handle modes reachable only through ) forces — a contradiction. Hence for every closed-loop eigenvalue. This is part 4 of Bertsekas, Vol. I, Proposition 4.4.1.
import Mathlib import Definitions.Def_BertsekasRiccatiMap open Matrix
namespace BertsekasDP
theorem riccati_psd_fixed_point_closed_loop_stable {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) ℝ) (hP : P.PosDef)
(hfix : BertsekasRiccatiMap A B Q R P = P) :
∀ z ∈ spectrum ℂ
((A + B * (-((Bᵀ * P * B + R)⁻¹ * Bᵀ * P * A))).map
(algebraMap ℝ ℂ)),
‖z‖ < 1 := by sorry
end BertsekasDP