MultivariatePolynomial Class

Represents a multivariate polynomial as a linear combination of basis monomials.

Definition

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

Remarks

This class represents a polynomial function p: ℝᵈ → ℝ as a linear combination of monomials:

p(x) = Σᵢ cᵢ · φᵢ(x)

where φᵢ(x) are the basis monomials (x^αᵢ) from a MultivariatePolynomialBasis and cᵢ are the coefficients.

This class inherits from Surface and provides evaluation and gradient computation for polynomial surfaces. It supports both single-point and batched operations for efficient evaluation at multiple points.

Multivariate polynomials are used for polynomial augmentation in radial basis function interpolation with conditionally positive definite (CPD) kernels.

Constructors

MultivariatePolynomial Initializes a new instance of the MultivariatePolynomial class.

Properties

Basis Gets the polynomial basis used by this polynomial.
Coefficients Gets the coefficients of the polynomial.
Dimension Gets the number of dimensions of the input space.
(Inherited from Surface)

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Evaluate(Double[]) Evaluates the surface at the specified point.
(Inherited from Surface)
Evaluate(IReadOnlyList<Double>) Evaluates the surface at the specified point.
(Inherited from Surface)
Evaluate(ReadOnlySpan<Double>) Evaluates the polynomial at the specified point.
(Overrides Surface.Evaluate(ReadOnlySpan<Double>))
Evaluate(Vector<Double>) Evaluates the polynomial at the specified point.
Evaluate(IReadOnlyList<Vector<Double>>, Span<Double>) Evaluates the surface at multiple points specified by a list of vectors.
(Inherited from Surface)
Evaluate(Matrix<Double>, Vector<Double>) Evaluates the polynomial at multiple points.
Evaluate(ReadOnlySpan<Vector<Double>>, Span<Double>) Evaluates the surface at multiple points specified by a read-only span of vectors.
(Inherited from Surface)
Evaluate(ReadOnlySpan2D<Double>, Span<Double>) Evaluates the polynomial at multiple points stored in column-major layout.
Evaluate(Int32, ReadOnlySpan2D<Double>, Span<Double>) Evaluates the surface at multiple points stored in column-major layout.
(Inherited from Surface)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Gradient(Vector<Double>) Computes the gradient of the surface at the specified point.
(Inherited from Surface)
Gradient(Double, Double) Computes the gradient of a 2D surface at the specified point.
(Inherited from Surface)
Gradient(ReadOnlySpan<Double>, Span<Double>) Computes the gradient of the polynomial at the specified point.
(Overrides Surface.Gradient(ReadOnlySpan<Double>, Span<Double>))
Gradient(Vector<Double>, Vector<Double>) Computes the gradient of the polynomial at the specified point.
Gradients(Matrix<Double>) Computes the gradients of the surface at multiple points.
(Inherited from Surface)
Gradients(Matrix<Double>, Matrix<Double>) Computes the gradients of the polynomial at multiple points.
Gradients(ReadOnlySpan2D<Double>, Span2D<Double>) Computes the gradients of the polynomial at multiple points stored in column-major layout.
Hessian Computes the Hessian matrix of the surface at the specified point.
(Inherited from Surface)
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also