Extreme Optimization™: Complexity made simple.

Numerical Components
for .NET

  • Home
  • •
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • •
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • •
  • Support
    • Frequently Asked Questions
    • QuickStart Samples
    • Sample Applications
    • Downloads
  • •
  • Blog
  • •
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Contact us
Introduction
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand ReferenceReference
  • Home
  • Documentation
  • Reference
  • Extreme.Mathematics.Curves Namespace
  • FunctionBasis Class
    • Members
    • FunctionBasis Constructor
    • Methods
    • Properties
Collapse imageExpand ImageCopy imageCopyHover image
       




FunctionBasis Class

Members  See Also 
Serves as an abstract base class for collections of functions.

Namespace:  Extreme.Mathematics.Curves
Assembly:  Extreme.Numerics.Net20 (in Extreme.Numerics.Net20.dll) Version: 3.6.10055.0 (3.6.10077.0)

Syntax

C#
public abstract class FunctionBasis
Visual Basic (Declaration)
Public MustInherit Class FunctionBasis
Visual C++
public ref class FunctionBasis abstract
F#
[<AbstractClassAttribute>]
type FunctionBasis =  class end

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(array<Double>[]()[]) method. The LeastSquaresFit(array<Double>[]()[], array<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.
PolynomialBasisPolynomials 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
    Extreme.Mathematics.Curves..::.ChebyshevBasis
    Extreme.Mathematics.Curves..::.GeneralFunctionBasis
    Extreme.Mathematics.Curves..::.PolynomialBasis

See Also

FunctionBasis Members
Extreme.Mathematics.Curves Namespace
Extreme.Mathematics.Curves..::.GeneralFunctionBasis
Extreme.Mathematics.Curves..::.PolynomialBasis
Extreme.Mathematics.Curves..::.ChebyshevBasis
Extreme.Mathematics.Curves..::.LinearCombination

Send comments on this topic to support@extremeoptimization.com

Copyright © 2003-2010, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.