Skip to main content

Build reduced bases and surrogate models in Python

Project description

Arby

logo

PyPI version Build Status Documentation Status codecov Python version https://github.com/leliel12/diseno_sci_sfw

Arby is a fully data-driven Python module to construct surrogate models, reduced bases and empirical interpolants from training data.

This package implements a type of Reduced Order Modeling technique for reducing the computational complexity of mathematical models in numerical simulations. This is done by building a surrogate model for the underlying model using only a training set of samples.

Install

From PyPI repo

pip install arby

For the latest version, clone this repo locally and from inside do

pip install -e .

or instead

pip install -e git+https://github.com/aaronuv/arby

Quick Usage

Suppose we have a set of real functions parametrized by a real number λ. This set, the training set, represents an underlying parametrized model fλ(x) with continuous dependency in λ. Without a complete knowledge about fλ(x), we'd like to produce an accurate approximation to the ground truth only through access to the training set.

With Arby we can do this by building a surrogate model. For simplicity, suppose a discretization of the parameter domain [par_min, par_max] with Ntrain samples indexing the training set

params = np.linspace(par_min, par_max, Ntrain)

and a discretization of the x domain [a,b] in Nsamples points

x_samples = np.linspace(a, b, Nsamples)

Next, we build a training set

training_set = [f(par, x_samples) for par in params]

that has shape (Ntrain,Nsamples).

Finally, we build the surrogate model by executing:

from arby import ReducedOrderModel as ROM
f_model = ROM(training_set=training_set,
              physical_points=x_samples,
              parameter_points=params)

With f_model we get function samples for any parameter par in the interval [par_min, par_max] simply by calling it:

f_model_at_par = f_model.surrogate(par)
plt.plot(x_samples, f_model_at_par)
plt.show()

Documentation

For more details and examples check the read the docs.

License

MIT

Contact Us

aaron.villanueva@unc.edu.ar


(c) 2020 Aarón Villanueva

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arby-1.0.2.tar.gz (13.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page