Home > Extreme Optimization Mathematics Library for .NET > Reference > Extreme.Mathematics.Curves Namespace
Serves as an abstract base class for collections of functions.
For a list of all members of this type, see FunctionBasis Members.
System.Object
FunctionBasis
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 and FillValues methods evaluate all basis functions for a given value or set of values. The DerivativesAt and FillDerivatives 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 method. The 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 |
|---|---|
| GeneralFunctionBasis | Arbitrary user-defined functions. |
| PolynomialBasis | Polynomials up to a specified degree. |
| ChebyshevBasis | 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, DerivativesAt, Length, Item.
Notes to inheritors:When you inherit from FunctionBasis, you must override the following methods and properties: FillValues. You should override FillDerivatives and Item.
Namespace: Extreme.Mathematics.Curves
Assembly: Extreme.Mathematics (in Extreme.Mathematics.dll)
FunctionBasis Members | Extreme.Mathematics.Curves Namespace | GeneralFunctionBasis | PolynomialBasis | ChebyshevBasis | LinearCombination