Serves as an abstract base class for collections of functions.

Namespace: Extreme.Mathematics.Curves
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

IconTypeDescription
DerivativesAt(Double)
Evaluates the derivatives of the member functions of this FunctionBasis at a specified value.
Equals(Object)
Determines whether the specified Object is equal to the current 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()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
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()
Returns a String that represents the current Object.
ValuesAt(Double)
Evaluates the member functions of this FunctionBasis at a specified value.

Constructors

IconTypeDescription
FunctionBasisNew(Int32)
Constructs a new FunctionBasis with the specified number of basis functions.

Properties

IconTypeDescription
Item(Int32)
Gets an element of the collection as a RealFunction.
Length
Gets the number of items in this FunctionBasis.

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, 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:
ClassBasis functions
GeneralFunctionBasisArbitrary user-defined functions.
PolynomialBasisPolynomial up to a specified degree.
ChebyshevBasisChebyshev 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).

Inheritance Hierarchy

System.Object
  Extreme.Mathematics.Curves.FunctionBasis

See Also