Monotone Singular-Value ICNN Envelope
Implementation & benchmark of arXiv:2607.01055 — Compression of Polyconvex Envelopes of Isotropic Functions via Monotonic Input Convex Neural Networks
Source paper: Compression of Polyconvex Envelopes of Isotropic Functions via Monotonic Input Convex Neural Networks arXiv:2607.01055 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace a generic neural constitutive law or energy model with an ICNN that consumes the positive singular values of a deformation-like matrix and is convex and coordinatewise nondecreasing in those inputs. Train it as a lower approximation to a nonconvex target energy, so the network acts as a computationally cheap sufficient polyconvex-envelope surrogate rather than merely interpolating unstable samples.
Formulas
Mathematical statement
The paper considers the variational energy I(u)=∫_Ω W(∇u) dx, where u:Ω→R^d is a deformation, Ω is the reference domain, and W:R^{d×d}→R∪{∞} is an energy density. For an isotropic matrix energy, write W(F)=g(σ_1(F),...,σ_d(F)), where F∈R^{d×d} and σ_i(F)≥0 are its singular values. The transferable sufficient criterion is that g:R_+^d→R be convex and nondecreasing in every coordinate; this yields a suitable polyconvex candidate, though the criterion is not necessary. Construct g with an input-convex neural network: z_0=x and z_l=φ(A_l z_{l-1}+B_l x+b_l), with elementwise nonnegative A_l and B_l and a convex nondecreasing activation φ. A final affine layer with nonnegative coefficients preserves convexity and monotonicity. For a target energy q(x), penalize violations of the lower-envelope condition gθ(x)≤q(x) using [max(0,gθ(x)-q(x))]^2, optionally combined with value and stress losses. Restricting x to the positive singular-value octant removes redundant signed regions and reduces the input domain.
Implementation notes
(1) Integration point: use this model as the scalar energy head in a constitutive network, differentiable simulator, or regularized MLP. Given a matrix F in a minibatch, compute its singular values with a stable batched SVD, clamp them to x=max(σ(F),ε), and pass only x∈R_+^d to the ICNN. Define the energy as Wθ(F)=gθ(σ(F)) and obtain stresses by automatic differentiation through the SVD. Use softplus or square activations because the activation must be convex and nondecreasing. Parameterize each constrained matrix as A_l=softplus(A_raw_l) and B_l=softplus(B_raw_l), optionally with a small positive floor.
(2) Pseudocode: sample matrices F and target energies q; compute x=SVD(F).singular_values(); x=clamp(x,eps); set z=x; for each hidden layer compute z=softplus(A_l@z+B_l@x+b_l); compute pred=c@z+d@x+b_out with c,d nonnegative; compute below=relu(pred-q); loss=mean((pred-q)^2)+lambda_above*mean(below^2)+lambda_stress*mean(norm(grad_x(pred)-target_stress)^2); update unconstrained parameters with AdamW. Randomly permute singular-value coordinates during training and add a permutation-consistency penalty if the physical energy is symmetric in the singular values.
(3) Computed from the mathematics: the positive-octant invariant input, nonnegative-weight ICNN recurrence, and lower-envelope penalty are direct transfers. Estimated empirically: SVD-gradient behavior, penalty weights, activation width, and whether finite-sample enforcement is sufficient. Validate convexity with random Jensen tests g(tx+(1-t)y)≤t g(x)+(1-t)g(y), monotonicity with g(x+δe_i)≥g(x), and the lower-bound property on a dense unseen grid.
(4) First experiment: train a 2D or 3D ICNN on sampled Saint Venant–Kirchhoff energies or a synthetic nonconvex target q(x) with a numerically computed envelope. Compare a vanilla MLP, an unconstrained invariant MLP, and the monotone ICNN at equal parameter count. Measure Jensen and monotonicity violation rates, energy error, stress smoothness, and inference FLOPs. Success means substantially fewer structural violations, stable stress-based optimization, and at least 2x lower input-feature cost than a model operating directly on all d² entries of F.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Significantly worse ✗
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 positive-singular-value ICNN with nonnegative softplus-parameterized weights, an SVD energy wrapper, lower-envelope penalty, and an unconstrained MLP baseline. The architectural claim was reproduced: the ICNN had 0% Jensen and monotonicity violations, versus 0.375% and 47.6% for the MLP; lower-bound violations fell from 47.7% to 36.1% on the unseen grid. This is a real structural signal, but not an overall accuracy or speed win: ICNN RMSE was 0.183 versus 0.083 and runtime was 9.27 versus 7.48 seconds.
- Agent confidence
- 8/10
- Baseline
- MLP: 697 parameters, RMSE 0.0829, grid lower violation 47.67%, Jensen violation 0.375%, monotonicity violation 47.56%, training time 7.48 s
- Idea
- Monotone ICNN: 543 parameters, RMSE 0.1829, grid lower violation 36.09%, Jensen violation 0%, monotonicity violation 0%, training time 9.27 s
Limitations: This is a small 2D synthetic positive-singular-value experiment, not a Saint Venant–Kirchhoff or finite-element constitutive simulation. Stress accuracy, optimization stability through SVD gradients, FLOP-normalized comparisons, larger dimensions, repeated random seeds, and a true numerically computed polyconvex envelope were not tested.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.01055)
Significantly WORSE than the tuned baseline (+2673.8%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Singular_value_constitutive_energy
- Model
- shared_invariant_mlp_width16
- Paired seeds
- 8
- Baseline mean
- 0.0175
- Idea mean
- 0.4852
- Effect (Δ)
- 0.4677 (+2673.8%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±135.4%
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 3 configs
The custom track uses sampled 2x2 deformation-like matrices and an analytic synthetic isotropic energy, not a finite-element or Saint Venant-Kirchhoff simulation. Stress accuracy, differentiable simulator optimization, larger matrix dimensions, FLOP-normalized inference, and alternative ICNN widths or lower-envelope weights were not tested. The benchmark implementation uses a local custom training loop for the proposed loss and bench.train_model for the baseline.
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 Failed ✗
Agent confidence: 10/10
Built and evaluated a matched singular-value constitutive-energy benchmark with an invariant MLP baseline and a monotone ICNN trained using the lower-envelope penalty. The trained ICNN had 0% Jensen and monotonicity violations, confirming the structural prediction, but its test MSE was 0.4852 versus 0.01749 for the tuned baseline; the paired difference was +0.4677 with permutation p=0.0081, a significant loss. The mechanism works structurally but did not transfer into a task-metric win.
- Baseline
- Invariant MLP width 16, tuned lr=0.006, 8-seed test MSE mean 0.0174905, std 0.0038865
- Baseline jensen violation
- 0.4740000367
- Baseline lower violation
- 0.1880000085
- Baseline monotonicity violation
- 0
- Idea
- Monotone singular-value ICNN width 16 with lower-envelope weight 4.0, selected lr=0.006, 8-seed test MSE mean 0.4851573, std 0.0234776
- Idea jensen violation
- 0
- Idea lower violation
- 1
- Idea monotonicity violation
- 0
- Paired delta
- idea - baseline = +0.4676668 MSE
- Permutation p value
- 0.0081
Benchmark result
Significantly WORSE than the tuned baseline (+2673.8%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Singular_value_constitutive_energy
- Model
- shared_invariant_mlp_width16
- Paired seeds
- 8
- Baseline mean
- 0.0175
- Idea mean
- 0.4852
- Effect (Δ)
- 0.4677 (+2673.8%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±135.4%
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 3 configs
The custom track uses sampled 2x2 deformation-like matrices and an analytic synthetic isotropic energy, not a finite-element or Saint Venant-Kirchhoff simulation. Stress accuracy, differentiable simulator optimization, larger matrix dimensions, FLOP-normalized inference, and alternative ICNN widths or lower-envelope weights were not tested. The benchmark implementation uses a local custom training loop for the proposed loss and bench.train_model for the baseline.
How to run: python3 stage2_bench.py
Artifacts
- experiment.py 6.0 KB View Raw
- report.md 1.4 KB View
- report_bench_2026-09-03T233952.md 4.8 KB View
- results/bench_report.json 2.6 KB View Raw
- results/metrics.json 0.9 KB View Raw
- stage2_bench.py 7.1 KB View Raw