MultivariatePolynomialBasis Class

Represents a multivariate polynomial basis consisting of all monomials up to a specified maximum total degree.

Definition

Namespace: Numerics.NET.Curves.Surfaces
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
C#
public sealed class MultivariatePolynomialBasis
Inheritance
Object  →  MultivariatePolynomialBasis

Remarks

This class represents a polynomial basis for functions on ℝᵈ, where the basis consists of all monomials x^α = x₁^α₁ · x₂^α₂ · ... · xₐ^αₐ with total degree |α| = α₁ + α₂ + ... + αₐ ≤ MaxDegree.

The monomials are enumerated in a canonical order:

  • First, by total degree: 0, 1, 2, ..., MaxDegree
  • Within each degree, lexicographically by multi-index
For example, in 3D with MaxDegree = 2, the basis is ordered as:
C#
1 (degree 0)
x, y, z (degree 1)
x², xy, xz, y², yz, z² (degree 2)

This basis is used for polynomial augmentation in radial basis function interpolation with conditionally positive definite (CPD) kernels, where a polynomial tail is required to ensure well-posedness and exact reproduction of low-degree polynomials.

Properties

BasisCount Gets the number of basis functions.
Dimension Gets the dimension of the input space.
MaxDegree Gets the maximum total degree of the monomials in the basis.

Methods

CreateTotalDegree Creates a total-degree polynomial basis for the specified dimension and maximum degree.
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
EvaluateBasis(Matrix<Double>, Matrix<Double>) Evaluates all basis functions at multiple points.
EvaluateBasis(ReadOnlySpan<Double>, Span<Double>) Evaluates all basis functions at the specified point.
EvaluateBasis(ReadOnlySpan2D<Double>, Span2D<Double>) Evaluates all basis functions at multiple points stored in column-major layout.
EvaluateBasis(Vector<Double>, Vector<Double>) Evaluates all basis functions at the specified point.
EvaluateBasisGradient(ReadOnlySpan<Double>, Span2D<Double>) Computes the gradient of all basis functions at the specified point.
EvaluateBasisGradient(Vector<Double>, Matrix<Double>) Computes the gradient of all basis functions at the specified point.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also