|
Janus 2.0.0
High-performance C++20 dual-mode numerical framework
|
Stochastic quadrature rules (Gauss, Clenshaw-Curtis, Smolyak sparse grids). More...
#include "janus/core/JanusConcepts.hpp"#include "janus/core/JanusError.hpp"#include "janus/core/JanusTypes.hpp"#include "janus/math/OrthogonalPolynomials.hpp"#include "janus/math/PolynomialChaos.hpp"#include <Eigen/Eigenvalues>#include <array>#include <cmath>#include <cstdint>#include <functional>#include <limits>#include <map>#include <numeric>#include <string>#include <utility>#include <vector>

Go to the source code of this file.
Classes | |
| struct | janus::UnivariateQuadratureRule |
| One-dimensional stochastic quadrature rule on a probability measure. More... | |
| struct | janus::StochasticQuadratureGrid |
| Multidimensional stochastic quadrature grid with row-major sample layout. More... | |
| struct | janus::SmolyakQuadratureOptions |
| Options for Smolyak sparse-grid construction. More... | |
| struct | janus::detail::EmbeddedQuadratureRule |
Namespaces | |
| namespace | janus |
| namespace | janus::detail |
| Smooth approximation of ReLU function: softplus(x) = (1/beta) * log(1 + exp(beta * x)). | |
Enumerations | |
| enum class | janus::StochasticQuadratureRule { janus::Gauss , janus::ClenshawCurtis , janus::GaussKronrod15 , janus::AutoNested } |
| One-dimensional rule family used to generate stochastic quadrature nodes. More... | |
Functions | |
| const EmbeddedQuadratureRule & | janus::detail::gauss_kronrod_15_rule () |
| void | janus::detail::validate_order (int order, const std::string &context) |
| void | janus::detail::validate_level (int level, const std::string &context) |
| double | janus::detail::binomial (int n, int k) |
| int | janus::detail::clenshaw_curtis_order_from_level (int level) |
| int | janus::detail::gauss_order_from_level (int level) |
| bool | janus::detail::is_bounded_support (const PolynomialChaosDimension &dimension) |
| double | janus::detail::standard_normal_moment (int degree) |
| double | janus::detail::shifted_beta_moment (int degree, double alpha, double beta) |
| double | janus::detail::probability_moment (const PolynomialChaosDimension &dimension, int degree) |
| NumericVector | janus::detail::clenshaw_curtis_probability_weights (const PolynomialChaosDimension &dimension, const NumericVector &nodes) |
| UnivariateQuadratureRule | janus::detail::make_gauss_from_jacobi_matrix (const NumericVector &diag, const NumericVector &offdiag, int level) |
| UnivariateQuadratureRule | janus::detail::gauss_rule (const PolynomialChaosDimension &dimension, int order, int level) |
| UnivariateQuadratureRule | janus::detail::gauss_kronrod_rule (const PolynomialChaosDimension &dimension, int order, int level) |
| UnivariateQuadratureRule | janus::detail::clenshaw_curtis_rule (const PolynomialChaosDimension &dimension, int order, int level) |
| std::vector< std::vector< int > > | janus::detail::positive_compositions (int dim, int sum) |
| std::string | janus::detail::sample_key (const NumericVector &point, double tolerance) |
| UnivariateQuadratureRule | janus::stochastic_quadrature_rule (const PolynomialChaosDimension &dimension, int order, StochasticQuadratureRule rule=StochasticQuadratureRule::Gauss) |
| Build a one-dimensional stochastic quadrature rule with a fixed order. | |
| UnivariateQuadratureRule | janus::stochastic_quadrature_level (const PolynomialChaosDimension &dimension, int level, StochasticQuadratureRule rule=StochasticQuadratureRule::AutoNested) |
| Build a one-dimensional stochastic quadrature rule from a refinement level. | |
| StochasticQuadratureGrid | janus::tensor_product_quadrature (const std::vector< UnivariateQuadratureRule > &rules) |
| Build the tensor-product grid from a list of one-dimensional rules. | |
| StochasticQuadratureGrid | janus::smolyak_sparse_grid (const std::vector< PolynomialChaosDimension > &dimensions, int level, SmolyakQuadratureOptions options={}) |
| Build a Smolyak sparse grid on probability measures. | |
| template<JanusScalar Scalar> | |
| JanusVector< Scalar > | janus::pce_projection_coefficients (const PolynomialChaosBasis &basis, const UnivariateQuadratureRule &rule, const JanusVector< Scalar > &sample_values) |
| Compute PCE projection coefficients using a univariate quadrature rule (vector). | |
| template<JanusScalar Scalar> | |
| JanusMatrix< Scalar > | janus::pce_projection_coefficients (const PolynomialChaosBasis &basis, const UnivariateQuadratureRule &rule, const JanusMatrix< Scalar > &sample_values) |
| Compute PCE projection coefficients using a univariate quadrature rule (matrix). | |
| template<JanusScalar Scalar> | |
| JanusVector< Scalar > | janus::pce_projection_coefficients (const PolynomialChaosBasis &basis, const StochasticQuadratureGrid &grid, const JanusVector< Scalar > &sample_values) |
| Compute PCE projection coefficients using a stochastic quadrature grid (vector). | |
| template<JanusScalar Scalar> | |
| JanusMatrix< Scalar > | janus::pce_projection_coefficients (const PolynomialChaosBasis &basis, const StochasticQuadratureGrid &grid, const JanusMatrix< Scalar > &sample_values) |
| Compute PCE projection coefficients using a stochastic quadrature grid (matrix). | |
Stochastic quadrature rules (Gauss, Clenshaw-Curtis, Smolyak sparse grids).