Skip to content

aaronuv/arby

Repository files navigation

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