Non-homogeneous state-affine systems: matrix polynomials, the system equation, the governing bounds
DefinitionReservoirSASThis module fixes the objects of Section 3 of Grigoryeva-Ortega, building on the reservoir vocabulary already published on the platform.
Polynomials with matrix coefficients. A polynomial is given by its coefficient family and evaluated as , with matrix coefficients for the state part and vector coefficients for the affine part. These are the objects of equation (2.1) of the source.
Non-homogeneous state-affine systems. Definition 3.6 of the source is the reservoir
affine in the state with coefficients depending polynomially on the input. Here time is indexed by , index denoting the instant steps into the past, so the equation reads — the same constraint under a relabelling.
The two governing constants. The behaviour of the system is controlled by upper bounds for and over the input range , written and in the source. Both are recorded as predicates asserting that a supplied constant is a valid bound, rather than as maxima, so that any admissible bound may be used.
Formalization Note Inputs are scalar, following Section 3 of the source, which restricts to one-dimensional signals and defers the multidimensional case to a remark. The bound on the matrix polynomial is stated as an operator inequality valid for every vector, which is what the spectral norm provides; the vector bound is a plain norm inequality. The conversions between Euclidean space and coordinate functions are pure type transport and change only which norm the type carries. Note that the polynomial bounds constrain to while the system equation itself places no constraint on the driving sequence: the two are linked by the hypotheses of the theorems, not by these definitions.
import Mathlib
import Definitions.Def_ReservoirESN
set_option autoImplicit false
open Metric Matrix ReservoirESN
namespace ReservoirSAS
/-- Evaluation d'un polynome a coefficients matriciels : `p(z) = Σ_j z^j P_j`.
Les polynomes de la source (eq. (2.1)) sont donnes par leurs coefficients. -/
noncomputable def matPolyEval {N r : ℕ} (P : Fin r → Matrix (Fin N) (Fin N) ℝ) (z : ℝ) :
Matrix (Fin N) (Fin N) ℝ :=
∑ j : Fin r, (z ^ (j : ℕ)) • P j
/-- Evaluation d'un polynome a coefficients vectoriels : `q(z) = Σ_j z^j Q_j`. -/
noncomputable def vecPolyEval {N s : ℕ} (Q : Fin s → EuclideanSpace ℝ (Fin N)) (z : ℝ) :
EuclideanSpace ℝ (Fin N) :=
∑ j : Fin s, (z ^ (j : ℕ)) • Q j
/-- **Systeme d'etat affine non homogene** (Definition 3.6) : `x_t = p(z_t) x_{t-1} + q(z_t)`.
Indexation par le passe, comme partout : `x_k = p(z_k) x_{k+1} + q(z_k)`. -/
def IsSASSolution {N r s : ℕ} (P : Fin r → Matrix (Fin N) (Fin N) ℝ)
(Q : Fin s → EuclideanSpace ℝ (Fin N))
(z : ℕ → ℝ) (x : ℕ → EuclideanSpace ℝ (Fin N)) : Prop :=
∀ k, x k = (EuclideanSpace.equiv (Fin N) ℝ).symm
(matPolyEval P (z k) *ᵥ (EuclideanSpace.equiv (Fin N) ℝ (x (k + 1))))
+ vecPolyEval Q (z k)
/-- Borne uniforme de la norme d'operateur d'un polynome matriciel sur `[-1,1]` :
le `M_p := max_{z ∈ I} ‖p(z)‖₂` de la source. -/
def MatPolyOpBound {N r : ℕ} (P : Fin r → Matrix (Fin N) (Fin N) ℝ) (K : ℝ) : Prop :=
∀ z : ℝ, z ∈ Set.Icc (-1 : ℝ) 1 → ∀ v : EuclideanSpace ℝ (Fin N),
‖(EuclideanSpace.equiv (Fin N) ℝ).symm
(matPolyEval P z *ᵥ (EuclideanSpace.equiv (Fin N) ℝ v))‖ ≤ K * ‖v‖
/-- Borne uniforme de la norme d'un polynome vectoriel sur `[-1,1]` : le `M_q` de la source. -/
def VecPolyBound {N s : ℕ} (Q : Fin s → EuclideanSpace ℝ (Fin N)) (K : ℝ) : Prop :=
∀ z : ℝ, z ∈ Set.Icc (-1 : ℝ) 1 → ‖vecPolyEval Q z‖ ≤ K
end ReservoirSAS
Read-back
What the Lean code literally says, in plain math · claude-opus-5
matPolyEval
For natural numbers and , given a family of real matrices indexed by , and a real number , this defines the real matrix
the scalar multiples being taken entrywise. The exponent is the numeral value of the index . Both and are implicit and arbitrary natural numbers: if the sum is empty and is the zero matrix for every ; if the value is the unique matrix. The term is , which equals even at , since here. Nothing restricts to any interval.
vecPolyEval
Symmetrically, for a family of vectors of the Euclidean space (carrying the norm) and a real , this is the vector
Again gives the zero vector identically, and ranges over all of .
IsSASSolution
For implicit naturals , a matrix family , a vector family , a real-valued sequence and a sequence , this is the proposition
where is the matrix-vector product: the Euclidean vector is transported to the plain coordinate tuple, multiplied on the left by the matrix , and transported back to Euclidean space (this transport is the identity on coordinates and changes nothing but the norm carried by the type). Note the index direction: the value at step is determined by the value at step , so the recurrence runs from larger indices toward , and the condition is imposed at every , included. No initial or terminal condition is imposed, no boundedness of or is assumed, and in particular is unconstrained — it need not lie in . If and the condition reduces to for all ; if it holds vacuously for any .
MatPolyOpBound
For a matrix family and a real number , this is the proposition
The quantification over is restricted to the closed interval , endpoints included, and is a single constant independent of both and ; equivalently, dominates the operator norm of uniformly on . The bound is non-strict. is not assumed nonnegative, though for nonnegativity follows by taking ; for the statement holds for every , including negative ones. No claim is made that such a exists.
VecPolyBound
For a vector family and a real :
again non-strict, over the closed interval, with uniform in and not assumed nonnegative (nonnegativity is forced, since the left side is a norm). As above, this is a predicate on , not an existence assertion.
None of these five declarations refers to any of the reservoir, contraction, weighting, fading-memory or squashing-function notions from the imported definitions file; nothing here mentions echo state networks, and no theorem is stated — all five are definitions only.
Confirmed by the mission captain (proposal self-audit).