Build reduced bases and surrogate models in Python
Project description
Arby
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
(c) 2020 Aarón Villanueva
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file arby-1.0.2.tar.gz
.
File metadata
- Download URL: arby-1.0.2.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01326da2951d167b136a7200c0d58f1bc2b8c9a549c635716f063d06ac28b8f8 |
|
MD5 | 49cd539f34ebc14f5e614dc13540d74e |
|
BLAKE2b-256 | db5c38c218ee9b01175a4207d86de1ac5353fbe7937d0ceac07b31372d270893 |