Implementation of the paper: “Parametrizing Convex Sets Using Sublinear Neural Networks”
This repository provides code to reproduce the numerical experiments from the paper, including:
- Shape reconstruction
- PDE-constrained shape optimization
- Mahler volume minimization
- Torsion-based optimization (MFS, Galerkin, PINNs)
- Minkowski problem
The method relies on sublinear neural networks to parameterize convex sets and uses automatic differentiation for computing geometric and PDE-related quantities .
Clone the repository and install dependencies:
git clone https://github.com/EloiMartinet/SublinearNet.git
cd SublinearNet
pip install -e .All experiments are located in the scripts/ folder.
Each experiment corresponds to a single script, except for the torsion benchmark.
📍 Paper: Section 4.1 – Learning convex sets with noisy boundary samples
python scripts/fit_noisy_single.pyThis reproduces the optimization of shapes minimizing:
where
The statistical experiments (Appendix F) can be run with
python scripts/fit_noisy_number_of_points.pyand
python scripts/fit_noisy_different_noises.py📍 Paper: Section 4.2 – Optimization of a Poisson problem
python scripts/poisson_galerkin.pyThis reproduces the optimization of shapes minimizing:
where
📍 Paper: Appendix E – Minimization of the Mahler volume
python scripts/mahler_volume.pyThis experiment minimizes:
among shapes satisfying certain symmetries.
📍 Paper: Section 4.3 – Maximization of the gradient of the torsion function
python scripts/max_torsion.pyThis script explores torsion-based optimization objectives (related to Section 4.3).
📍 Paper: Section 4.4 – Minkowski problem
python scripts/minkovski_problem.pySolves a curvature prescription problem via neural parametrization.
📍 Paper: Appendix D – Comparison with PINNs
Maximizes the torsion function by three different methods:
- Method of Fundamental Solutions (MFS)
- Mesh-free Galerkin
- Physics-Informed Neural Networks (PINNs)
python scripts/run_torsion_experiments.pyThis will automatically:
-
Run
torsion_MFS.py -
Run
torsion_Galerkin.py -
Run
torsion_PINN.pywith:config_1config_2config_3
-
Generate plots via
plot_torsion_experiments.py
python scripts/torsion_MFS.pypython scripts/torsion_Galerkin.pypython scripts/torsion_PINN.py --config config_1
python scripts/torsion_PINN.py --config config_2
python scripts/torsion_PINN.py --config config_3👉 The three configs correspond to different hyperparameter settings used in the PINN comparison (see paper).
python scripts/plot_torsion_experiments.pypython scripts/torsion_parameter_search.pyThis reproduces the PINN hyperparameter search described in the paper.
Results are saved in:
res/
csvs/ # numerical results
torsion_Galerkin/ # Galerkin outputs
torsion_MFS/ # MFS outputs
If you use this code in you own research, please cite:
@misc{martinet2026parametrizingconvexsetsusing,
title={Parametrizing Convex Sets Using Sublinear Neural Networks},
author={Eloi Martinet},
year={2026},
eprint={2605.03520},
archivePrefix={arXiv},
primaryClass={math.OC},
url={https://arxiv.org/abs/2605.03520},
}