Git Product home page Git Product logo

chaospy's Introduction

circleci codecov readthedocs downloads pypi binder

Chaospy is a numerical toolbox for performing uncertainty quantification using polynomial chaos expansions, advanced Monte Carlo methods implemented in Python. It also include a full suite of tools for doing low-discrepancy sampling, quadrature creation, polynomial manipulations, and a lot more.

The philosophy behind chaospy is not to be a single tool that solves every uncertainty quantification problem, but instead be a specific tools to aid to let the user solve problems themselves. This includes both well established problems, but also to be a foundry for experimenting with new problems, that are not so well established. To do this, emphasis is put on the following:

  • Focus on an easy to use interface that embraces the pythonic code style.
  • Make sure the code is "composable", such a way that changing one part of the code with something user defined should be easy and encouraged.
  • Try to support a broad width of the various methods for doing uncertainty quantification where that makes sense to involve chaospy.
  • Make sure that chaospy plays nice with a large set of of other other similar projects. This includes numpy, scipy, scikit-learn, statsmodels, openturns, and gstools to mention a few.
  • Contribute all code to the community open source.

Installation

Installation should be straight forward from pip:

pip install chaospy

Or if Conda is more to your liking:

conda install -c conda-forge chaospy

Then go over to the tutorial collection to see how to use the toolbox.

Development

Chaospy uses poetry to manage its development installation. Assuming poetry installed on your system, installing chaospy for development can be done from the repository root with the command:

poetry install

This will install all required dependencies and chaospy into a virtual environment. If you are not already managing your own virtual environment, you can use poetry to activate and deactivate with:

poetry shell
exit

Testing

To ensure that the code run on your local system, run the following:

poetry run pytest --nbval-lax --doctest-modules \
    chaospy/ tests/ docs/*/*.{rst,ipynb}

Documentation

The documentation build assumes that pandoc is installed on your system and available in your path.

To build documentation locally on your system, use make from the docs/ folder:

cd docs/
make html

Run make without argument to get a list of build targets. The HTML target stores output to the folder doc/.build/html.

chaospy's People

Contributors

jonathf avatar hplgit avatar flo2k avatar simetenn avatar ma6yu avatar davidovitch avatar utsekaj42 avatar jonathf-machine avatar krystophny avatar dww100 avatar yoon-gu avatar novermars avatar zsmeditation avatar yoelcortes avatar joergbuchwald avatar jp5000 avatar regislebrun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.