/LiftAndLearn.jl

Julia Implementation of the nonintrusive model reduction approaches: Operator Inference (OpInf) and Lift & Learn (LnL)

Primary LanguageJuliaMIT LicenseMIT

Lift & Learn/Operator Inference with Julia

logo

Powered by ACE Lab CI codecov Doc

LiftAndLearn.jl is an implementation of the Lift and Learn as well as the operator inference algorithm proposed in the papers listed in References.

Operator Inference (OpInf)

Operator Inference is a scientific machine-learning framework used in data-driven modeling of dynamical systems that aims to learn the governing equations or operators from observed data without explicit knowledge of the underlying physics or dynamics (but with some information such as the structure, e.g., linear, quadratic, bilinear, etc.). To know more about OpInf, please refer to these resources by ACE Lab and Willcox Research Group.

Lift and Learn (LnL)

Lift and Learn is a physics-informed method for learning low-dimensional models for large-scale dynamical systems. Lifting refers to the transformation of the original nonlinear system to a linear, quadratic, bilinear, or polynomial system by mapping the original state space to a new space with additional auxiliary variables. After lifting the system to a more approachable form we can learn a reduced model using the OpInf approach.

Requirements

  • julia versions 1.8.5 >
  • We use Ipopt for the optimization (e.g., EP-OpInf)
    • This requires additional proprietary linear-solvers including ma86 and ma97.
    • You can run the code without it by changing the options. By default Ipopt will use MUMPS but we recommend you obtain and download HSL_jll.jl. You can find the instructions here.
  • As this package is designed for model reduction of large-scale models, we recommend using a high-memory machine to run the examples, ideally with more than 32GB of RAM.

Installation

(@v1.9) pkg> add LiftAndLearn

Get Started

Try out the 1D heat equation example $$\frac{\partial u}{\partial t} = \mu\frac{\partial^2 u}{\partial x^2}$$ in the Julia REPL.

> julia
julia> ;
shell> cd scripts 
⌫
julia> ]
(@v1.9) pkg> activate .
(@v1.9) pkg> instantiate
⌫
julia> include("heat1d_OpInf_example.jl")

TODO

  • Generalize the Learn & Lift Julia package
    • Make an operation where the user gives all the settings and training data then the code outputs the inferred operators
    • Make an operation where the user inputs the inferred operators and the testing data then the error analysis is automatically completed.
  • Expand opinf
    • Allow quad-linear (quadratic state and linear input)
    • Allow quadratic input (U * U')
    • Allow linear-quad (linear state and quadratic input) (this is experimental)
  • Make example test cases for both operator inference and lift & learn
    • one-dimensional heat equation
    • burger's equation
    • Fitzhugh-Nagumo equation
    • Kuramoto-Sivashinsky equation

References

  1. Peherstorfer, B. and Willcox, K. Data-driven operator inference for non-intrusive projection-based model reduction. Computer Methods in Applied Mechanics and Engineering, 306:196-215, 2016. (Download)
@article{Peherstorfer16DataDriven,
    title   = {Data-driven operator inference for nonintrusive projection-based model reduction},
    author  = {Peherstorfer, B. and Willcox, K.},
    journal = {Computer Methods in Applied Mechanics and Engineering},
    volume  = {306},
    pages   = {196-215},
    year    = {2016},
}
  1. Qian, E., Kramer, B., Marques, A., and Willcox, K. Transform & Learn: A data-driven approach to nonlinear model reduction. In the AIAA Aviation 2019 Forum, June 17-21, Dallas, TX. (Download)
@inbook{QKMW2019aviation,
    author = {Qian, E. and Kramer, B. and Marques, A. N. and Willcox, K. E.},
    title = {Transform \& Learn: A data-driven approach to nonlinear model reduction},
    booktitle = {AIAA Aviation 2019 Forum},
    doi = {10.2514/6.2019-3707},
    URL = {https://arc.aiaa.org/doi/abs/10.2514/6.2019-3707},
    eprint = {https://arc.aiaa.org/doi/pdf/10.2514/6.2019-3707}
}
  1. Qian, E., Kramer, B., Peherstorfer, B., and Willcox, K. Lift & Learn: Physics-informed machine learning for large-scale nonlinear dynamical systems, Physica D: Nonlinear Phenomena, 2020.
@article{qian2020lift,
    title={Lift \& {L}earn: {P}hysics-informed machine learning for large-scale nonlinear dynamical systems},
    author={Qian, E. and Kramer, B. and Peherstorfer, B. and Willcox, K.},
    journal={Physica D: Nonlinear Phenomena},
    volume={406},
    pages={132401},
    year={2020},
    publisher={Elsevier}
}
  1. Qian, E., Farcas, I.-G., and Willcox, K. Reduced operator inference for nonlinear partial differential equations, SIAM Journal of Scientific Computing, 2022.
@article{doi:10.1137/21M1393972,
    author = {Qian, Elizabeth and Farca\c{s}, Ionu\c{t}-Gabriel and Willcox, Karen},
    title = {Reduced Operator Inference for Nonlinear Partial Differential Equations},
    journal = {SIAM Journal on Scientific Computing},
    volume = {44},
    number = {4},
    pages = {A1934-A1959},
    year = {2022},
    doi = {10.1137/21M1393972},
    URL = {https://doi.org/10.1137/21M1393972},
    eprint = {https://doi.org/10.1137/21M1393972},
}