Overview
A PINN solves one PDE instance. A neural operator learns the entire solution operator — the mapping from initial/boundary conditions to solutions — across a family of PDEs. This lecture introduces the universal approximation theorem for operators (Chen & Chen, 1995), derives the DeepONet Branch-Trunk architecture, and develops the Fourier Neural Operator (FNO) as a spectral integral kernel method that is resolution-invariant by construction.
Benchmark & Results
Setup
Antiderivative operator, 2,000 training samples
Result
~2% relative L² error, zero-shot super-resolution

Lecture Slides
The full slide deck for this lecture is available as a PDF. Each slide includes speaker notes for the presenter.
Code
The annotated implementation for this lecture is in deeponet_demo.py / fno_demo.py. All code is written in PyTorch and prioritizes clarity over cleverness.
# deeponet_demo.py / fno_demo.py # See the attached file for the full annotated implementation. # Key classes and functions are documented with docstrings.
References
- [1]Lu, L., Jin, P., Pang, G., Zhang, Z., & Karniadakis, G. E. (2021). Learning nonlinear operators via DeepONet based on the universal approximation theorem of operators. Nature Machine Intelligence, 3(3), 218–229. DOI: 10.1038/s42256-021-00302-5
- [2]Li, Z., Kovachki, N., Azizzadenesheli, K., Liu, B., Bhattacharya, K., Stuart, A., & Anandkumar, A. (2021). Fourier neural operator for parametric partial differential equations. ICLR 2021. arXiv: 2010.08895
- [3]Chen, T., & Chen, H. (1995). Universal approximation to nonlinear operators by neural networks with arbitrary activation functions and its application to dynamical systems. IEEE Transactions on Neural Networks, 6(4), 911–917. DOI: 10.1109/72.392253
Cite As
If you use this lecture material in your research or teaching, please cite the primary reference:
@misc{jing2025sciml2,
title = {Lecture 2: Neural Operators},
author = {Jing, Cheng},
year = {2025},
note = {An Intro Course to Scientific Machine Learning, Arizona State University},
url = {https://jessecj.me/course/lecture-2-neural-operators},
howpublished = {\url{https://jessecj.me/course/lecture-2-neural-operators}}
}