ONBasis

An ONBasis (orthonormal basis) encapsulates information about the orthogonal polynomials associated with a given probability distribution. This includes norms, quadrature rules, and cached evaluations at quadrature points. The ONBasis serves as a fundamental building block for constructing the tensorized basis linked to the multi-indices in the stochastic discretization.

ExtendableASGFEM.ONBasisType
ONBasis(
    OBT::Type{<:OrthogonalPolynomialType},
    maxorder;
    ...
) -> ONBasis{Float64}
ONBasis(
    OBT::Type{<:OrthogonalPolynomialType},
    maxorder,
    maxquadorder;
    T
) -> ONBasis{Float64}

Constructs an ONBasis for the given orthogonal polynomial type and associated weight function, up to the specified maximum polynomial order.

Arguments

  • OBT: The type of orthogonal polynomial (subtype of OrthogonalPolynomialType).
  • maxorder: The highest polynomial degree to include in the basis.
  • maxquadorder: The quadrature order to use for integration (default: 2 * maxorder).
  • T: The floating-point type for computations (default: Float64).

Returns

An ONBasis object containing:

  • The norms of all basis functions.
  • A workspace for storing evaluations.
  • The quadrature rule (points and weights).
  • Precomputed values of all basis functions at the quadrature points.
source
ExtendableASGFEM.ONBasisType
struct ONBasis{T<:Real, OBT<:OrthogonalPolynomialType, npoly, nquad}

A structure that stores all relevant information for an orthonormal polynomial basis (ONBasis), including:

  • The norms of all basis functions.
  • The quadrature rule (points and weights) used for integration.
  • Precomputed values of all basis functions at the quadrature points.
  • A workspace for storing the result of the last evaluation.

This structure enables efficient evaluation, integration, and manipulation of orthogonal polynomial bases for stochastic Galerkin methods and related applications.

source
ExtendableASGFEM.qpMethod
qp(
    ONB::ONBasis
) -> StaticArraysCore.SVector{nquad, T} where {T<:Real, nquad}

returns the quadrature points

source
ExtendableASGFEM.qwMethod
qw(
    ONB::ONBasis
) -> StaticArraysCore.SVector{nquad, T} where {T<:Real, nquad}

returns the quadrature weights

source
ExtendableASGFEM.vals4xrefMethod
vals4xref(
    ONB::ONBasis
) -> StaticArraysCore.SMatrix{nquad, npoly, T} where {T<:Real, npoly, nquad}

returns the values of all polynomials at the quadrature points

source