Null-space conservation projection
Implementation & benchmark of arXiv:2607.12759 — A Structure-Preserving Method of Fundamental Solutions for the Multi-Phase Mullins-Sekerka Flow
Source paper: A Structure-Preserving Method of Fundamental Solutions for the Multi-Phase Mullins-Sekerka Flow arXiv:2607.12759 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Add an exact linear-constraint projection to the output solve of a neural operator or physics-informed model. The network produces an unconstrained prediction or coefficient vector, while a small constrained least-squares layer removes the component violating known conservation laws and separately penalizes residuals that cannot be enforced exactly.
Formulas
Mathematical statement
The paper solves a weighted constrained least-squares problem, $$\min_{\vec q\in\mathbb R^{n_{unk}}}\{\|A_1\vec q-\vec b_1\|_2^2+\lambda_D W_D^2\|D\vec q\|_2^2\ \mid\ C\vec q=\vec 0\},$$ where $\vec q$ is the unknown coefficient vector, $A_1\vec q\approx\vec b_1$ are the primary interface equations, $D\vec q$ is a secondary flux-balance residual, $\lambda_D\geq0$ is its penalty weight, $W_D$ rescales that residual, and $C\vec q=0$ contains one exact area constraint per bounded phase. Let $H=A_1^ op A_1+\lambda_DW_D^2D^ op D+\epsilon I$ and $g=A_1^ op b_1$, with $\epsilon>0$ for conditioning. The unconstrained solution is $q_0=H^{-1}g$. Its minimum-norm correction is $$q=q_0-C^\top(CC^\top+\epsilon_CI)^{-1}Cq_0,$$ which gives $Cq\approx0$. Equivalently, solve the KKT system $$\begin{bmatrix}H&C^\top\\C&0\end{bmatrix}\begin{bmatrix}q\\\mu\end{bmatrix}=\begin{bmatrix}g\\0\end{bmatrix}.$$ Here $C\in\mathbb R^{m imes n}$ maps coefficients or grid values to $m$ conserved quantities. For a mass-conserving field with quadrature weights $\omega_j$, a constraint row is $C_j=\omega_j$ and the target equation is $Cq=M_0$; subtracting a reference state converts it to the paper's homogeneous form.
Implementation notes
(1) Integration point: use this as a differentiable output layer in a neural operator, PINN, or graph neural simulator. Let the network emit coefficients $z_\theta$ for a basis expansion $u(x)=\Phi(x)z_\theta$, or directly emit a grid field. Build $C$ from known quadrature weights, stoichiometric balances, total probability, divergence-free flux constraints, or per-component conserved masses. Put the main PDE or data residual in $A_1$ and auxiliary consistency residuals in $D$; do not enforce those secondary rows exactly. (2) Pseudocode: compute network output $z$; assemble or cache $A_1,D,C,b_1$; set $H=A_1^TA_1+\lambda_DW_D^2D^TD+\epsilon I$ and $g=A_1^Tb_1$; solve $q_0=H^{-1}g$; then compute $q=q_0-C^T(CC^T+\epsilon_CI)^{-1}(Cq_0-M)$ for target invariant vector $M$; decode $u=\Phi q$; backpropagate through the linear solve. Use QR or SVD for the small constraint system instead of explicitly forming an inverse. (3) Compute $C$ analytically from the conservation law and quadrature. Estimate conditioning empirically and tune $\lambda_D$; monitor $\|Cq-M\|$ as the hard-invariant metric. (4) First experiment: train a small Fourier neural operator or PINN on a 2-D advection-diffusion or Cahn-Hilliard dataset with known total mass. Compare ordinary residual training, a soft conservation penalty, and the projected layer at equal parameter count and FLOPs. Measure relative mass drift over long rollouts, validation error, gradient explosions, and wall-clock overhead. Success means mass error near solver precision, lower long-horizon rollout error, and improved stability without a large per-step cost increase.
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 8/10
Built a differentiable null-space conservation projection layer and reproducible toy experiment in experiment.py. The mechanism predictions were confirmed: constraint residuals were about 1e-14, homogeneous correction scaling error was 0, and null-space pass-through error was below 5e-16. In the mini-experiment, projection reduced mean mass error to 6.7e-8 and validation MSE to 7.1e-5 versus 2.4e-2 mass error and 1.43e-4 MSE for the unconstrained baseline, at about 1.59x wall-clock time. A key caveat is that the supplied C^T(CC^T)^-1 formula is Euclidean projection and differed substantially from the H-weighted KKT optimum in this test.
- Agent confidence
- 8/10
- Baseline
- Unconstrained: validation MSE 1.427e-4, mean mass error 2.422e-2, max mass error 9.029e-2, 1.10 s
- Idea
- Projected: validation MSE 7.112e-5, mean mass error 6.711e-8, max mass error 2.458e-7, 1.59 s; constraint residual 1.33e-15, homogeneous scaling error 0, null-space error 5.0e-16; Euclidean-vs-H-KKT relative difference 0.576
Limitations: Only a small synthetic vector regression task was tested, not a neural operator, PINN, PDE rollout, GPU execution, multiple random seeds, or large-scale conditioning. The training comparison uses Euclidean target projection and does not implement the H-weighted KKT projection as the training output layer.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.12759)
Beats the tuned baseline by 16.3% (p=0.0149, wins 7 / 8 paired seeds; metric: lower is better).
- Benchmark
- Conservation_field
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 0.0006
- Idea mean
- 0.0005
- Effect (Δ)
- -0.0001 (−16.3%; negative = idea better)
- Wins
- 7 / 8 paired seeds
- p-value
- 0.0149 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Helps
- Baseline tuning
- swept over 3 configs
Only the custom conservation regression track and mlp_tiny architecture were tested. PDE/neural-operator training, long-horizon rollout, H-weighted KKT projection, wall-clock overhead, and a soft conservation-penalty baseline were not tested.
How to run: python3 bench_run.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Worked ✓
Agent confidence: 9/10
Implemented a custom conservation-field benchmark because no built-in track matched the conserved-field structure. The projected mlp_tiny system significantly improved test MSE over the identically trained baseline: paired delta -0.0001047310 with 7/8 wins and permutation p=0.01485. The trained-model mechanism signature was also confirmed, with mean mass residual reduced from 0.0236100 to 1.6987e-08.
- Baseline
- Best lr=0.006; test MSE mean 0.0006425764, std 0.0000655708; mean trained-model mass residual 0.0236100.
- Idea
- Projected output layer, best lr=0.006; test MSE mean 0.0005378455, std 0.0001042356; paired delta -0.0001047310; 7/8 wins; permutation p=0.01485; mean mass residual 1.6987e-08.
Benchmark result
Beats the tuned baseline by 16.3% (p=0.0149, wins 7 / 8 paired seeds; metric: lower is better).
- Benchmark
- Conservation_field
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 0.0006
- Idea mean
- 0.0005
- Effect (Δ)
- -0.0001 (−16.3%; negative = idea better)
- Wins
- 7 / 8 paired seeds
- p-value
- 0.0149 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Helps
- Baseline tuning
- swept over 3 configs
Only the custom conservation regression track and mlp_tiny architecture were tested. PDE/neural-operator training, long-horizon rollout, H-weighted KKT projection, wall-clock overhead, and a soft conservation-penalty baseline were not tested.
How to run: python3 bench_run.py
Artifacts
- bench_report.json 3.8 KB View Raw
- bench_run.py 4.2 KB View Raw
- conservation_track.py 1.0 KB View Raw
- experiment.py 5.1 KB View Raw
- report.md 1.6 KB View
- report_bench_2026-08-31T012908.md 3.9 KB View
- results.json 1.4 KB View Raw