Package: pythia-uq
PyThia Uncertainty Quantification ToolboxThe PyThia UQ toolbox uses polynomial chaos surrogates to efficiently generate a surrogate of any (parametric) forward problem.
The surrogate is fast to evaluate, allows analytical differentiation and has a built-in global sensitivity analysis via Sobol indices.
Assembling the surrogate is done non-intrusive by least-squares regression, hence only training pairs of parameter realizations and evaluations of the forward problem are required to construct the surrogate.
No need to compute any nasty interfaces for lagacy code.Why the Name?Pythia was the title of the high priestess of the temple of Apollo in Delphi.
Hence you could say she used her prophetic abilities to quantify which was uncertain.
Moreover, the package is written in python, so...InstallationThe latest stable version of PyThia can be installed using pippip install pythia-uqTo install PyThia from source, i.e., if you want to work with the latest (and possibly unstable) changes, simply clone the repository and run the setup script to install PyThia to any environmentcdpath/to/pythia-repo/
pipinstall.PyThia can then be imported from any location withimport pythia.DocumentationThe documentation of the stable package version can be found here:pythia-uq.rtfd.io.
For other versions of the documentation, seehttps://readthedocs.org/projects/pythia-uq/.How to cite PyThiaThere is no official related article to cite PyThia yet.
If you make use of PyThia in a publication, please use the meta data from theCITATION.cfffile or cite it with a BibTeX entry similar to this:@misc{pythia,author={Hegemann,  Nando and Heidenreich,  Sebastian},title={PyThia UQ Toolbox},doi={10.5281/ZENODO.8329011},url={https://zenodo.org/record/8329011},language={en},publisher={Zenodo},year={2023},month={9},copyright={GNU Lesser General Public License v3.0 or later}}Want to contribute?Check out thecontribution guidelineson how to create issues or file bug reports and feature requests.
Or ever better start developping the PyThia project yourself after reading thedevelopment guidelines.LicenseThis work is dual-licensed under GNU Lesser General Public License v3.0 or later and Hippocratic License 3.0 or later.
You can choose between one of them if you use this work.SPDX-License-Identifier: LGPL-3.0-or-later OR Hippocratic-3.0-ECO-MEDIA-MILFundingThe development of PyThia UQ Toolbox vers. 1 and 2 has been funded by the German Central Innovation Program (ZIM) No. ZF4014017RR7.
The development of PyThia UQ Toolbox vers. 3 and 4 has been funded by the EMPIR project 20IND04-ATMOC.LogoAccess and usage information about the PyThia logo can be found under the following URL:https://gitlab.com/pythia-uq/pythia-logo.ReferencesHere we list the papers that describe concepts implemented inPyThiafor the interested user.
In principlePyThiauses a (sparse) polynomial chaos expansion to construct a surrogate of any function via least-squares regression.
We first applied thePyThiasoftware package to analyse the sensitivities of a scatterometry experiment [^pythia-scat-A] using global sensitivity analysis via Sobol indices [^sobol-indices].
We also solved the inverse problem for the same experiment [^pythia-scat-B] via Bayesian inversion.
To use a minimal but still sufficient amount of random samples for the regression, we integrated weighted least-squares sampling [^wls-sampling] intoPyThia.[^pythia-scat-A]:An efficient approach to global sensitivity analysis and parameter estimation for line gratings[^pythia-scat-B]:Efficient Bayesian inversion for shape reconstruction of lithography masks[^sobol-indices]:Global sensitivity analysis using polynomial chaos expansions[^wls-sampling]:Optimal weighted least-squares methods