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.ONBasis — Type
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.ONBasis — Type
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.qp — Method
qp(
    ONB::ONBasis
) -> StaticArraysCore.SVector{nquad, T} where {T<:Real, nquad}

returns the quadrature points

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

returns the quadrature weights

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

returns the values of all polynomials at the quadrature points

source