Assembly: Extreme.Numerics (Extreme.Numerics)
Syntax
| Visual Basic (Declaration) |
|---|
Public MustInherit Class FunctionBasis |
| C# |
|---|
public abstract class FunctionBasis |
| C++ |
|---|
public ref class FunctionBasis abstract |
Methods
| Icon | Type | Description |
|---|---|---|
| DerivativesAt(Double) |
Evaluates the derivatives of the member functions of this
FunctionBasis at a specified value.
| |
| Equals(Object) | ||
| FillDerivatives(Double, GeneralVector) |
Fills a Vector with the derivatives of the
member functions at a specified value.
| |
| FillDerivatives(Vector, GeneralMatrix) |
Fills the rows of a GeneralMatrix with the values
of the member functions of a FunctionBasis evaluated for each element
in a Vector.
| |
| FillValues(Double, GeneralVector) |
Fills a GeneralVector with the values of the
member functions of a FunctionBasis at a specified value.
| |
| FillValues(Vector, GeneralMatrix) |
Fills the rows of a GeneralMatrix with the values
of the member functions of a FunctionBasis evaluated for each element
in a Vector.
| |
| Finalize() | ||
| GetFunction(Double[]()) |
Constructs a new LinearCombination from
the functions in this instance.
| |
| GetFunction(Vector) |
Constructs a new LinearCombination from
the functions in this instance.
| |
| GetHashCode() | Serves as a hash function for a particular type. | |
| GetType() | Gets the Type of the current instance. | |
| LeastSquaresFit(Double[](), Double[](), Int32) |
Gets the least squares fit of target data in terms of
the components of the FunctionBasis.
| |
| LeastSquaresFit(Double[](), Double[](), Double[]()) |
Gets the least squares fit of target data in terms of
the components of the FunctionBasis.
| |
| LeastSquaresFit(Vector, Vector) |
Gets the least squares fit of target data in terms of
the components of the FunctionBasis.
| |
| LeastSquaresFit(Vector, Vector, Vector) |
Gets the least squares fit of target data in terms of
the components of the FunctionBasis.
| |
| MemberwiseClone() | Creates a shallow copy of the current Object. | |
| ToString() | ||
| ValuesAt(Double) |
Evaluates the member functions of this
FunctionBasis at a specified value.
|
Constructors
| Icon | Type | Description |
|---|---|---|
| FunctionBasisNew(Int32) |
Constructs a new FunctionBasis with the specified number of basis
functions.
|
Properties
| Icon | Type | Description |
|---|---|---|
| Item(Int32) |
Gets an element of the collection as a
RealFunction.
| |
| Length |
Gets the number of items in this FunctionBasis.
|
Remarks
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, GeneralVector) methods evaluate all basis functions for a given value or set of values. The DerivativesAt(Double) and FillDerivatives(Double, GeneralVector) 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(Double[]()) method. The LeastSquaresFit(Double[](), Double[](), Int32) 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 | Polynomial 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(Double), DerivativesAt(Double), Length, Item(Int32).
Notes to inheritors:When you inherit from FunctionBasis, you must override the following methods and properties: FillValues(Double, GeneralVector). You should override FillDerivatives(Double, GeneralVector) and Item(Int32).