Code for the paper Bayesian autoencoders for data-driven discovery of coordinates, governing equations and fundamental constants by Liyao Mars Gao and J. Nathan Kutz in Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences. This work is based on the prior work 'Data-driven discovery of coordinates and governing equations' PNAS, and the implementation is built upon Kathleen Champion's open-source software https://github.com/kpchamp/SindyAutoencoders.
![Screen Shot 2024-06-27 at 5 06 16 PM](https://private-user-images.githubusercontent.com/14102784/343983080-eb57cf68-c943-401a-81c7-fcd4cccfb965.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA0MTYwMTIsIm5iZiI6MTcyMDQxNTcxMiwicGF0aCI6Ii8xNDEwMjc4NC8zNDM5ODMwODAtZWI1N2NmNjgtYzk0My00MDFhLTgxYzctZmNkNGNjY2ZiOTY1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA4VDA1MTUxMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTczMWMyYWViM2E5ZmJlMTZlMzMzZTFlNDYxZDExNDQ3MmRlZDM3YWU5Y2Y4NzdiNGNjYWM5MWI3MGFhMzQ4MDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.C5XPZ42t4_QOob2jmd2NuHO9JdXzCLa2TklDCIyLAvc)
Please refer to environments.yml for setup. For conda users,
conda env create -f environment.yml -n bae
source activate bae
We simplify the running into a simple script in each folder. For example, to run the training code for pendulum (real video), please go to folder examples/pendulum_real_video, and run the following line.
sh sampling.sh
The Reaction-diffusion data we use is generated by MATLAB, and is too large to upload to Github. Please use the following link to download, and place it under examples/rd, or other places with route specified in example_reactiondiffusion.py file. To access the data, please use this link: https://drive.google.com/drive/folders/18DLuAp-nj5gI2U0-BLmTQcdaeveCdXHe?usp=sharing.
We open source the pendulum video data in this link: https://drive.google.com/file/d/1TilvyZg6VNNZ3CynO07BvBvsUXLRSaXh/view?usp=sharing. This data is collected from our lab with a GoPro camera. We encourage proper citation to this video and dataset for future usage.
We have a stronger version for GoPro physics ready for future works so please stay tuned. If you're interested in citing our work, please use the following for proper citation.
@article{gao2022bayesian,
title={Bayesian autoencoders for data-driven discovery of coordinates, governing equations and fundamental constants},
author={Gao, L and Kutz, J Nathan},
journal={arXiv preprint arXiv:2211.10575},
year={2022}
}