Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jonathf/chaospy

Chaospy - Toolbox for performing uncertainty quantification.
https://github.com/jonathf/chaospy

gaussian-quadrature sensitivity-analysis sparse-grids uncertainty-quantification variance-reduction

Last synced: 1 day ago
JSON representation

Chaospy - Toolbox for performing uncertainty quantification.

Awesome Lists containing this project

README

        

.. 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``.