ca.nengo.math
Interface LinearApproximator

All Superinterfaces:
java.lang.Cloneable, java.io.Serializable
All Known Implementing Classes:
CompositeApproximator, GradientDescentApproximator, IndependentDimensionApproximator, WeightedCostApproximator

public interface LinearApproximator
extends java.io.Serializable, java.lang.Cloneable

Finds coefficients on a set of functions so that their linear combination approximates a target Function. In other words, finds a_i so that sum(a_i * f_i(x)) roughly equals t(x) in some sense, where f_i are the functions to be combined and t is a target function, both over some range of the variable x.

Can be used to find decoding vectors and synaptic weights.

Author:
Bryan Tripp

Method Summary
 LinearApproximator clone()
           
 float[] findCoefficients(Function target)
          Note: more information is needed than the arguments provide (for example the functions that are to be combined to estimate the target).
 float[][] getEvalPoints()
           
 float[][] getValues()
           
 

Method Detail

findCoefficients

float[] findCoefficients(Function target)
Note: more information is needed than the arguments provide (for example the functions that are to be combined to estimate the target). These other data are object properties. This enables re-use of calculations based on these data, for estimating multiple functions.

Parameters:
target - Function to approximate
Returns:
coefficients on component functions which result in an approximation of the target

clone

LinearApproximator clone()
                         throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException

getEvalPoints

float[][] getEvalPoints()
Returns:
Points at which target functions are evaluated. Each row (or float[]) corresponds to a single evaluation point. These points should usually be uniformly distributed, because the sum of error at these points is treated as an integral over the domain of interest.

getValues

float[][] getValues()
Returns:
The values of component functions at the evaluation points. The first dimension makes up the list of functions, and the second the values of these functions at each evaluation point.