CLAIM C1 of entrylib:2026.000002 Admissibility of lagged state space models through the ARIMA form of the whole model licence CC-BY-4.0; contributions C1 DEFINITIONS D2 [concept] expanded discount matrix: The transition matrix $\tilde D$ of size $\sum_j l_j$ of the lag-1 system equivalent to $v_t = D v_{t-l}$, in which component $j$ carries itself and its $l_j - 1$ lagged copies; $\tilde F$, $\tilde g$ and $\tilde w$ are expanded in the same way, so that $\tilde D = \tilde F - \tilde g \tilde w'$. D3 [concept] decaying weights: A lagged SSOE model has decaying weights when the weights $\tilde w' \tilde D^j \tilde g$ of the past observations in its fitted values tend to zero, that is, when every eigenvalue $\lambda$ of its expanded discount matrix that is reachable from $\tilde g$ and observable through $\tilde w$ has $|\lambda| < 1$; the largest such $|\lambda|$ is its largest mode modulus. A mode that $\tilde g$ does not reach but $\tilde w$ sees carries an initial state whose effect is not covered: with $|\lambda| > 1$ it grows. D4 [method] per-lag check: The test applied by smoothEigens() of smooth 4.6.0 and of its repository until commit 4a44c1c (src/headers/eigenCalc.h) to models without adaptive regressors: every eigenvalue of every diagonal block of $D$, one block per unique lag, has modulus below 1; reimplemented in numpy as per_lag_max(). D5 [method] PBH reference: The largest modulus among the eigenvalues $\lambda$ of the expanded discount matrix for which the smallest singular values of $[\lambda I - \tilde D;\ \tilde w']$ and of $[\lambda I - \tilde D,\ \tilde g]$ both exceed $10^{-7}(\|\tilde D\|_2 + \|\tilde g\| + \|\tilde w\|)$ (Popov-Belevitch-Hautus rank tests), computed with numpy as pbh_max(). D6 [method] cyclotomic cancellation: The procedure that computes the coefficients of $$\begin{aligned} \theta(B) &= \det(I - D L(B)) \\ \phi(B) &= \det(I - F L(B)) \end{aligned}$$ by an inverse discrete Fourier transform of their values at the $N$-th roots of unity ($N$ the smallest power of 2 above $\sum_j l_j$), and divides both by every cyclotomic polynomial $\Phi_n(B)$, $n$ dividing one of the lags, for as long as it divides both with a remainder at most $10^{-9}$ times the sum of absolute coefficients; the quotient of $\theta$ is the cancelled MA polynomial $\theta^*(B)$. D7 [method] step-down test: The Levinson-Durbin step-down (Schur-Cohn) recursion on $1 + c_1 B + \dots + c_n B^n$: for $j = n, \dots, 1$, $$\kappa_j = c_j, \qquad c_i \leftarrow \frac{c_i - \kappa_j c_{j-i}}{1 - \kappa_j^2};$$ the test passes when every $|\kappa_j| < 1$, which holds if and only if all roots lie outside the unit circle (the $\kappa_j$ are the partial autocorrelations of the autoregression with this polynomial). [source B2] D8 [method] GUM: Generalised Univariate Model of the smooth package: a lagged SSOE model whose $F$, $g$ and $w$ are all estimated. [source B3] D9 [method] ETS(A,N,A): Exponential smoothing with additive error, no trend and additive seasonality of period $m$; here in the lagged form with a level of lag 1 and one seasonal state of lag $m$, $F = I$, $w = (1, 1)'$, $g = (\alpha, \gamma)'$. [source B1] D10 [method] check of the whole model: Admissibility of a lagged SSOE model from the MA polynomial $$\theta(B) = \det(I - D L(B))$$ of its ARIMA form: $\theta$ is divided by its common factors with $\phi(B) = \det(I - F L(B))$ by [[D6:cyclotomic cancellation]], and the model is accepted when the cancelled polynomial $\theta^*$ has no root in $|B| \le 1$ and, for a model with ARIMA components, the AR polynomial of its ARIMA part is stationary; its largest mode modulus is $1/\min|B|$ over the roots of $\theta^*$. In the numpy prototype (admissibility.py, confirm.py, ets_arima.py) the roots come from numpy; in smooth the [[D7:step-down test]] decides and bisection gives the modulus. D11 [method] bisection for the largest root modulus: Bisection on $r$ over the [[D7:step-down test]] applied to $\theta^*(B/r)$, which passes exactly when $1/|B| < r$ for every root $B$ of $\theta^*$, so that the smallest such $r$ is the largest mode modulus; run to a width of 1e-10 in the prototype and to a tolerance of 1e-6 in smooth. [part of D10] D17 [data] ETS(A,N,A) grid: The 3042 [[D9:ETS(A,N,A)]] models with $m = 4$ and $m = 12$ and $\alpha$ and $\gamma$ on the grid 0.05, 0.10, ..., 1.95 (confirm.py, plan PL1). D18 [data] random GUM models with lags (1, 12): 200 [[D8:GUM]] models with lags (1, 12): entries of $F$ normal with mean 0 and standard deviation 0.35, of $g$ with mean 0 and standard deviation 0.175, of $w$ with mean 1 and standard deviation 0.175 (confirm.py, seed 2026). D20 [data] random additive ETS and GUM models with long seasonal lags: The 575 models of plan PL4 (confirm.py --test stepdown --seed 2026 --n 200): the 500 models of plan PL3 generated afresh, 50 additive ETS models with seasonal lags from {24, 168, 365} and 25 GUM models with lags (1, 24, 168) and normal $F$ (standard deviation 0.3). The generator allows MA polynomial degrees up to 536 (level, trend, seasonal lags 168 and 365, constant). D26 [design] comparison with a reference: Each model's admissibility decision, and its largest mode modulus where both find it inadmissible, computed by the method studied and by a reference on the same model (the [[D5:PBH reference]], the roots by numpy, the numpy prototype of the check of the whole model or an exact oracle); the result is the number of models whose decisions differ and the largest absolute difference of the modulus. In the planned tests, models whose reference modulus lies within 1e-8 of 1 are left out and counted. D29 [variable] admissibility decision: Whether a method accepts a model as admissible ([[D3:decaying weights]]); compared between a method and a reference as the number of models on which the two differ. D30 [variable] largest mode modulus: The largest modulus of the modes that decide admissibility: for the [[D5:PBH reference]] the largest $|\lambda|$ of the reachable and observable eigenvalues of the [[D2:expanded discount matrix]], for the check of the whole model $1/\min|B|$ over the roots $B$ of the cancelled MA polynomial, for the per-lag check the largest $|\lambda|$ of its blocks; a model is admissible when it is below 1. D41 [method] exact oracle: Admissibility decided in exact rational arithmetic with certified root enclosures (independent/oracle.py, python-flint 0.9.0), written by the contributor P5 from the definitions of this claimset without the prototype: each float of $F$, $g$, $w$ is converted exactly to a rational, $D = F - g w'$, and $$\theta(B) = \det(I - D L(B)), \qquad \phi(B) = \det(I - F L(B))$$ by fraction-free elimination over $\mathbb{Q}[B]$; $G = \gcd(\theta, \phi)$ exactly and $\theta_G = \theta / G$; $C$ is the product of the cyclotomic polynomials $\Phi_n$, $n$ dividing a lag, at the multiplicity dividing both, and $\theta_C = \theta / C$; the roots of $\theta_G$, $\theta_C$ and $G / C$ are enclosed in Arb balls of 128 bits, raised to 512 and 2048 bits while a modulus ball contains 1, and a root counts as on the unit circle only when it is proved a root of unity whose $\Phi_n$ divides the polynomial. The largest mode modulus is $1/\min|B|$ over the roots; a model is admissible when it is below 1. D42 [data] models of the planned tests: The models of the planned tests PL1-PL6 and the two examples of C10 and C11, drawn again by export_models.py exactly as confirm.py and cpp_check.py draw them (the counts of the original tests are reproduced), with the prototype's values for each: 3242 models of PL1 and PL2, 500 of PL3, 575 of PL4 and PL5 (MA degree up to 535), 800 of PL6 and 2 examples; 5119 in all. D43 [design] comparison with the exact oracle: For each model, the admissibility decision and largest mode modulus of a method of the study against those of the [[D41:exact oracle]]: the PBH reference against $\theta_G$; the prototype's cancellation, step-down test and bisection against $\theta_C$. Counted are the models whose decisions differ and the largest absolute difference of the modulus on the models both find inadmissible (for the bisection, on every model with a value). Models the oracle cannot decide, and models whose certified largest modulus lies within $10^{-8}$ of 1, are left out and counted. D44 [variable] non-cyclotomic shared factor in the closed unit disc: Whether $G / C$, the factor shared by $\theta$ and $\phi$ after removing the cyclotomic polynomials $\Phi_n$ ($n$ dividing a lag), has a root in $|B| \le 1$, certified by the [[D41:exact oracle]]; counted over models. CLAIMS C1 [descriptive; principal; refutation; support: simulation E1 (E1.R1, E1.R3, E1.R4, E1.R6) artefacts A1, A3; assumes C13, C14; limitations L1, L2; strength moderate (author); verifiability open; planning confirmatory; outcome supported] The [[D4:per-lag check]] accepted all [[D17:3042 ETS(A,N,A) grid models]], 1482 of which do not have [[D3:decaying weights]], and 193 of [[D18:200 random GUM models with lags (1, 12)]], 10 of which do not have decaying weights. scope: population: pure additive lagged SSOE models | conditions: ETS(A,N,A) with m = 4 and m = 12, alpha and gamma on the grid 0.05, 0.10, ..., 1.95; GUM with lags (1, 12) and normal random F, g and w (standard deviations 0.35, 0.175, 0.175; mean of w 1); largest mode modulus from the PBH reference, band of 1e-8 around 1 | excludes: models with adaptive regressors; multiplicative models contradicts B3, at gum(), documentation of the argument bounds, own earlier work: The documentation of gum() states that bounds = "admissible" guarantees the stability of the model. test: deterministic; seed 2026; edge_band 1e-08; pbh_tolerance 1e-07; cancellation_tolerance 1e-09; sample 3042 ETS grid models and 200 random GUM models, fixed; no interim analysis; supported if ets_bad > 0 and gum_bad > 0; not supported if ets_bad == 0 and gum_bad == 0; verdict computed plan: lab plan PL1; planned 2026-10-21T15:21:29Z; anchor git_remote C13 [methodological; supporting; assumption (methodological, unchecked); verifiability not_applicable] The numpy function per_lag_max() returns the same largest eigenvalue modulus as smoothEigensCpp() of smooth 4.6.0 (replaced in commit 4a44c1c) for models with a constant measurement vector and without adaptive regressors. C14 [methodological; supporting; assumption (methodological, tested); verifiability not_applicable] The [[D5:PBH reference]] with relative rank tolerance 1e-7 classifies every eigenvalue of modulus at least 1 of the [[D2:expanded discount matrix]] of the tested models correctly as both reachable and observable or not, outside the band of 1e-8 around the unit circle that the tests leave out. EVIDENCE E1 [simulation; runs 1] Planned test of the per-lag check (lab plan PL1, run RN7): confirm.py --test perlag --seed 2026 --n 200 computed, for 3042 ETS(A,N,A) models (m = 4 and 12, alpha and gamma on the grid 0.05, 0.10, ..., 1.95) and 200 GUM models with lags (1, 12) (entries of F normal with mean 0 and standard deviation 0.35, of g with mean 0 and standard deviation 0.175, of w with mean 1 and standard deviation 0.175), the per-lag check's largest eigenvalue modulus and the PBH reference, and counted the models on which the two decisions disagree beyond a band of 1e-8 around 1. setup: studied D4; cases D17, D18; procedure D26, D5; lens D29 E1.R1 models accepted by the per-lag check that do not forget their initial states = 1482 {family: ETS(A,N,A), models: 3042} E1.R2 models rejected by the per-lag check that forget their initial states = 0 {family: ETS(A,N,A), models: 3042} E1.R3 models accepted by the per-lag check = 3042 {family: ETS(A,N,A), models: 3042} E1.R4 models accepted by the per-lag check that do not forget their initial states = 10 {family: GUM, models: 200} E1.R5 models rejected by the per-lag check that forget their initial states = 1 {family: GUM, models: 200} E1.R6 models accepted by the per-lag check = 193 {family: GUM, models: 200} parameters: A3 seeds: [2026] E25 [simulation; runs 2] Planned test of the contributor P5 (lab plan AC5.PL1, run AC5.RN8, with the breakdown run AC5.RN9): the [[D41:exact oracle]], written without the prototype, on the [[D42:models of the planned tests]] exported by runs RN57-RN61, against the prototype's values stored with each model. The oracle was tried beforehand only on models of other seeds (AC5.RN2, AC5.RN6, AC5.RN7) and on hand-checkable models. AC5.RN8 took 30 s. setup: studied D5, D10, D7, D11, D4; cases D42, D17, D18, D20; procedure D43, D41; lens D29, D30, D44 E25.T1 Each set of models of the planned tests (D42) given to the exact oracle (D41), and over all sets: models given, left out by the edge band and undecided; decisions of the PBH reference and of the prototype's cancellation that differ from the oracle, and the largest absolute difference of the largest mode modulus on the models both find inadmissible; models with a non-cyclotomic shared factor in the closed unit disc (D44); models whose cancelled MA degree differs from the prototype's. Empty cells: the set has no such value of the prototype (perlag holds the PBH reference only; stepdown and cpp the cancellation only). | row | set | models given to the oracle | models on which the oracle failed | models compared | models whose shared non-cyclotomic factor could not be located | models with a shared non-cyclotomic factor, all roots in |B| > 1 | models excluded by edge | models excluded by undecided | admissibility decisions of the PBH reference that differ from the exact oracle | max abs difference of the largest mode modulus, PBH reference against the exact oracle, models both find inadmissible | admissibility decisions of the prototype's cancellation that differ from the exact oracle | max abs difference of the largest mode modulus, prototype's roots after cancellation against the exact oracle, models both find inadmissible | models with a shared factor of theta and phi that is not a product of Phi_n, n dividing a lag, with a root in |B| <= 1 | models whose cancelled MA degree differs from the prototype's | | r1 | perlag | 3242 | 0 | 3164 | 0 | 0 | 78 | 0 | 0 | 4.21885e-15 | | | 0 | | | r2 | cancel | 500 | 0 | 500 | 0 | 8 | 0 | 0 | 0 | 4.66294e-15 | 0 | 4.39426e-13 | 0 | 0 | | r3 | stepdown | 575 | 0 | 575 | 0 | 8 | 0 | 0 | | | 0 | 6.58518e-12 | 0 | 0 | | r4 | cpp | 800 | 0 | 797 | 0 | 8 | 3 | 0 | | | 0 | 5.20488e-10 | 0 | 0 | | r5 | examples | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | r6 | all | 5119 | 0 | 5038 | 0 | 24 | 81 | 0 | 0 | 4.66294e-15 | 0 | 5.20488e-10 | 0 | 0 | E25.T2 The 575 models of PL4 and PL5 (MA degree up to 535 before cancellation): step-down decisions of the prototype that differ from the exact oracle; the largest absolute difference of the bisection value from the certified largest mode modulus, over the models that have one; and the degrees. {set: stepdown} | row | set | step-down decisions of the prototype that differ from the exact oracle | max abs difference of the largest mode modulus, prototype's bisection against the exact oracle | models with a bisection value | max degree of theta, exact | max degree of the cancelled MA polynomial, exact | | r1 | stepdown | 0 | 5.7387e-11 | 198 | 535 | 533 | E25.T3 The models of PL1 and PL2 (3042 ETS(A,N,A) grid models, 200 GUM models with lags (1, 12)): the counts of C1 and C2 with the exact oracle in place of the PBH reference and the band of 1e-8. {set: perlag} | row | family | models accepted by the per-lag check that do not forget their initial states, exact oracle | models rejected by the per-lag check that forget their initial states, exact oracle | models accepted by the per-lag check | models of the family | | r1 | ETS(A,N,A) | 1482 | 0 | 3042 | 3042 | | r2 | GUM | 10 | 1 | 193 | 200 | E25.T4 The models in the edge band, by set and family (run AC5.RN9): their number, the largest distance of the certified largest mode modulus from 1, those with roots proved on the unit circle, and those whose decision by the method of the original test (the PBH reference for perlag, the prototype's cancellation for cpp) differs from the oracle's, with the largest modulus difference. | row | set | family | models in the edge band | max distance of the certified largest mode modulus from 1, edge models | edge models with roots proved on the unit circle | edge models whose decision differs from the exact oracle | max abs difference of the largest mode modulus against the exact oracle, edge models | | r1 | perlag | ETS(A,N,A) | 78 | 4.44089e-16 | 2 | 6 | 2.44249e-15 | | r2 | cpp | ETS high degree | 3 | 6.89469e-09 | 0 | 0 | 3.70814e-14 | E25.T5 The examples of C10 and C11 (run AC5.RN9): the certified largest mode modulus, its difference from the PBH reference and from the prototype's roots after cancellation, and the exact degrees of theta, of the shared cyclotomic factor and of the gcd of theta and phi. | row | model | largest mode modulus, exact oracle (theta_G) | abs difference of the largest mode modulus, PBH reference against the exact oracle | abs difference of the largest mode modulus, prototype's roots after cancellation against the exact oracle | degree of theta, exact | degree of the shared cyclotomic factor, exact | degree of the exact gcd of theta and phi | | r1 | ETS(A,N,A,A), alpha=0.3, gamma=(0.1,0.05) | 0.999997 | 1.66533e-15 | 1.11022e-16 | 193 | 25 | 25 | | r2 | GUM start, orders (2,2), lags (1,12) | 0.982937 | 7.77156e-16 | 2.22045e-16 | 26 | 14 | 14 | parameters: A19 LIMITATIONS L1 [analytic_flexibility; affects C1; reduces_transferability; mitigation partial] The 3042 ETS(A,N,A) models of the planned test of the per-lag check form the same fixed grid as exploratory run RN3, whose result prompted the hypothesis; only the 200 GUM models of that test were new data. L2 [measurement; affects C1, C2, C3, C10, C11, C16; could_reverse; mitigation addressed] The PBH reference and the cyclotomic cancellation were written by the same agent and share the lag-1 expansion code and numpy's LAPACK eigenvalue routines. ARTEFACTS A1 [code] numpy prototype of the admissibility check of pure additive lagged SSOE models: lag-1 expansion, the per-lag check of smoothEigens(), the PBH reference, ARIMA-form polynomials by inverse DFT, cyclotomic cancellation, step-down test and bisection; ETS and GUM model builders A3 [code] test script: per-lag check against the PBH reference, cancellation against the PBH reference, step-down decisions and bisection against roots, on seeded random model sets A18 [data] Every result of the lab record at full precision, one row per result: the lab result, the run that produced it, the quantity, its conditions (JSON) and the value. A19 [code] The exact oracle of the contributor P5 (with test_oracle.py and, from commit e4963c49, edge_report.py in the same folder): exact theta, phi, gcd and cyclotomic cancellation over the rationals, certified root enclosures with python-flint 0.9.0, and the comparison with the prototype's values. A20 [code] Draws the models of the planned tests PL1-PL6 as confirm.py and cpp_check.py do and writes them, with the prototype's values for each, to models.json (lab runs RN57-RN61). REFERENCES B1 10.1007/978-3-540-71918-2 (doi) B2 10.1016/0047-259X(73)90030-4 (doi) B3 10.32614/CRAN.package.smooth (doi) HOW TO CITE This claim: Svetunkov, I. (guarantor) (2026). Claim C1, in: Admissibility of lagged state space models through the ARIMA form of the whole model. EntryLib. entrylib:2026.000002@v3#C1. https://entrylib.org/p/2026.000002/C1 The claimset it is from: Svetunkov, I. (guarantor) (2026). Admissibility of lagged state space models through the ARIMA form of the whole model. EntryLib. entrylib:2026.000002@v3. https://entrylib.org/p/2026.000002@v3