Measures and Orthogonal Polynomials
PolyChaos.Beta01Measure — Type
Beta01Measure(a, b)Beta probability measure on (0, 1).
Arguments
a: first positive beta shape parameter.b: second positive beta shape parameter.
Fields
w,dom,symmetric: measure data.ashapeParameter,bshapeParameter: validated beta parameters.
PolyChaos.Beta01OrthoPoly — Type
Beta01OrthoPoly(deg, shape_a, shape_b; Nrec = deg + 1,
addQuadrature = true)Construct the basis orthogonal to a beta probability measure on (0, 1).
Arguments
deg: nonnegative maximum degree.shape_a,shape_b: positive beta shape parameters.
Keywords
Nrec: recurrence coefficient count.addQuadrature: whether to attach Gaussian quadrature.
Fields
deg: maximum represented degree.α,β: monic recurrence coefficients.measure: beta measure on(0, 1).quad: attached quadrature rule orEmptyQuad.
PolyChaos.EmptyQuad — Type
EmptyQuad()Represent the absence of an attached quadrature rule.
EmptyQuad is returned when an orthogonal basis is constructed with addQuadrature = false. nw returns an empty 0 x 2 matrix for it; quadrature-dependent operations should reject it.
PolyChaos.GammaMeasure — Type
GammaMeasure(shape, rate = 1)Gamma probability measure on (0, Inf) with unit rate.
Arguments
shape: positive gamma shape.rate: currently required to equal1.
Fields
w,dom,symmetric: measure data.shapeParameter,rateParameter: validated gamma parameters.
PolyChaos.GammaOrthoPoly — Type
GammaOrthoPoly(deg, shape, rate; Nrec = deg + 1, addQuadrature = true)Construct the basis orthogonal to a unit-rate gamma probability measure.
Arguments
deg: nonnegative maximum degree.shape: positive gamma shape.rate: currently required to equal1.
Keywords
Nrec: recurrence coefficient count.addQuadrature: whether to attach Gaussian quadrature.
Fields
deg: maximum represented degree.α,β: monic recurrence coefficients.measure: unit-rate gamma measure.quad: attached quadrature rule orEmptyQuad.
PolyChaos.GaussMeasure — Type
GaussMeasure()Standard Gaussian probability measure on the real line.
Fields
w: standard-normal density.dom:(-Inf, Inf).symmetric:true.
PolyChaos.GaussOrthoPoly — Type
GaussOrthoPoly(deg; Nrec = deg + 1, addQuadrature = true)Construct the basis orthogonal to the standard Gaussian probability measure.
Arguments
deg: nonnegative maximum degree.
Keywords
Nrec: recurrence coefficient count.addQuadrature: whether to attach Gaussian quadrature.
Fields
deg: maximum represented degree.α,β: monic recurrence coefficients.measure: standard Gaussian measure.quad: attached quadrature rule orEmptyQuad.
PolyChaos.HermiteMeasure — Type
HermiteMeasure()Canonical Hermite measure with weight exp(-t^2) on the real line.
Fields
w: Hermite weight.dom:(-Inf, Inf).symmetric:true.
PolyChaos.HermiteOrthoPoly — Type
HermiteOrthoPoly(deg; Nrec = deg + 1, addQuadrature = true)Construct the canonical Hermite basis.
Arguments
deg: nonnegative maximum degree.
Keywords
Nrec: recurrence coefficient count.addQuadrature: whether to attach Gaussian quadrature.
Fields
deg: maximum represented degree.α,β: monic recurrence coefficients.measure: canonical Hermite measure.quad: attached quadrature rule orEmptyQuad.
PolyChaos.JacobiMeasure — Type
JacobiMeasure(shape_a, shape_b)Canonical Jacobi measure on (-1, 1).
Arguments
shape_a: exponent of(1 - t); must exceed-1.shape_b: exponent of(1 + t); must exceed-1.
Fields
w,dom,symmetric: measure data.ashapeParameter,bshapeParameter: validated shape parameters.
PolyChaos.JacobiOrthoPoly — Type
JacobiOrthoPoly(deg, shape_a, shape_b; Nrec = deg + 1, addQuadrature = true)Construct the canonical Jacobi basis.
Arguments
deg: nonnegative maximum degree.shape_a,shape_b: Jacobi parameters, each greater than-1.
Keywords
Nrec: recurrence coefficient count.addQuadrature: whether to attach Gaussian quadrature.
Fields
The basis follows the AbstractOrthoPoly contract and stores a JacobiMeasure.
PolyChaos.LaguerreMeasure — Type
LaguerreMeasure()Canonical Laguerre measure with weight exp(-t) on (0, Inf).
Fields
w: Laguerre weight.dom:(0, Inf).symmetric:false.
PolyChaos.LaguerreOrthoPoly — Type
LaguerreOrthoPoly(deg; Nrec = deg + 1, addQuadrature = true)Construct the canonical Laguerre basis.
Arguments
deg: nonnegative maximum degree.
Keywords
Nrec: recurrence coefficient count.addQuadrature: whether to attach Gaussian quadrature.
Fields
deg: maximum represented degree.α,β: monic recurrence coefficients.measure: canonical Laguerre measure.quad: attached quadrature rule orEmptyQuad.
PolyChaos.LegendreMeasure — Type
LegendreMeasure()Canonical Legendre measure with unit weight on (-1, 1).
Fields
w: the Legendre weight function.dom:(-1.0, 1.0).symmetric:true.
Examples
julia> using PolyChaos
julia> LegendreMeasure().dom
(-1.0, 1.0)PolyChaos.LegendreOrthoPoly — Type
LegendreOrthoPoly(deg; Nrec = deg + 1, addQuadrature = true)Construct the canonical Legendre basis through degree deg.
Arguments
deg: nonnegative maximum polynomial degree.
Keywords
Nrec: number of recurrence coefficients; must be at leastdeg + 1.addQuadrature: attach the associated Gaussian quadrature rule.
Fields
deg, alpha, beta, measure, and quad satisfy the AbstractOrthoPoly contract.
PolyChaos.LogisticMeasure — Type
LogisticMeasure()Standard logistic probability measure on the real line.
Fields
w: logistic density.dom:(-Inf, Inf).symmetric:true.
PolyChaos.LogisticOrthoPoly — Type
LogisticOrthoPoly(deg; Nrec = deg + 1, addQuadrature = true)Construct the basis orthogonal to the standard logistic measure.
Arguments
deg: nonnegative maximum degree.
Keywords
Nrec: recurrence coefficient count.addQuadrature: whether to attach Gaussian quadrature.
Fields
deg: maximum represented degree.α,β: monic recurrence coefficients.measure: standard logistic measure.quad: attached quadrature rule orEmptyQuad.
PolyChaos.Measure — Type
Measure(name, w, dom, symmetric, pars = Dict())Construct a user-defined univariate measure.
Arguments
name: descriptive measure name; it is stored in lowercase.w: nonnegative weight function ondom.dom: ordered finite or infinite support bounds.symmetric: whether the measure is symmetric about zero.pars: optional parameter dictionary retained with the measure.
Fields
name: lowercase measure name.w: weight function.dom: support bounds.symmetric: symmetry flag used by scalar-product algorithms.pars: user-supplied metadata.
Examples
julia> using PolyChaos
julia> Measure("uniform", x -> 1.0, (0.0, 1.0), false).name
"uniform"PolyChaos.MeixnerPollaczekMeasure — Type
MeixnerPollaczekMeasure(lambda, phi)Meixner-Pollaczek measure on the real line.
Arguments
lambda: positive shape parameter.phi: angle parameter in(0, pi).
Fields
w,dom,symmetric: measure data.λParameter,ϕParameter: validated family parameters.
PolyChaos.MeixnerPollaczekOrthoPoly — Type
MeixnerPollaczekOrthoPoly(deg, lambda, phi; Nrec = deg + 1,
addQuadrature = true)Construct a Meixner-Pollaczek basis.
Arguments
deg: nonnegative maximum degree.lambda: positive family parameter.phi: angle parameter in(0, pi).
Keywords
Nrec: recurrence coefficient count.addQuadrature: whether to attach Gaussian quadrature.
Fields
deg: maximum represented degree.α,β: monic recurrence coefficients.measure: Meixner-Pollaczek measure.quad: attached quadrature rule orEmptyQuad.
PolyChaos.MultiOrthoPoly — Type
MultiOrthoPoly(uniOrthoPolys, deg)Construct a total-degree multivariate orthogonal-polynomial basis from univariate bases.
Arguments
uniOrthoPolys: one basis per coordinate; each must represent at leastdeg.deg: requested nonnegative total degree.
Fields
name: coordinate basis names.deg,dim: total degree and number of multivariate polynomials.ind: total-degree multi-index matrix.measure: product measure.uni: coordinate bases.
Examples
julia> using PolyChaos
julia> MultiOrthoPoly([LegendreOrthoPoly(2), HermiteOrthoPoly(2)], 2).dim
6PolyChaos.OrthoPoly — Type
OrthoPoly(name, deg, alpha, beta, measure; addQuadrature = true)
OrthoPoly(name, deg, measure; Nrec = deg + 1, Nquad = 10Nrec,
quadrature = clenshaw_curtis, discretization = stieltjes,
addQuadrature = true)Construct a univariate orthogonal-polynomial basis from recurrence coefficients or by discretizing a measure.
Arguments
name: descriptive basis name.deg: maximum represented polynomial degree.alpha,beta: equal-length monic recurrence coefficient vectors.measure: sourceAbstractMeasure.
Keywords
Nrec: number of recurrence coefficients; at leastdeg + 1.Nquad: number of nodes used during numerical discretization.quadrature: numerical quadrature generator.discretization: recurrence-recovery procedure.addQuadrature: attach a Golub-Welsch quadrature rule whentrue.
Fields
name,deg: basis identity and maximum degree.alpha,beta: recurrence coefficients.measure,quad: source measure and attached quadrature orEmptyQuad.
Examples
julia> using PolyChaos
julia> op = OrthoPoly("legendre", 2, LegendreMeasure()); deg(op)
2PolyChaos — Module
PolyChaosOrthogonal-polynomial, quadrature, and polynomial-chaos tools for uncertainty quantification. Construct a canonical basis such as LegendreOrthoPoly, evaluate it with evaluate, and use its quadrature rule through integrate.
PolyChaos.ProductMeasure — Type
ProductMeasure(w, measures)Represent a product measure assembled from univariate component measures.
Arguments
w: product weight function accepting one point per component.measures: componentAbstractMeasures in coordinate order.
Fields
w: product weight function.measures: univariate component measures.
PolyChaos.Quad — Type
Quad(name, N, nodes, weights)
Quad(N, alpha, beta)
Quad(N, measure; quadrature = clenshaw_curtis)Construct a quadrature rule.
Arguments
name: descriptive rule name for the direct constructor.N: positive number of quadrature nodes.nodes,weights: equal-length vectors of nodes and weights.alpha,beta: recurrence coefficients for the Golub-Welsch constructor.measure: measure used by numerical quadrature.
Keywords
quadrature: rule generator used for numerical measure discretization.
Fields
name: lowercase rule name.Nquad: number of nodes.nodes,weights: paired quadrature vectors.
Examples
julia> using PolyChaos
julia> Quad("rule", 2, [-1.0, 1.0], [1.0, 1.0]).Nquad
2PolyChaos.Tensor — Type
Tensor(dim, basis)Construct a sparse tensor of scalar products of order dim for an orthogonal-polynomial basis.
Arguments
dim: positive scalar-product order.basis: a univariateAbstractOrthoPolyor multivariateMultiOrthoPolywith attached quadrature rules.
Fields
dim: scalar-product order.T: sparse vector of tensor entries.get: index-to-entry accessor.op: source orthogonal-polynomial basis.
Examples
julia> using PolyChaos
julia> Tensor(2, LegendreOrthoPoly(2; Nrec = 4)).dim
2PolyChaos.Uniform01Measure — Type
Uniform01Measure()Uniform probability measure on (0, 1).
Fields
w: unit density on(0, 1).dom:(0, 1).symmetric:truefor the centered polynomial family.
PolyChaos.Uniform01OrthoPoly — Type
Uniform01OrthoPoly(deg; Nrec = deg + 1, addQuadrature = true)Construct the basis orthogonal to the uniform probability measure on (0, 1).
Arguments
deg: nonnegative maximum degree.
Keywords
Nrec: recurrence coefficient count.addQuadrature: whether to attach Gaussian quadrature.
Fields
deg: maximum represented degree.α,β: monic recurrence coefficients.measure: uniform measure on(0, 1).quad: attached quadrature rule orEmptyQuad.
PolyChaos.Uniform_11Measure — Type
Uniform_11Measure()Uniform probability measure on (-1, 1).
Fields
w: density1 / 2.dom:(-1, 1).symmetric:true.
PolyChaos.Uniform_11OrthoPoly — Type
Uniform_11OrthoPoly(deg; Nrec = deg + 1, addQuadrature = true)Construct the basis orthogonal to the uniform probability measure on (-1, 1).
Arguments
deg: nonnegative maximum degree.
Keywords
Nrec: recurrence coefficient count.addQuadrature: whether to attach Gaussian quadrature.
Fields
deg: maximum represented degree.α,β: monic recurrence coefficients.measure: uniform measure on(-1, 1).quad: attached quadrature rule orEmptyQuad.