Riccati State Space Models: Non-iterative Parallelization for Nonlinear Sequence Modeling
Organizations: TU Wien · MIT CSAIL · Liquid AI
Abstract
State space models (SSMs) achieve efficient sequence processing because their affine state updates are closed under composition and can therefore be evaluated with an associative parallel scan. Nonlinear recurrent models can provide richer, state-dependent dynamics, but generally lose this compositional structure: parallel evaluation then requires iterative methods that repeatedly linearize and scan the recurrence. We ask, what state-dependent nonlinear dynamics can be designed to remain exactly composable? We answer by introducing RiccatiSSM, a nonlinear SSM, in which each state dimension follows an input-conditioned Riccati differential equation. Its quadratic state dependence makes the local Jacobian explicitly state-dependent, while its exact per-step flow under piecewise-constant inputs is a Möbius transformation. Since Möbius maps are closed under composition and compose through matrix multiplication, the complete nonlinear state trajectory can be evaluated exactly with a single associative parallel scan, without iterative linearization. We further derive a constrained parameterization that ensures bounded, contractive dynamics, and avoids poles in the fractional-linear state update. Across long-sequence classification, regression, and forecasting tasks, RiccatiSSM achieves competitive predictive performance while reducing runtime by compared to the nonlinear LrcSSM under matched architectures. These results demonstrate that state-dependent nonlinear dynamics can retain exact composability and be evaluated efficiently within a single parallel scan.
Figures & tables
| DEER/ELK-based models | RiccatiSSM | |
| Dynamics | any | Riccati: |
| Scan element | affine ( , the state Jacobian) | fractional-linear, |
| Composition | approximate (per iteration) | exact |
| Sweeps per layer | until convergence ( , data-dependent) | , fixed |
| Depth per layer | ||
| Work per layer |
| Heart | SCP1 | SCP2 | Ethanol | Motor | Worms | |
| Sequence length | 405 | 896 | 1,152 | 1,751 | 3,000 | 17,984 |
| Input size | 61 | 6 | 7 | 2 | 63 | 6 |
| #Classes | 2 | 2 | 2 | 4 | 2 | 5 |
| Transformer ‡ | 70.5 0.1 | 84.3 6.3 | 49.1 2.5 | 40.5 6.3 | 50.5 3.0 | OOM |
| RFormer ‡ | 72.5 0.1 | 81.2 2.8 | 52.3 3.7 | 34.7 4.1 | 55.8 6.6 | 90.3 0.1 |
| NRDE † | 73.9 2.6 | 76.7 5.6 | 48.1 11.4 | 31.4 4.5 | 54.0 7.8 | 77.2 7.1 |
| Model | MSE ( ) |
|---|---|
| NRDE † ( Morrill et al., 2021 ) | 9.90 0.97 |
| NCDE † ( Kidger et al., 2020 ) | 13.54 0.69 |
| Log-NCDE † ( Walker et al., 2024 ) | 9.56 0.59 |
| LRU † ( Orvieto et al., 2023 ) | 12.17 0.49 |
| S5 † ( Smith et al., 2023 ) | 12.63 1.25 |
| LinOSS-IMEX † ( Rusch and Rus, 2025 ) | 7.50 0.46 |
| Model | Mean Absolute Error ( ) |
|---|---|
| Informer † ( Zhou et al., 2021 ) | |
| LogTrans † ( Li et al., 2019 ) | |
| Reformer † ( Kitaev et al., 2020 ) | |
| LSTMa † ( Bahdanau et al., 2014 ) | |
| LSTnet † ( Lai et al., 2018 ) | |
| S4 † ( Gu et al., 2022 ) |
| Model | Input-dependent coefficients | MSE ( ) |
|---|---|---|
| RiccatiSSM (ours) | ||
| ablation | ||
| Reduced input dependence | ||
| RiccatiSSM (LRC-tied) | LRC Taylor-matched |
Appendix figures & tables5 assets
Supplementary material from the paper’s appendix.
Appendix
| Factor isolated | Comparison | Relative RMSE |
|---|---|---|
| Truncation effect (Exact integration) | RiccatiSSM-ZOH vs. LrcSSM-RK4 | |
| Truncation effect (Euler integration) | RiccatiSSM-Euler vs. LrcSSM-Euler | |
| Integrator choice LrcSSM | LrcSSM-Euler vs. LrcSSM-RK4 |
| lr | hidden dim. | state-space dim. | number of layers | |
|---|---|---|---|---|
| Heart | 64 | 64 | 4 | |
| SCP1 | 64 | 16 | 6 | |
| SCP2 | 16 | 16 | 2 | |
| Ethanol | 64 | 16 | 6 | |
| Motor | 16 | 256 | 4 | |
| Worms | 16 | 16 | 4 |
| NRDE | NCDE | Log-NCDE | LRU | S5 | Mamba | S6 | LinOSS-IMEX | LinOSS-IM | LrcSSM | RiccatiSSM | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Heart | 9539 | 1177 | 826 | 8 | 11 | 34 | 4 | 4 | 7 | 23 | 21 |
| SCP1 | 1014 | 973 | 635 | 9 | 17 | 7 | 3 | 42 | 38 | 12 | 33 |
| SCP2 | 1404 | 1251 | 583 | 9 | 9 | 32 | 7 | 55 | 22 | 15 | 12 |
| Ethanol | 2256 | 2217 | 2056 | 16 | 9 | 255 | 4 | 48 | 8 | 15 | 26 |
| Motor | 7616 | 3778 | 730 | 51 | 16 | 35 | 34 | 128 | 11 | 31 | 27 |
| Worms | 5386 | 24595 | 1956 | 94 | 31 | 122 | 68 | 37 | 90 | 33 | 23 |