Numerical tool for perfroming uncertainty quantification
Project description
Chaospy is a numerical tool for performing uncertainty quantification using polynomial chaos expansions and advanced Monte Carlo methods implemented in Python.
Installation
Installation should be straight forward:
pip install chaospy
And you should be ready to go.
Example Usage
chaospy is created to be simple and modular. A simple script to implement point collocation method will look as follows:
import numpy
import chaospy
# your code wrapper goes here
coordinates = numpy.linspace(0, 10, 100)
def foo(coordinates, params):
"""Function to do uncertainty quantification on."""
param_init, param_rate = params
return param_init*numpy.e**(-param_rate*coordinates)
# bi-variate probability distribution
distribution = chaospy.J(chaospy.Uniform(1, 2), chaospy.Uniform(0.1, 0.2))
# polynomial chaos expansion
polynomial_expansion = chaospy.generate_expansion(8, distribution)
# samples:
samples = distribution.sample(1000)
# evaluations:
evals = numpy.array([foo(coordinates, sample) for sample in samples.T])
# polynomial approximation
foo_approx = chaospy.fit_regression(
polynomial_expansion, samples, evals)
# statistical metrics
expected = chaospy.E(foo_approx, distribution)
deviation = chaospy.Std(foo_approx, distribution)
For a more extensive guides on what is going on, see the tutorial collection.
Questions and Contributions
Please feel free to file an issue for:
bug reporting
asking questions related to usage
requesting new features
wanting to contribute with code
If you are using this software in work that will be published, please cite the journal article: Chaospy: An open source tool for designing methods of uncertainty quantification
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
Built Distribution
Hashes for chaospy-3.3.7-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1aa44a8bdd82e8b9750bf3bf3fb8ff584a403a25691e84c0532826a942f73694 |
|
MD5 | 74c561a1e5cb4d86b803f90b5112f358 |
|
BLAKE2b-256 | 62c523a89509c331bb1d5e9c3e239da9043e8de971debd0f7c6d34bd6f6bc943 |