Local Characteristic Residual Gating
Implementation & benchmark of arXiv:2607.09293 — Fifth-Order Well-Balanced Path-Conservative A-WENO Scheme for the Ripa Model
Source paper: Fifth-Order Well-Balanced Path-Conservative A-WENO Scheme for the Ripa Model arXiv:2607.09293 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Transform local neural residuals into the Ripa model's characteristic coordinates before spatial aggregation, apply a mode-dependent gate based on neighboring characteristic jumps, and transform back. This lets the model damp oscillatory acoustic or equilibrium-mode corrections near discontinuities without globally smoothing every feature.
Formulas
Mathematical statement
For the x-direction equilibrium-variable system, the paper gives a complete eigenbasis \(Q^x(\bm U)\) and inverse satisfying \([Q^x(\bm U)]^{-1}C^x(\bm U)Q^x(\bm U)\) diagonal. Here \(q^x=hu\), \(c=\sqrt{h\theta}\), and \(\theta>0\). The basis is \(Q^x=\begin{pmatrix}0&0&-q^x/(2\theta)&c/\theta&-c/\theta\\0&0&0&1&1\\0&1&0&0&0\\0&0&1&0&0\\1&0&0&0&0\end{pmatrix}\), with inverse rows \((0,0,0,0,1)\), \((0,0,1,0,0)\), \((0,0,0,1,0)\), \((\theta/(2c),1/2,0,-q^x/(4c),0)\), and \((-\theta/(2c),1/2,0,-q^x/(4c),0)\). For a local five-channel residual \(r\), define characteristic coefficients \(a=[Q^x(U)]^{-1}r\), calculate normalized jumps between adjacent characteristic coefficients, and use a bounded gate \(g_m\) to obtain \(r_{\rm gated}=Q^x(U)(g\odot a)\). The y-direction basis is identical after replacing \(q^x\) with \(q^y=hv\).
Implementation notes
(1) Integration point: insert the gate immediately before spatial aggregation or the update head of a 1-D graph neural operator. For each neighboring pair \((j,j+1)\), form the five-channel residual r = H[j+1] - H[j], where H is either the equilibrium-variable feature tensor or a learned five-channel projection of the hidden state. Compute local \(h,q,\theta\), set c=sqrt(h*theta), and construct \(Q^x\) and its inverse from the displayed formulas. (2) Pseudocode: r = H[j+1]-H[j]; Q = build_Q(q,theta,c); a = invQ @ r; s = abs(a_right-a_left)/(abs(a_right)+abs(a_left)+eps); g = 1/(1+alpha*s); r_gated = Q @ (g*a); message = MLP(concat(r_gated,H[j],H[j+1])). For vertical edges use the same construction with \(q^y=hv\). Initially detach Q and g from autograd to avoid unstable gradients through near-dry states; clamp \(h,\theta\ge10^{-6}\). (3) The paper determines the characteristic basis and its mode interpretation; \(\alpha\), \(\varepsilon\), the projection from hidden channels, and the message MLP are empirical design choices. Compare rational gating with no gate and with a scalar total-variation gate. (4) First experiment: train a small graph neural operator on 1-D dam-break and moving-shock data generated by a high-resolution finite-volume solver. Use equal parameters and optimizer settings for the baseline and gated models. Measure overshoot and undershoot near shocks, total variation, rollout divergence, and negative-depth failures. Success means fewer oscillations and invalid states without materially increasing shock width, or stable prediction at a larger integration timestep.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Significant win ✓
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 7/10
Built a readable characteristic residual gating experiment with Q/Q^{-1}, bounded jump-based gates, and scalar-TV/no-gate controls. The algebraic inverse of the displayed Q achieved max identity error 2.3e-13, while the literal inverse in the idea has large errors (max 2.3e3), so the implementation uses the corrected opposite-sign acoustic terms. In the fixed toy signal, characteristic gating reduced acoustic RMS by 66.7% versus 23.6% for scalar TV gating and lowered total MSE to the clean signal from 0.001524 to 0.000184, but this is only a synthetic residual test.
- Agent confidence
- 7/10
- Baseline
- No gate: acoustic RMS 0.061725; suppression 0%; total MSE 0.001524; mean gate 1.0.
- Idea
- Characteristic gate, alpha=2: acoustic RMS 0.020581; suppression 66.66%; total MSE 0.0001843; mean acoustic gate 0.4018 and equilibrium-channel gate 0.9425; gate range [0.3333, 0.99997]. Scalar-TV control: acoustic RMS 0.047161; suppression 23.60%; total MSE 0.004332.
Limitations: No learned graph neural operator, finite-volume dam-break solver, PDE rollout, shock-width, timestep-stability, negative-depth, FLOP, or wall-clock comparison was tested. The experiment uses synthetic characteristic residuals rather than physical equilibrium-variable states. The authoritative inverse formula appears internally inconsistent with its Q matrix; the code reports both the literal failure and corrected-inverse result.
How to run: python3 characteristic_gate_experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.09293)
Beats the tuned baseline by 54.0% (p=0.0081, wins 8 / 8 paired seeds; metric: lower is better).
- Benchmark
- Local_shock_characteristic
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 0.0038
- Idea mean
- 0.0018
- Effect (Δ)
- -0.0021 (−54.0%; negative = idea better)
- Wins
- 8 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±13.1%
- Mechanism
- Confirmed ✓
- Practical effect
- Helps
- Baseline tuning
- swept over 3 configs
The benchmark uses a small synthetic one-step local PDE surrogate with a registered custom track. It does not test a high-resolution finite-volume dam-break solver, long-horizon rollout divergence, shock width, negative-depth failures, timestep stability limits, wall-clock speed, FLOPs, or generalization to a separate physical PDE family.
How to run: python3 stage2_bench.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Worked ✓
Agent confidence: 8/10
Implemented Local Characteristic Residual Gating on the registered custom PDE track local_shock_characteristic using matched end-to-end mlp_tiny systems. The idea reduced mean test MSE from 0.00382520 to 0.00176110, with all 8 paired seeds improving and permutation p=0.0081; the trained-model residual-energy signature also confirmed the predicted damping mechanism. This remains evidence on a small synthetic one-step PDE surrogate, not a full finite-volume shock-rollout benchmark.
- Baseline
- Tuned no-gate baseline, lr=0.01: mean MSE 0.003825201274594292, std 0.0005842251285976379; per-seed [0.0037032742984592915, 0.004018085543066263, 0.00398260960355401, 0.005000452045351267, 0.003473947523161769, 0.003305204212665558, 0.002951973583549261, 0.004166063386946917].
- Idea
- Characteristic gate, selected lr=0.01 alpha=1.0: mean MSE 0.0017611028160899878, std 0.0002040852129581439; per-seed [0.0017537641106173396, 0.0017673540860414505, 0.0015747904544696212, 0.001804820611141622, 0.0014342450303956866, 0.0017936605727300048, 0.0017648270586505532, 0.002195360604673624].
Benchmark result
Beats the tuned baseline by 54.0% (p=0.0081, wins 8 / 8 paired seeds; metric: lower is better).
- Benchmark
- Local_shock_characteristic
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 0.0038
- Idea mean
- 0.0018
- Effect (Δ)
- -0.0021 (−54.0%; negative = idea better)
- Wins
- 8 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±13.1%
- Mechanism
- Confirmed ✓
- Practical effect
- Helps
- Baseline tuning
- swept over 3 configs
The benchmark uses a small synthetic one-step local PDE surrogate with a registered custom track. It does not test a high-resolution finite-volume dam-break solver, long-horizon rollout divergence, shock width, negative-depth failures, timestep stability limits, wall-clock speed, FLOPs, or generalization to a separate physical PDE family.
How to run: python3 stage2_bench.py
Artifacts
- bench_report.json 4.0 KB View Raw
- characteristic_gate_experiment.py 4.2 KB View Raw
- pde_local_track.py 1.8 KB View Raw
- report.md 1.7 KB View
- report_bench_2026-09-04T205050.md 6.4 KB View
- results.json 1.7 KB View Raw
- stage2_bench.py 5.2 KB View Raw