/random-features-banach

Code for the paper "The Random Feature Model for Input-Output Maps between Banach Spaces"

Primary LanguagePythonMIT LicenseMIT

random-features-banach

This repository contains the code associated with the journal articles "The Random Feature Model for Input-Output Maps between Banach Spaces" (SIAM J. Sci. Comput., Vol. 43, No. 5 (2021), pp. A3212–A3243) and "Operator learning using random features: a tool for scientific computing" (SIAM Review, Vol. 66, No. 3 (2024), pp. 535–571). It implements the function-valued random features method for two operator learning benchmark problems: 1) the solution operator of 1D viscous Burgers' equation and 2) the solution operator of the 2D Darcy flow elliptic partial differential equation.

Important

A more efficient and up-to-date GPU implementation of this code is available at:

https://github.com/nickhnelsen/error-bounds-for-vvRF

We recommend that users interested in the operator random features method migrate over to that repository. The current repo random-features-banach should only be used to reproduce the results in the journal papers and not used for future developements.

Requirements

  • Python 3
  • Numpy
  • Numba
  • Scipy
  • Matplotlib

Data

The data may be downloaded at DOI, which contains two *.zip files:

  1. burgers: input-output data as Python *.npy files.
  2. darcy: input-output data as MATLAB *.mat files.
Nelsen, N. H. & Stuart, A.M. (2024). Operator learning using random features: a tool for scientific computing [Data set]. CaltechDATA. https://doi.org/10.22002/55tdh-hda68. Mar. 15, 2024.

References

The main reference that explains the two benchmark problems is the paper ``The Random Feature Model for Input-Output Maps between Banach Spaces'' by Nicholas H. Nelsen and Andrew M. Stuart. Other relevant references include:

Citing

If you use random-features-banach in an academic paper, please cite the main references as follows:

@article{nelsen2021random,
  title={The random feature model for input-output maps between Banach spaces},
  author={Nelsen, Nicholas H. and Stuart, Andrew M.},
  journal={SIAM Journal on Scientific Computing},
  volume={43},
  number={5},
  pages={A3212--A3243},
  year={2021},
  publisher={Society for Industrial and Applied Mathematics},
  doi = {10.1137/20M133957X}
}


@article{nelsen2024operator,
	title={Operator learning using random features: a tool for scientific computing},
	author={Nelsen, Nicholas H. and Stuart, Andrew M.},
	journal={SIAM Review},
	volume={66},
	number={3},
	pages={535--571},
	year={2024},
	month={8},
  publisher={Society for Industrial and Applied Mathematics},
  doi={10.1137/24M1648703}
}