Spectral Neural Operator is a neural network that performs mapping between two functions given as Chebyshev or Fourier series. More details about SNO are available in the article V. Fanaskov, I. Oseledets, Spectral Neural Operators. In the repository you can find implementation of basic operations with polynomials, architectures we discuss in the article and scripts for dataset generation.
We cover main functionality with Jupyter notebooks:
- functions
- architectures
- FNO -- Fourier Neural Operator.
- DeepONet -- Deep Operator Network.
- SNO -- Spectral Neural Operator in Chebyshev basis.
- fSNO -- Spectral Neural Operator in Fourier basis.
- SNOx -- Spectral Neural Operator on Chebyshev grid.
- fSNOx -- Spectral Neural Operator on the uniform grid.
- SNOxw -- composition of SNO and SNOx.
- fSNOxw -- composition of fSNO and fSNOx.
- datasets
Most datasets can be efficiently generated using provided scripts in a matter of minutes. Two notable exceptions are Burgers equation and elliptic equation in D=2. You can use this link to access complete datasets for these two cases. Content of the folder, and instructions how to process data, can be found in this notebook.