cert-machine · report · the record is re-derived at every build
Monotone, and provably not a gradient
The monotone flow is how the Gomes school computes stationary mean-field games: an operator that is monotone in the sense of Lasry and Lions, so a contracting flow finds its zero. This page puts two certificates on the same equilibrium. The first says the linearised operator is monotone exactly when the coupling is non-negative, and it is one line. The second says the flow is not a gradient flow under any Riemannian metric near that equilibrium, because its Jacobian has a non-real eigenvalue pair, enclosed. Monotone operator theory is needed here because energy descent is not available. Where every eigenvalue reached is real, the page says not decided and claims nothing.
tl;dr
The finding. At five certified equilibria of the quadratic stationary MFG, three monotone and two on the herding branch, the Jacobian of the monotone flow has a certified eigenvalue with Im μ between 4.41 and 17.97, so the flow is not a gradient flow for any metric. At the same equilibria the Lasry–Lions form evaluated from the same Jacobian is c/2 at δm = cos 2πx, as the theory says.
The mechanism. A finite-dimensional Krawczyk box for the Galerkin equilibrium; the interval Jacobian of the flow over that box; a second Krawczyk box for an eigenpair, with the imaginary part enclosed away from zero. A gradient flow's Jacobian is similar to a symmetric matrix at an equilibrium, so a non-real pair excludes every metric and energy at once.
Check it.node instruments/monoflow/battery.js (16 checks, 5 red controls, under a second) re-derives the record and compares it byte for byte; the control at A = 0 must contain the closed-form eigenvalue.
not a gradient flow
5 of 7
C1, M1, M2 (monotone) and H1, H2 (herding): a certified non-real pair each
not decided
2 of 7
R1 (σ = 0.3, c = 2) and H0 (constant, c = −12): every eigenvalue reached is real; nothing claimed
the control
closed form inside
at the constant solution the mode-1 eigenvalue has a formula; the certified pair contains it
the form
c/2, every instance
⟨DA v, v⟩ = c∫δm² + ∫m(δu')², checked from the assembled Jacobian at δm = cos 2πx
radii
≤ 2e-12
Galerkin box; the PDE enclosure of the same candidate by validate.js is ≤ 2e-11
falsifiers
MUST REFUSE
a symmetric matrix, a candidate moved 0.5, a wrong σ in the closed form, a perturbed equilibrium, a flipped coupling sign
§1 · the flow
What the monotone flow is
The model is the quadratic stationary mean-field game of the observatory on the torus, with coupling c and potential A cos 2πx:
−σ u″ + ½ (u′)² + ρ = c m + A cos 2πx, −σ m″ − (m u′)′ = 0, ∫m = 1, ∫u = 0, m > 0
Lasry and Lions read it as the zero of one operator on the pair (m, u), paired in L²:
A(m, u) = ( c m + V + σ u″ − ½ (u′)² , −σ m″ − (m u′)′ )
and Almulla, Ferreira and Gomes (§2.6) run the flow (ṁ, u̇) = −A(m, u), with the zero mode held so that mass and mean are preserved. Because A is monotone, the flow contracts in L² and its limit is the equilibrium. The chapter by Ferreira, Gomes and Tada is the survey of that method. Everything below is about this flow on the even Fourier–Galerkin space of order N, the same truncation the lab's certificates live in.
§2 · certificate 1
Monotone, in one exact line
Linearise A at any pair with m > 0 and pair the result with the direction itself. Two integrations by parts on the torus cancel every cross term, and what remains is
⟨DA(m,u)(δm, δu), (δm, δu)⟩ = c ∫ δm² + ∫ m (δu′)²
So the linearised operator is positive semidefinite exactly when c ≥ 0. That is the Lasry–Lions condition, and it is decided by inspection, not by computation. For c < 0 the direction δm = cos 2πx, δu = 0 is an exact negative witness with value c/2. The instrument evaluates the form from the interval Jacobian it assembles at every instance and requires c/2 back: C1 → 0.5000, M1 → 0.5000, M2 → 0.5000, R1 → 1.0000, H1 → -6.0000, H2 → -6.0000, H0 → -6.0000. That is a check on the assembly, and the page calls it one.
Two walls on the coupling axis are different things. c = 0 is where monotonicity ends. c* = −σ²(2π)² = −9.87 is where the constant solution's linearisation becomes singular and two more solutions are born, which is the multiplicity theorem. Between them, for −9.87 < c < 0, the operator is not monotone and the constant solution is still the only one enclosed.
§3 · certificate 2
Not a gradient flow, under any metric
A gradient flow with respect to a Riemannian metric G and an energy E is ż = −G(z)⁻¹∇E(z). At an equilibrium its Jacobian is −G⁻¹ Hess E, which is similar to −G^{−½} Hess E G^{−½}, a symmetric matrix. Its spectrum is real. So if the Jacobian of a flow at an equilibrium has one non-real eigenvalue, no choice of G and E makes the flow a gradient flow near that point. This is elementary, and it is the whole argument.
The equilibrium, enclosed. A Krawczyk box for the Galerkin system in the (ρ, p, b) variables of the lab's validator, from the same float candidate the lab certifies; radius at most 2.0e-12. The same candidate is also enclosed as a solution of the PDE by validate.js, so both radii are on the page.
The Jacobian, over the box. The flow's Jacobian in the (m, u) coefficients, every entry an interval over the equilibrium box, assembled from the validator's own Jacobian rows so that a rule defined twice cannot diverge.
The eigenpair, enclosed. A float eigenpair by complex inverse iteration from the closed-form mode as the shift; then a second Krawczyk box on the 2n+2 real unknowns (the vector, real and imaginary parts, and μ), with the phase fixed by one component. The imaginary part of μ comes back as an interval; the certificate requires it not to contain zero.
At the constant solution everything is a formula. Per Fourier mode k with λ = (2πk)² the block is [[−c, σλ],[−σλ, −λ]], with eigenvalues ½(−(c + λ) ± √((c − λ)² − 4σ²λ²)), non-real exactly when λ(1 − 2σ) < c < λ(1 + 2σ). For σ = ½ that window is 0 < c < 2λ, so at c = 1 every mode is a non-real pair; for σ = 0.3 and c = 2 no mode is, which is why R1 comes back real and undecided.
Figure 1 · The complex plane. Solid marks: the five certified eigenvalues, each an interval box too small to draw, at the non-constant equilibria M1, M2 and the herding branch H1, H2, and at the control C1. Dashed hollow marks: the closed-form modes of the constant solutions at c = 1 and c = −12. Ticks on the real axis: the real eigenvalues reached on R1 and H0, floats, undecided.
Figure 2 · Where the constant solution's modes go non-real, by the closed form: the window λ_k(1 − 2σ) < c < λ_k(1 + 2σ) on the coupling axis. For σ = ½ it starts at c = 0, so monotone and non-gradient coincide on the whole positive axis; for σ = 0.3 it starts at 15.8, leaving R1 at c = 2 real. The instances and the pitchfork c* are marked.
§4 · the instances
Seven equilibria, seven verdicts
Three monotone equilibria at c = 1 (the constant control and two potentials), one monotone equilibrium at σ = 0.3, and three at the herding coupling c = −12 of the multiplicity theorem: the constant solution and the symmetry-broken branch with and without a potential. The herding branch is not monotone, and it is not a gradient either.
id
instance
certificate 1
certificate 2
radii (Galerkin · PDE)
C1
(σ, c, A) = (0.5, 1, 0)
monotone (c ≥ 0)
not a gradient flow · μ ∈ [-20.2392, -20.2392] + i [4.4147, 4.4147]
1.0e-13 · 5.8e-16
M1
(σ, c, A) = (0.5, 1, 1)
monotone (c ≥ 0)
not a gradient flow · μ ∈ [-20.2619, -20.2619] + i [4.5986, 4.5986]
1.0e-13 · 1.6e-15
M2
(σ, c, A) = (0.5, 1, 0.5)
monotone (c ≥ 0)
not a gradient flow · μ ∈ [-20.2449, -20.2449] + i [4.4612, 4.4612]
1.0e-13 · 1.2e-15
R1
(σ, c, A) = (0.3, 2, 1.5)
monotone (c ≥ 0)
not decided · 7 eigenvalues reached, all real
2.0e-13 · 5.6e-15
H1
(σ, c, A) = (0.5, -12, 0), herding branch
not monotone (c < 0, witness c/2 = -6)
not a gradient flow · μ ∈ [-17.1340, -17.1340] + i [17.9650, 17.9650]
2.0e-12 · 1.6e-11
H2
(σ, c, A) = (0.5, -12, 0.5), herding branch
not monotone (c < 0, witness c/2 = -6)
not a gradient flow · μ ∈ [-19.7953, -19.7953] + i [17.0381, 17.0381]
1.9e-12 · 4.4e-12
H0
(σ, c, A) = (0.5, -12, 0)
not monotone (c < 0, witness c/2 = -6)
not decided · 6 eigenvalues reached, all real
1.2e-12 · 7.2e-15
H0 deserves its own sentence. At the constant solution with c = −12 the closed form gives a real spectrum with one positive eigenvalue, 2.780: the monotone flow leaves the constant state, which is exactly why the flow finds the symmetry-broken branch H1 in that regime and why the multiplicity page had to enter that branch by continuation rather than by Newton from the constant.
§5 · the honest boundary
What is claimed, and what is not
Claimed. At C1, M1, M2, H1, H2: the flow Jacobian at the enclosed Galerkin equilibrium has an eigenvalue with Im μ enclosed away from zero, so the flow is not a gradient flow under any Riemannian metric near that equilibrium, on the Galerkin space of the order recorded. The Lasry–Lions form returns c/2 at the witness direction on every instance.
Not claimed. Anything at R1 or H0: a real spectrum reached by iteration is not a proof of a real spectrum, and a real spectrum would not prove a gradient structure. Any statement about the infinite-dimensional flow: the theorem is finite-dimensional, at the order N the lab certifies at, and the PDE enclosure of the same candidate is reported beside it for scale.
Not new. That forward–backward MFG systems are not gradient flows is structure, not discovery; potential MFGs are variational in the saddle sense, which is a different thing. Monotonicity itself is decided by the one-line form. What is new is narrow: the pair is certified, at an enclosed equilibrium, in interval arithmetic, with a falsifier on each step. The literature gate is instruments/monoflow/FINDINGS_LIT.md.
Why it matters to the method. A monotone flow that were secretly a gradient flow would admit an energy and its whole convergence theory would be Lyapunov's. The certificate says the monotone-operator route is not a disguised descent at these equilibria: the machinery is needed.
§6 · check it
Under a second on your machine
node instruments/monoflow/battery.js # re-derives the record, 16 checks, 5 red controls
node instruments/monoflow/run.js --check # the record, re-derived and compared byte for byte
The record is certs/monoflow-spectrum.json; it carries the sha256 of the code that made it and the float candidates, so every box can be re-opened.
references
Sources
Noha Almulla, Rita Ferreira, Diogo Gomes, Two Numerical Approaches to Stationary Mean-Field Games, Dynamic Games and Applications 7(4) 657–682 (2017), doi:10.1007/s13235-016-0203-5 — §2.3 the monotone operator, §2.6 the monotone flow.
Rita Ferreira, Diogo Gomes, Teruo Tada, An introduction to monotonicity methods in mean-field games, arXiv:2502.20091 (2025).
J.-M. Lasry, P.-L. Lions, Mean field games, Jpn. J. Math. 2 (2007) 229–260 — the monotonicity condition.