chaospy
Chaospy - Toolbox for performing uncertainty quantification.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
4 of 26 committers (15.4%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.1%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Chaospy - Toolbox for performing uncertainty quantification.
Basic Info
- Host: GitHub
- Owner: jonathf
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://chaospy.readthedocs.io/
- Size: 54.5 MB
Statistics
- Stars: 466
- Watchers: 22
- Forks: 88
- Open Issues: 61
- Releases: 9
Topics
Metadata Files
README.rst
.. image:: https://github.com/jonathf/chaospy/raw/master/docs/_static/chaospy_logo.svg
:height: 200 px
:width: 200 px
:align: center
|circleci| |codecov| |readthedocs| |downloads| |pypi|
.. |circleci| image:: https://img.shields.io/circleci/build/github/jonathf/chaospy/master
:target: https://circleci.com/gh/jonathf/chaospy/tree/master
.. |codecov| image:: https://img.shields.io/codecov/c/github/jonathf/chaospy
:target: https://codecov.io/gh/jonathf/chaospy
.. |readthedocs| image:: https://img.shields.io/readthedocs/chaospy
:target: https://chaospy.readthedocs.io/en/master/?badge=master
.. |downloads| image:: https://img.shields.io/pypi/dm/chaospy
:target: https://pypistats.org/packages/chaospy
.. |pypi| image:: https://img.shields.io/pypi/v/chaospy
:target: https://pypi.org/project/chaospy
* `Documentation `_
* `Interactive tutorials with Binder `_
* `Code of conduct `_
* `Contribution guideline `_
* `Changelog `_
* `License `_
Chaospy is a numerical toolbox designed for performing uncertainty
quantification through polynomial chaos expansions and advanced Monte
Carlo methods implemented in Python. It includes a comprehensive suite
of tools for low-discrepancy sampling, quadrature creation, polynomial
manipulations, and much more.
The philosophy behind ``chaospy`` is not to serve as a single solution
for all uncertainty quantification challenges, but rather to provide
specific tools that empower users to solve problems themselves. This
approach accommodates well-established problems but also serves as a
foundry for experimenting with new, emerging problems. Emphasis is
placed on the following:
* Focus on an easy-to-use interface that embraces the `pythonic code
style `.
* Ensure the code is "composable," meaning it's designed so that users
can easily and effectively modify parts of the code with their own
solutions.
* Strive to support a broad range of methods for uncertainty
quantification where it makes sense to use ``chaospy``.
* Ensure that ``chaospy`` integrates well with a wide array of other
projects, including `numpy `, `scipy
`, `scikit-learn `,
`statsmodels `, `openturns
`, and `gstools
`, among others.
* Contribute all code as open source to the community.
Installation
============
Installation is straightforward via `pip `_:
.. code-block:: bash
pip install chaospy
Alternatively, if you prefer `Conda `_:
.. code-block:: bash
conda install -c conda-forge chaospy
After installation, visit the `documentation
`_ to learn how to use the
toolbox.
Development
===========
To install ``chaospy`` and its dependencies in developer mode:
.. code-block:: bash
pip install -e .[dev]
Testing
-------
To run tests on your local system:
.. code-block:: bash
pytest --doctest-modules chaospy/ tests/ README.rst
Documentation
-------------
Ensure that ``pandoc`` is installed and available in your path to
build the documentation.
From the ``docs/`` directory, build the documentation locally using:
.. code-block:: bash
cd docs/
make html
Run ``make`` without arguments to view other build targets.
The HTML documentation will be output to ``doc/.build/html``.
Owner
- Name: Jonathan Feinberg
- Login: jonathf
- Kind: user
- Location: Oslo
- Company: @expertanalytics
- Website: expertanalytics.no
- Repositories: 40
- Profile: https://github.com/jonathf
Citation (CITATIONS.bib)
@article{chaospy_2015,
title = {Chaospy: An open source tool for designing methods of uncertainty quantification},
journal = {Journal of Computational Science},
volume = {11},
pages = {46-57},
year = {2015},
issn = {1877-7503},
doi = {https://doi.org/10.1016/j.jocs.2015.08.008},
url = {https://www.sciencedirect.com/science/article/pii/S1877750315300119},
author = {Feinberg, Jonathan and Langtangen, Hans Petter},
keywords = {Uncertainty quantification, polynomial chaos expansions, Monte Carlo simulation, Rosenblatt transformations, Python package},
abstract = {The paper describes the philosophy, design, functionality, and usage of the Python software toolbox Chaospy for performing uncertainty quantification via polynomial chaos expansions and Monte Carlo simulation. The paper compares Chaospy to similar packages and demonstrates a stronger focus on defining reusable software building blocks that can easily be assembled to construct new, tailored algorithms for uncertainty quantification. For example, a Chaospy user can in a few lines of high-level computer code define custom distributions, polynomials, integration rules, sampling schemes, and statistical metrics for uncertainty analysis. In addition, the software introduces some novel methodological advances, like a framework for computing Rosenblatt transformations and a new approach for creating polynomial chaos expansions with dependent stochastic variables.}
}
@article{chaospy_2018,
author = {Feinberg, Jonathan and Eck, Vinzenz Gregor and Langtangen, Hans Petter},
title = {Multivariate Polynomial Chaos Expansions with Dependent Variables},
journal = {SIAM Journal on Scientific Computing},
volume = {40},
number = {1},
pages = {A199-A223},
year = {2018},
doi = {10.1137/15M1020447},
url = {https://doi.org/10.1137/15M1020447},
keywords = {uncertainty quantification, polynomial chaos expansions, dependent stochastic variables, variable transformations, blood flow simulation, wave propagation}
abstract = {This paper describes a new approach for handling dependent stochastic variables in polynomial chaos expansions for uncertainty quantification. The methodology is based on a decorrelation algorithm that only requires raw statistical moments of multivariate random variables. When the mapping from input in probability space to the response is not smooth, polynomial chaos expansions may converge slowly. The remedy proposed in this paper is to introduce a transformation of the input parameters to create a smoother mapping in an alternative probability space. However, such a transformation quickly leads to dependent stochastic variables and hence a need for handling dependency. We consider three cases to demonstrate how variable transformations and the new framework can significantly increase the convergence rate of polynomial chaos expansions. The first case involves an analytical, nonsmooth mapping to exemplify serious convergence problems and the power of transforming the variables. The second case concerns diffusion in multimaterial/multidomain models with uncertain internal boundaries and uncertain material properties. We investigate in detail a simplified version of this physical problem where the performance of the method can be understood. The third case is a blood flow simulation model for arterial systems, which involves a network of one-dimensional nonlinear partial differential equations. Here we investigate the pressure discontinuity over an arterial bifurcation. In all of the examples, the standard polynomial chaos expansions converge very slowly, but with variable transformations, leading to dependent variables, we are able to achieve significantly faster convergence compared with state-of-the-art methods.}
}
GitHub Events
Total
- Issues event: 9
- Watch event: 26
- Issue comment event: 33
- Push event: 9
- Pull request event: 3
- Fork event: 2
- Create event: 5
Last Year
- Issues event: 9
- Watch event: 26
- Issue comment event: 33
- Push event: 9
- Pull request event: 3
- Fork event: 2
- Create event: 5
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jonathan Feinberg | j****f@g****m | 486 |
| Hans Petter Langtangen | h****l@s****o | 26 |
| Simen Tennøe | s****n@g****m | 15 |
| Florian Künzner | f****r@g****t | 13 |
| dependabot[bot] | 4****] | 7 |
| davidovitch | d****t@g****m | 6 |
| ma6yu | s****a@g****m | 5 |
| lindert blonk | l****k@d****m | 4 |
| Jacob Sturdy | j****y@g****m | 3 |
| Régis LEBRUN | r****n | 2 |
| Jonathan Feinberg | j****n@f****o | 2 |
| jumu | j****u@d****k | 1 |
| joergbuchwald | 4****d | 1 |
| beroda | 1****a | 1 |
| Zachary Burnett | z****t@n****v | 1 |
| Yoel | y****s@g****m | 1 |
| Vincent Vanlaer | 1****r | 1 |
| Christopher Albert | a****t@a****t | 1 |
| Christopher Teubert | c****t@n****v | 1 |
| David W Wright | d****t@g****m | 1 |
| Davide Fioriti | 6****f | 1 |
| Iztok Fister Jr | i****k@i****u | 1 |
| Jacob Hwang | y****4@g****m | 1 |
| John Vouvakis Manousakis | 7****m | 1 |
| Novermars | n****s@o****m | 1 |
| Shun Zhang | s****z@u****u | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 89
- Total pull requests: 42
- Average time to close issues: about 2 months
- Average time to close pull requests: 4 days
- Total issue authors: 60
- Total pull request authors: 12
- Average comments per issue: 3.93
- Average comments per pull request: 1.38
- Merged pull requests: 36
- Bot issues: 0
- Bot pull requests: 7
Past Year
- Issues: 12
- Pull requests: 2
- Average time to close issues: 4 days
- Average time to close pull requests: 4 days
- Issue authors: 10
- Pull request authors: 1
- Average comments per issue: 2.92
- Average comments per pull request: 8.5
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- KIDDProgress (6)
- hamzabuw (6)
- oarcelus (5)
- AmosJoseph (4)
- yurivict (2)
- John3221 (2)
- marcrocasalonso (2)
- rhaghi (2)
- damar-wicaksono (2)
- ahenkes1 (2)
- takafusui (2)
- dirge1 (2)
- ehsansaleh (2)
- goghino (2)
- Sumit9013 (2)
Pull Request Authors
- jonathf (25)
- dependabot[bot] (7)
- ioannis-vm (2)
- davide-f (2)
- gboehl (1)
- Novermars (1)
- yoelcortes (1)
- teubert (1)
- firefly-cpp (1)
- beroda (1)
- regislebrun (1)
- VincentVanlaer (1)
- ghost (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 15
-
Total downloads:
- pypi 8,717 last-month
- Total docker downloads: 10
-
Total dependent packages: 19
(may contain duplicates) -
Total dependent repositories: 35
(may contain duplicates) - Total versions: 159
- Total maintainers: 3
pypi.org: chaospy
Numerical tool for performing uncertainty quantification
- Documentation: https://chaospy.readthedocs.io/
- License: MIT license
-
Latest release: 4.3.21
published 6 months ago
Rankings
Maintainers (1)
alpine-v3.18: py3-chaospy-pyc
Precompiled Python bytecode for py3-chaospy
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.12-r1
published almost 3 years ago
Rankings
Maintainers (1)
alpine-v3.18: py3-chaospy
Numerical tool for performing uncertainty quantification
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.12-r1
published almost 3 years ago
Rankings
Maintainers (1)
alpine-edge: py3-chaospy
Numerical tool for performing uncertainty quantification
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.21-r0
published 6 months ago
Rankings
Maintainers (1)
alpine-edge: py3-chaospy-pyc
Precompiled Python bytecode for py3-chaospy
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.21-r0
published 6 months ago
Rankings
Maintainers (1)
alpine-v3.17: py3-chaospy
Numerical tool for performing uncertainty quantification
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.8-r1
published over 3 years ago
Rankings
Maintainers (1)
conda-forge.org: chaospy
- Homepage: https://github.com/jonathf/chaospy
- License: BSD-3-Clause
-
Latest release: 3.3.8
published over 5 years ago
Rankings
alpine-v3.19: py3-chaospy-pyc
Precompiled Python bytecode for py3-chaospy
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.13-r1
published over 2 years ago
Rankings
alpine-v3.22: py3-chaospy-pyc
Precompiled Python bytecode for py3-chaospy
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.19-r0
published 11 months ago
Rankings
Maintainers (1)
alpine-v3.20: py3-chaospy
Numerical tool for performing uncertainty quantification
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.15-r0
published almost 2 years ago
Rankings
Maintainers (1)
alpine-v3.21: py3-chaospy
Numerical tool for performing uncertainty quantification
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.18-r0
published about 1 year ago
Rankings
Maintainers (1)
alpine-v3.21: py3-chaospy-pyc
Precompiled Python bytecode for py3-chaospy
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.18-r0
published about 1 year ago
Rankings
Maintainers (1)
alpine-v3.19: py3-chaospy
Numerical tool for performing uncertainty quantification
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.13-r1
published over 2 years ago
Rankings
Maintainers (1)
alpine-v3.22: py3-chaospy
Numerical tool for performing uncertainty quantification
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.19-r0
published 11 months ago
Rankings
Maintainers (1)
alpine-v3.20: py3-chaospy-pyc
Precompiled Python bytecode for py3-chaospy
- Homepage: https://github.com/jonathf/chaospy
- License: MIT
-
Latest release: 4.3.15-r0
published almost 2 years ago
Rankings
Maintainers (1)
Dependencies
- Sphinx <4.3
- markupsafe ==2.0.1
- nbsphinx ==0.8.5
- pydata_sphinx_theme ==0.6.3
- sphinxcontrib-bibtex ==2.2.0
- actions/checkout v2 composite
- actions/setup-python v2 composite
- codecov/codecov-action v2 composite
- pypa/gh-action-pypi-publish v1.4.2 composite
- chaospy *
- matplotlib *
- numpoly *
- numpy *
- scipy *