RadialBasisFunction Class

Represents a radial basis function (RBF) kernel.

Definition

Namespace: Numerics.NET.Curves
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.1.0
C#
public abstract class RadialBasisFunction : Curve
Inheritance
Object  →  Curve  →  RadialBasisFunction

Remarks

This abstract base class represents a radial basis function kernel φ(r) where r ≥ 0 is the distance from a center point. RBF kernels are used in radial basis function interpolation to construct smooth approximations of scattered data.

Different kernels have different smoothness properties and may be more or less suitable depending on the application. Some kernels have compact support (non-zero only within a finite radius), while others have infinite support but decay to zero at infinity.

RBF kernels are classified as either strictly positive definite (PD) or conditionally positive definite (CPD). CPD kernels require polynomial augmentation during interpolation to ensure well-posedness and exact reproduction of low-degree polynomials.

To create standard RBF kernels, use the static factory class RadialBasisFunctions. Custom kernels can be implemented by deriving from this class.

Constructors

RadialBasisFunction(Int32) Initializes a new instance of the RadialBasisFunction class.
RadialBasisFunction(Int32, Int32) Initializes a new instance of the RadialBasisFunction class with polynomial augmentation.

Properties

AugmentedPolynomialDegree Gets the degree of polynomial augmentation required for this kernel, or -1 if no augmentation is needed.
HasCompactSupport Gets a value indicating whether this kernel has compact support.
Parameters Gets the collection of parameters that determine the shape of this Curve.
(Inherited from Curve)
SupportRadius Gets the support radius of the kernel.

Methods

Clone Constructs an exact copy of this instance.
(Inherited from Curve)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
FindRoots Gets the set of X-coordinates where the curve crosses the X-axis.
(Inherited from Curve)
GetCurveFitter Returns a CurveFitter object that can be used to fit the curve to data.
(Inherited from Curve)
GetDerivative Returns a Curve that represents the derivative of this Curve.
(Inherited from Curve)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Integral Gets the definite integral of the curve between the specified X-coordinates.
(Inherited from Curve)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
OnParameterChanged Called after a Curve parameter has been changed.
(Inherited from Curve)
OnParameterChanging Called before the value of a curve parameter is changed.
(Inherited from Curve)
SetParameter Sets a curve parameter to the specified value.
(Inherited from Curve)
SlopeAt(Double) Gets the slope of the curve at the specified X-coordinate.
(Inherited from Curve)
SlopeAt(Double[]) Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve)
SlopeAt(ReadOnlySpan<Double>) Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve)
SlopeAt(Vector<Double>) Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve)
SlopeAt(ReadOnlySpan<Double>, Span<Double>) Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve)
Solve Finds the x value where the curve reaches the specified y value.
(Inherited from Curve)
TangentAt Gets the tangent line to the curve at the specified X-coordinate.
(Inherited from Curve)
ToStringReturns a string that represents the current object.
(Inherited from Object)
ValueAt(Double[]) Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve)
ValueAt(Double) Evaluates the radial basis function kernel at the specified radius.
(Overrides Curve.ValueAt(Double))
ValueAt(ReadOnlySpan<Double>) Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve)
ValueAt(Vector<Double>) Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve)
ValueAt(ReadOnlySpan<Double>, Span<Double>) Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve)

See Also