javaslam.filter
Class ExtendedTransformation

java.lang.Object
  |
  +--javaslam.filter.Linearization
        |
        +--javaslam.filter.ExtendedTransformation

public class ExtendedTransformation
extends Linearization

The extended transformation for linearizing functions with Gaussian-distributed inputs. This technique computes the first-order Taylor expansion of the nonlinear function. The function to be linearized must implement ExtendedVectorFunction so that the Jacobian can be computed.

This class records counts of all floating point operations using Flops.count(long).


Field Summary
protected static LinearizationFactory factory
          A factory for creating linearizations using the extended transformation.
 
Fields inherited from class javaslam.filter.Linearization
a, B, G, k, m, n, q, vSet, xSet, y, ySet
 
Constructor Summary
ExtendedTransformation(NoisyVectorFunction f, Gaussian px)
          Constructor.
 
Method Summary
static LinearizationFactory getFactory()
          Returns a handle on a factory for creating linearizations using the extended transformation.
 
Methods inherited from class javaslam.filter.Linearization
getCoefficient, getCoefficient, getConstantTerm, getDistribution, getNoiseCovariance, getOutputVariable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

factory

protected static LinearizationFactory factory
A factory for creating linearizations using the extended transformation.

Constructor Detail

ExtendedTransformation

public ExtendedTransformation(NoisyVectorFunction f,
                              Gaussian px)
Constructor.

Parameters:
f - an ExtendedVectorFunction that takes a (n + m)-by-1 vector as input and returns a k-by-1 vector; the function's input is x stacked on top of v
px - a Gaussian distribution (in the moment parameterization) over the n-by-1 vector x (which can be partitioned into several sub-variables)
Throws:
IllegalArgumentException - if the sum dimension of px and pv does not match the input dimension of f
Method Detail

getFactory

public static LinearizationFactory getFactory()
Returns a handle on a factory for creating linearizations using the extended transformation.

Returns:
a factory for creating linearizations