No project description provided
Project description
Chaospy is a numerical tool for performing uncertainty quantification using polynomial chaos expansions and advanced Monte Carlo methods implemented in Python 2 and 3.
A article in Elsevier Journal of Computational Science has been published introducing the software: here. If you are using this software in work that will be published, please cite this paper.
Installation
Installation should be straight forward:
pip install chaospy
And you should be ready to go.
Alternatively, to get the most current experimental version, the code can be installed from Github as follows:
git clone git@github.com:jonathf/chaospy.git cd chaospy pip install -r requirements.txt python setup.py install
The last command might need sudo prefix, depending on your python setup.
Optionally, to support more regression methods, install the Scikit-learn package:
pip install scikit-learn
Example Usage
chaospy is created to be simple and modular. A simple script to implement point collocation method will look as follows:
import chaospy
import numpy
# your code wrapper goes here
def foo(coord, prm):
"""Function to do uncertainty quantification on."""
return prm[0] * numpy.e ** (-prm[1] * numpy.linspace(0, 10, 100))
# bi-variate probability distribution
distribution = choaspy.J(chaospy.Uniform(1, 2), chaospy.Uniform(0.1, 0.2))
# polynomial chaos expansion
polynomial_expansion = chaospy.orth_ttr(8, distribution)
# samples:
samples = distribution.sample(1000)
# evaluations:
evals = [foo(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 description of what going on, see the tutorial.
For a collection of recipes, see the cookbook.
Questions & Troubleshooting
For any problems and questions you might have related to chaospy, please feel free to file an issue.
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.0.7-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b25f2c676d42e8de966a69100b3650cf9b3e25afc7cdf4df237e0a5a7189d564 |
|
MD5 | 0056e930eac04f5a51a5c435ac000d7b |
|
BLAKE2b-256 | 423a4b794723301bca0762408545554444aef19115e2faf1040bb5297e73d68f |