|
||||||||||
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 linear-Gaussian 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 linear-Gaussian measurement update. |
void |
time(ListSet vars,
double[] x0,
double[][] A,
double[][] Q)
Performs a linear-Gaussian 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 white-noise 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 k-vector 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 k-vector
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 white-noise 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 k-vector 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 k-vector
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 white-noise variable with covariancext + 1( vars
)=x0
+A
xt(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 n-vector 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 |