Implementing generalized Polynomial Chaos Expansion (gPCE) for uncertainty quantification and surrogate modeling
Project description
gPCE_model
A Python package implementing generalized Polynomial Chaos Expansion (gPCE) for uncertainty quantification and surrogate modeling.
- Website: https://buildchain.ilab.sztaki.hu/
- Source code: https://github.com/TRACE-Structures/gPCE_model
- Bug reports: https://github.com/TRACE-Structures/gPCE_model/issues
Overview
The gPCE_model package provides a complete framework for building and using generalized Polynomial Chaos Expansion (gPCE) surrogate models. These models efficiently approximate computational expensive simulations while quantifying uncertainty in the outputs. The implementation supports various polynomial systems, multi-index generation, and comprehensive uncertainty analysis including Sobol sensitivity indices.
Features
- Generalized Polynomial Chaos Expansion: Build surrogate models using orthogonal polynomial bases
- Multiple Training Methods:
- Regression-based coefficient computation
- Projection-based coefficient computation
- Multi-index Management: Flexible basis construction with total degree or full tensor product
- Uncertainty Quantification:
- Mean and variance computation
- Sobol sensitivity indices (partial variances)
- SHAP value integration for interpretability
- Orthogonal Polynomial Support: Works with various polynomial systems (Hermite, Legendre, Jacobi, etc.)
- Model Export: JSON-LD metadata export for interoperability
Core Components
GpcModel Class
The main class for generalized polynomial chaos expansion models.
Key Attributes:
basis: GpcBasis object containing basis functionsQ: VariableSet defining probabilistic input variablesu_alpha_i: Coefficients of the gPCE expansionp: Maximum polynomial degree
Key Methods:
compute_coeffs_by_regression(q_k_j, u_k_i): Train using least squares regressioncompute_coeffs_by_projection(q_k_j, u_k_i, w_k): Train using quadrature projectionpredict(q_k_j): Predict output at new input pointsmean(): Compute mean of the gPCE modelvariance(): Compute variance of the gPCE modelcompute_partial_vars(model_obj, max_index=1): Compute Sobol sensitivity indices
GpcBasis Class
Manages the polynomial basis functions for gPCE.
Key Attributes:
m: Number of random variablessyschars: System characters defining polynomial typesp: Maximum polynomial degreeI: Multi-index set defining basis functions
Key Methods:
evaluate(xi, dual=False): Evaluate basis functions at given pointsnorm(do_sqrt=True): Compute norm of basis functionssize(): Get size of the multi-index set
Multi-index Functions
Functions for generating and managing multi-index sets.
multiindex(m, p, full_tensor=False): Generate multi-index set for m variables and degree pnp_sortrows(M, columns=None): Sort rows of 2D array by specified columns
Authors and acknowledgment
The code is developed by András Urbanics, Bence Popovics, Emese Vastag, Elmar Zander and Noémi Friedman in the TRACE-Structures group. The softwer is built on Elmar Zander's sglib approach.
The research and the development is founded by the Eurpean Union as part of the BUILDCHAIN project.
License
This project is licensed under the GNU General Public License v3.0 (GPL-3.0-only). See the LICENSE file for details.
Support
For questions or issues, please refer to the project repository or contact the development team.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gpce_model-0.1.0.tar.gz.
File metadata
- Download URL: gpce_model-0.1.0.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce9019a0d427d9a0780118246ee0a94ba3ad5749406a952171f493f02efd2ddf
|
|
| MD5 |
747eac8ccabac657f6ee5eb3a4f11566
|
|
| BLAKE2b-256 |
4a104f65fe9df044047ec939cc3f356b0cfa4b1b94b4d94036d2f7f53d05b418
|
Provenance
The following attestation bundles were made for gpce_model-0.1.0.tar.gz:
Publisher:
python-publish.yml on TRACE-Structures/gPCE_model
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gpce_model-0.1.0.tar.gz -
Subject digest:
ce9019a0d427d9a0780118246ee0a94ba3ad5749406a952171f493f02efd2ddf - Sigstore transparency entry: 768784962
- Sigstore integration time:
-
Permalink:
TRACE-Structures/gPCE_model@d8f3fc4420b68e8fc69e8701983658dcafbd0b53 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/TRACE-Structures
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d8f3fc4420b68e8fc69e8701983658dcafbd0b53 -
Trigger Event:
release
-
Statement type:
File details
Details for the file gpce_model-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gpce_model-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7af8b2d0e29469dfa12a5cda29a29f158d974d7a7861371cdf69c3bf207bfb87
|
|
| MD5 |
0ffb0899d7d0c4cd66e3d90a7efa9470
|
|
| BLAKE2b-256 |
98cae14536b5c01f396b1c17374f91eecd945b91212ce25238143480457573f6
|
Provenance
The following attestation bundles were made for gpce_model-0.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on TRACE-Structures/gPCE_model
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gpce_model-0.1.0-py3-none-any.whl -
Subject digest:
7af8b2d0e29469dfa12a5cda29a29f158d974d7a7861371cdf69c3bf207bfb87 - Sigstore transparency entry: 768784965
- Sigstore integration time:
-
Permalink:
TRACE-Structures/gPCE_model@d8f3fc4420b68e8fc69e8701983658dcafbd0b53 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/TRACE-Structures
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d8f3fc4420b68e8fc69e8701983658dcafbd0b53 -
Trigger Event:
release
-
Statement type: