Bilinear Input-Conditioned Koopman Cell
Implementation & benchmark of arXiv:2607.01819 — Koopman operator theory: fundamentals, control, and applications
Source paper: Koopman operator theory: fundamentals, control, and applications arXiv:2607.01819 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace an unconstrained input-conditioned recurrent transition with a bilinear latent update, so controls modulate a fixed linear latent dynamics matrix through low-rank state-input interactions. The resulting cell preserves the computational simplicity of linear propagation while representing multiplicative effects of actions that an additive control term cannot capture efficiently.
Formulas
Mathematical statement
The paper derives finite-dimensional linear and bilinear Koopman forms for controlled systems. In the displayed bilinear case, the lifted state \(z=[x_1,x_2,x_1^2,1]^{\top}\) evolves as \(z^{+}=Az+Bzu\), where \(A=\begin{bmatrix}a&0&0&0\\0&c&d&h\\0&0&a^2&0\\0&0&0&1\end{bmatrix}\) and \(B=\begin{bmatrix}0&0&0&0\\e&0&0&f\\0&0&0&0\\0&0&0&0\end{bmatrix}\). The symbols a, c, d, h, e, and f are scalar system coefficients and u is the control input. Generalize this structure to a learned latent vector \(z_t\in\mathbb{R}^m\) and action \(u_t\in\mathbb{R}^p\): \(z_{t+1}=Az_t+\sum_{j=1}^{p}u_{t,j}B_jz_t+Du_t+b\). The bilinear term is the transferable asset: it represents action-dependent changes in latent dynamics with parameter cost \(O(pm^2)\), or \(O(prm)\) with rank-r factors \(B_j=U_jV_j^{\top}\).
Implementation notes
Use this as the transition cell in a model-predictive world model, controlled SSM, or action-conditioned recurrent predictor. Encode observation x_t into z_t in R^m. Store a base matrix A, action matrix D, bias b, and either dense B_j matrices or rank-r factors U_j in R^{m x r}, V_j in R^{m x r}. At every step compute q_j=V_j^T z_t, multiply each q_j by the scalar action u_{t,j}, map through U_j, sum across j, and update z_next=A z_t+sum_j u_{t,j} U_j q_j+D u_t+b. Decode z_next to predict the next observation. Train with multi-step teacher-forced and free-running rollout losses; optionally constrain A's spectral radius by parameterizing A=rho*tanh(S)/max(1,sigma_max(S)) with rho<1, while leaving the bilinear term expressive. Pseudocode: z=encoder(x); for t in horizon: interaction=0; for j in range(p): interaction += u[j]*U[j]@(V[j].T@z); z=A@z+interaction+D@u+b; prediction=decoder(z); accumulate loss. The paper supplies the bilinear structure; rank r, spectral constraint, and losses are empirical choices. Begin with m=32, r=4, and 2-4 actions on a simulated pendulum, CartPole, or MuJoCo task. Compare against an equal-parameter MLP transition and an additive linear model. Track rollout MSE, control reward under MPC or model-predictive planning, parameter count, and wall-clock cost. Success means materially lower long-horizon prediction error or higher planned control reward than additive dynamics, with no instability and lower cost than the MLP baseline.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Inconclusive
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 9/10
Built a deterministic bilinear Koopman-style controlled predictor and compared it with an additive linear transition on a system containing an action-state interaction. The paper matrix identity held to 3.6e-15 maximum absolute error; the bilinear model recovered the planted coefficients and achieved essentially zero held-out 24-step rollout error, versus additive RMSE 0.0564. This clearly demonstrates the claimed multiplicative-effect advantage on the toy system, though it does not establish performance on noisy high-dimensional world models.
- Agent confidence
- 9/10
- Baseline
- Additive linear: one-step MSE 0.0054615; 24-step held-out rollout MSE 0.00318596, RMSE 0.05644; 3 parameters.
- Idea
- Bilinear feature model: one-step MSE 4.04e-32; 24-step held-out rollout MSE 3.48e-32, RMSE 1.86e-16; 4 parameters. Matrix identity maximum error 3.55e-15.
Limitations: Only a scalar, noiseless synthetic plant was tested, with offline least-squares fitting and one action dimension. No neural encoder/decoder, rank-constrained latent implementation, stability constraint, training-cost comparison, MPC reward, noise robustness, or CartPole/pendulum benchmark was evaluated.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.01819)
Ahead of the baseline (−24.6%) but not statistically significant (p=0.0991, wins 6 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- custom_bilinear_vs_additive
- Paired seeds
- 8
- Baseline mean
- 0.002
- Idea mean
- 0.0015
- Effect (Δ)
- -0.0005 (−24.6%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.0991 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
Only the built-in dynamics track was tested. Dense bilinear factors, spectral constraints, multi-step free-running loss, MPC reward, and additional control environments were not evaluated.
How to run: python3 bench_experiment.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 9/10
Built and tested a rank-4 bilinear input-conditioned recurrent cell on the structurally matched actuated-pendulum dynamics track. It reduced mean MSE from 0.0020132 to 0.0015174 with 6/8 paired wins and confirmed an action-dependent trained-model signature, but the paired permutation p-value was 0.0991, so there is no significant win.
- Baseline
- mean test MSE 0.0020132122, std 0.0006065339, lr=0.01, epochs=18, 8 seeds
- Idea
- mean test MSE 0.0015174268, std 0.0001158377, rank=4, lr=0.01, epochs=18, 8 seeds
- Paired delta
- -0.0004957854
- Permutation p
- 0.0991
Benchmark result
Ahead of the baseline (−24.6%) but not statistically significant (p=0.0991, wins 6 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- custom_bilinear_vs_additive
- Paired seeds
- 8
- Baseline mean
- 0.002
- Idea mean
- 0.0015
- Effect (Δ)
- -0.0005 (−24.6%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.0991 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
Only the built-in dynamics track was tested. Dense bilinear factors, spectral constraints, multi-step free-running loss, MPC reward, and additional control environments were not evaluated.
How to run: python3 bench_experiment.py
Artifacts
- bench_experiment.py 3.3 KB View Raw
- bench_report.json 3.5 KB View Raw
- experiment.py 3.4 KB View Raw
- report.md 1.4 KB View
- report_bench_2026-09-04T173728.md 3.3 KB View
- results.json 0.7 KB View Raw