Home Research software

Neural operators and residual correction

Python implementations of neural operators and the residual-correction schemes, with the notebooks used to test them

Active research software GPL-3.0 Python

Above: what this library is for. Each dot is one test sample, the axis is the surrogate’s relative error, and the three panels are the three PDE problems it was compared on. Trained on a prior and tested on draws from that same prior, every architecture lands under 1.3% — DeepONet, PCANet and FNO all look finished. Move the input off that prior and the same models return errors between 13% and 194%, and nothing in the prediction says so. That gap is the reason the correction work exists, and measuring it is what the code is for.

Errors are those measured in the architecture comparison; the frame names the regime and the sample count behind it.

A Python library for building and testing neural operators on PDE problems: DeepONet, PCANet and Fourier neural operators, Gaussian random-field priors and PDE dataset generation, pCN MCMC for inverse problems, and the residual-correction wrapper used in the error-estimation and correction work.

It is the code behind the neural-operator review and the corrector book chapter, and the out-of-distribution hyperelasticity experiments. Built on PyTorch with FEniCSx, PETSc, NumPy and SciPy.

The distinction worth keeping in mind: the surveyed architecture comparisons and the later correction experiments are separate versions of this codebase, not one continuous result.

Related work

Publications