PolyChaos.jl

A Julia package to construct orthogonal polynomials, their quadrature rules, and use it with polynomial chaos expansions.
Popularity
109 Stars
Updated Last
11 Months Ago
Started In
January 2019

PolyChaos -- Orthogonal Polynomials, Quadrature, and Polynomial Chaos

Join the chat at https://julialang.zulipchat.com #sciml-bridged Global Docs

codecov Build Status

ColPrac: Contributor's Guide on Collaborative Practices for Community Packages SciML Code Style

Code DOI Paper@arXiv

A Julia package to construct orthogonal polynomials, their quadrature rules, and use it with polynomial chaos expansions.

Tutorials and Documentation

For information on using the package, see the stable documentation. Use the in-development documentation for the version of the documentation, which contains the unreleased features.

The package requires Julia 1.3 or newer. In Julia switch to the package manager

using Pkg
Pkg.add("PolyChaos")

This will install PolyChaos and its dependencies. Once that is done, load the package:

using PolyChaos

That's it.

Let's take a look at a simple example. We would like to solve the integral

equation

Exploiting the underlying uniform measure, the integration can be done exactly with a 3-point quadrature rule.

opq = Uniform01OrthoPoly(3)
integrate(x -> 6x^5, opq)

For more information please visit the documentation.

Citing

If you like PolyChaos.jl, consider citing our paper

@ARTICLE{2020arXiv200403970M,
       author = {{M{\"u}hlpfordt}, Tillmann and {Zahn}, Frederik and {Hagenmeyer}, Veit and {Faulwasser}, Timm},
        title = "{PolyChaos.jl -- A Julia Package for Polynomial Chaos in Systems and Control}",
      journal = {arXiv e-prints},
     keywords = {Electrical Engineering and Systems Science - Systems and Control, Mathematics - Numerical Analysis, Mathematics - Optimization and Control},
         year = 2020,
        month = apr,
          eid = {arXiv:2004.03970},
        pages = {arXiv:2004.03970},
archivePrefix = {arXiv},
       eprint = {2004.03970},
 primaryClass = {eess.SY},
}

Used By Packages