This Git repository contains python codes for constructing Grassmannian diffusion maps-based polynomial chaos expansion surrogates (GDM PCE), ideal for complex applications and models generating high-dimensional outputs.
GDM PCE, an encoder-decoder framework, employs Grassmannian diffusion maps, a dimensionallity reduction technique for compressing quantities of interest (QoI), represeted by high-dimensional vectors/matrices. Once a latent representation of the data is identified, polynomial chaos expansion is used to construct a map between input stochastic parameters and coordinates on the Grassmannian diffusion manifold. A decoder framework based on geometric harmonics is employed for decompressing generated QoIs back to the ambient space and enable inexpensive Monte Carlo simulations.
The proposed method is able to handle very high-dimensional datsets, perform succesfully in the small data regime and accelarate uncertainty quantification (UQ) tasks in general.
Details of the methdology can be found in our arXiv paper here: https://arxiv.org/abs/2107.09814
Authors: Katiana Kontolati, Dimitrios Loukrezis, Ketson R. M. dos Santos, Dimitrios G. Giovanis, Michael D. Shields
Below, a graphical summary of the method is provided:
Three illustrative examples are provided. The first considers a dielectric cylinder suspended in a homogeneous electric field. The second is the classic Lotka-Volterra dynamical system modeling the evolution of two species interacting with each other, one a predator and one a prey. Finally, the third example considers a system of advection-diffusion-reaction equations which models a first-order chemical reaction between two species.
-
data - Contains files with datasets and scripts required to run the examples.
-
GDM_PCE.py - python code to perform the proposed method
-
Example-1.ipynb - Jupyter notebook for example 1
-
Example-2.ipynb - Jupyter notebook for example 2
-
Example-3.ipynb - Jupyter notebook for example 3
1. Clone our repo:
git clone https://github.com/katiana22/GDM-PCE.git
2. Install dependencies via the following commands:
cd GDM-PCE
pip install -r requirements.txt
๐ง : [email protected]