

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object  +javaslam.filter.KalmanFilter
A Kalman filter.
This class records counts of all floating point operations using
Flops.count(long)
(except those used in the service of
debugging and avoiding numerical errors).
Field Summary  
protected Gaussian 
p
The moment potential representing the belief state. 
Constructor Summary  
KalmanFilter(Gaussian p)
Constructor. 
Method Summary  
Gaussian 
getDistribution()
Returns the current filtered belief state. 
Gaussian 
getMarginal(Set vars)
Extracts the filtered marginal distribution. 
Map 
getMarginals(Collection vars)
Extracts a set of unary marginals. 
Set 
getVariables()
Gets an unmodifiable set of the Variable s in the
filtered belief state. 
void 
joseph(ListSet vars,
double[] y0,
double[][] C,
double[][] R,
double[] y)
Performs a linearGaussian measurement update using the Joseph form of the covariance update, which is numerically more stable. 
void 
marginalizeOut(Set mvars)
Marginalizes a set of variables out of the belief state. 
void 
measurement(ListSet vars,
double[] y0,
double[][] C,
double[][] R,
double[] y)
Performs a linearGaussian measurement update. 
void 
time(ListSet vars,
double[] x0,
double[][] A,
double[][] Q)
Performs a linearGaussian time update. 
Methods inherited from class java.lang.Object 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
Field Detail 
protected Gaussian p
Constructor Detail 
public KalmanFilter(Gaussian p)
p
 the initial belief stateMethod Detail 
public Gaussian getDistribution()
public void marginalizeOut(Set mvars)
marginalizeOut
in interface Filter
mvars
 a set of Variable
s to marginalize outpublic void measurement(ListSet vars, double[] y0, double[][] C, double[][] R, double[] y)
vars
, C
and R
define the
measurement equation as follows:
where w is a whitenoise variable with covariancey= y0
+C
x(vars
)+w
R
. Given the actual measurement y
,
this method updates the belief state.
measurement
in interface Filter
vars
 an ordered set of the variables with sum dimension
n in the belief state that causally influenced
this measurement; any variables in this list that are
not currently in the belief state are added with
uninformative priors.y0
 a kvector giving the constant termC
 a k by n observation matrix that defines the
linear measurement model (and whose columns are ordered
consistently with the order of vars
)R
 a k by k symmetric positive definite matrix
giving the covariance of the measurement white noisey
 the measurement kvector
IllegalArgumentException
 if there are any dimension mismatchespublic void joseph(ListSet vars, double[] y0, double[][] C, double[][] R, double[] y)
vars
, C
and
R
define the measurement equation as follows:
where w is a whitenoise variable with covariancey= y0
+C
x(vars
)+w
R
. Given the actual measurement y
,
this method updates the belief state.
vars
 an ordered set of the variables with sum dimension
n in the belief state that causally influenced
this measurement; any variables in this list that are
not currently in the belief state are added with
uninformative priors.y0
 a kvector giving the constant termC
 a k by n observation matrix that defines the
linear measurement model (and whose columns are ordered
consistently with the order of vars
)R
 a k by k symmetric positive definite matrix
giving the covariance of the measurement white noisey
 the measurement kvector
IllegalArgumentException
 if there are any dimension mismatchespublic void time(ListSet vars, double[] x0, double[][] A, double[][] Q)
vars
, A
and Q
define the
state evolution equation as follows:
where v is a whitenoise variable with covariancex_{t + 1}( vars
)=x0
+A
x_{t}(vars
)+v
Q
. All variables not in vars
are
assumed stationary.
time
in interface Filter
vars
 an ordered set of the variables with sum dimension n
in the belief state that evolve over timex0
 an nvector giving the constant termA
 an n by n evolution matrix that defines the
linear evolution model (and whose blocks are ordered
consistently with the order of vars
)Q
 an n by n symmetric positive definite matrix
giving the covariance of the evolution white noise (and
whose blocks are ordered consistently with the order
of vars
)
IllegalArgumentException
 if there are any dimension mismatches
or vars
contains variables
that are not in the current belief statepublic Gaussian getMarginal(Set vars)
getMarginal
in interface Filter
vars
 the set of Variable
s whose filtered
marginal is to be computed
vars
public Map getMarginals(Collection vars)
getMarginals
in interface Filter
vars
 a collection of Variable
s, or
null
to indicate all variables in the belief state
vars
and whose values are the corresponding
marginals (in the moment parameterization)public Set getVariables()
Variable
s in the
filtered belief state.
getVariables
in interface Filter


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 