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 details)

Uploaded Source

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

Hashes for arby-1.0.2.tar.gz
Algorithm Hash digest
SHA256 01326da2951d167b136a7200c0d58f1bc2b8c9a549c635716f063d06ac28b8f8
MD5 49cd539f34ebc14f5e614dc13540d74e
BLAKE2b-256 db5c38c218ee9b01175a4207d86de1ac5353fbe7937d0ceac07b31372d270893

See more details on using hashes here.

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