Function Basis Class
Definition
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.4
public abstract class FunctionBasis
- Inheritance
- Object → FunctionBasis
- Derived
Remarks
A FunctionBasis represents a collection of real functions of one real variable. The LinearCombination class implements a Curve that is a linear combination of basis functions in a FunctionBasis.
A function basis is particularly useful for representing a class of functions where the cost of evaluating a series of functions is much less than that of evaluating the functions individually. For example, to evaluate all powers up to degree 10 requires up to 55 multiplications, where only 10 multiplications are required if they are evaluated as a group.
The ValuesAt(Double) and FillValues(Double, DenseVector<Double>) methods evaluate all basis functions for a given value or set of values. The DerivativesAt(Double) and FillDerivatives(Double, DenseVector<Double>) methods evaluate the derivative of all basis functions for a given value or set of values. Derived classes provide optimized implementations of these methods for specific classes of curves.
The curves in a function basis can be combined into a LinearCombination curve using the GetFunction(Vector<Double>) method. The [o:LeastSquaresFit] methods calculate the LinearCombination that is the least squares fit to a set of data points using curves from the function basis.
This is an abstract base class. The following classes derive from FunctionBasis:
Class | Basis functions |
---|---|
General | Arbitrary user-defined functions. |
Polynomial | Polynomials up to a specified degree. |
Chebyshev | Chebyshev polynomials over a specified interval up to a specified degree. |
Notes to inheritors: When you derive from FunctionBasis, you must override the following members: ValuesAt(Double), DerivativesAt(Double), Length, Item[Int32].
Notes to inheritors:When you inherit from FunctionBasis, you must override the following methods and properties: FillValues(Double, DenseVector<Double>). You should override FillDerivatives(Double, DenseVector<Double>) and Item[Int32].
Constructors
Function | Constructs a new FunctionBasis with the specified number of basis functions. |
Properties
Item | Gets an element of the collection as a function of one variable. |
Length | Gets the number of items in this FunctionBasis. |
Methods
Derivatives | Evaluates the derivatives of the member functions of this FunctionBasis at a specified value. |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
Fill | Fills a vector with the derivatives of the member functions at a specified value. |
Fill | Fills the rows of a DenseMatrix<T> with the values of the member functions of a FunctionBasis evaluated for each element in a Vector. |
Fill | Fills a dense vector with the values of the member functions of a FunctionBasis at a specified value. |
Fill | Fills the rows of a DenseMatrix<T> with the values of the member functions of a FunctionBasis evaluated for each element in a Vector. |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
Get | Constructs a new LinearCombination from the functions in this instance. |
Get | Serves as the default hash function. (Inherited from Object) |
Get | Gets the Type of the current instance. (Inherited from Object) |
Least | Gets the least squares fit of target data in terms of the components of the FunctionBasis. |
Least | Gets the least squares fit of target data in terms of the components of the FunctionBasis. |
Least | Gets the least squares fit of target data in terms of the components of the FunctionBasis. |
Least | Gets the least squares fit of target data in terms of the components of the FunctionBasis. |
Memberwise | Creates a shallow copy of the current Object. (Inherited from Object) |
ToString | Returns a string that represents the current object. (Inherited from Object) |
Values | Evaluates the member functions of this FunctionBasis at a specified value. |