

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object  +javaslam.filter.InformationFilter
An Information 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 canonical potential representing the belief state. 
Constructor Summary  
InformationFilter(Gaussian p)
Constructor. 
Method Summary  
static Gaussian 
getConditionalGaussian(ListSet vars,
Matrix y0,
Matrix C,
Matrix R,
Matrix y)
Creates a linearGaussian measurement potential. 
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. 
static Gaussian 
getUnconditionalGaussian(ListSet newVars,
ListSet vars,
Matrix x0,
Matrix A,
Matrix Q)
Constructs a linearGaussian potential that introduces a set of new unobserved variables. 
Set 
getVariables()
Gets an unmodifiable set of the Variable s in the
filtered belief state. 
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 InformationFilter(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 static Gaussian getConditionalGaussian(ListSet vars, Matrix y0, Matrix C, Matrix R, Matrix 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 computes the potential over vars
that,
when multiplied into a distribution over vars
, has
the effect of conditioning on y
.
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
y
IllegalArgumentException
 if there are any dimension mismatchespublic 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 in O(1) time.
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 static Gaussian getUnconditionalGaussian(ListSet newVars, ListSet vars, Matrix x0, Matrix A, Matrix Q)
vars
,
newVars
, x0
, A
and
Q
define the distribution of the new variables as
follows:
where v is a whitenoise variable with covariancenewVars
=x0
A
vars
+v
Q
.
Multiplying the returned potential into a junction tree will not result in message passing; the junction tree is already consistent. This is because the new variables are barren nodes, i.e., unobserved children of the other variables, and thus do not change their distribution.
newVars
 an ordered set of variables with sum dimension
n that are not present in the belief statevars
 an ordered set of variables with sum dimension
m that are currently in the belief statex0
 an nvector giving the constant termA
 an n by m linear coefficient matrixQ
 an n by n symmetric positive definite
matrix giving the covariance of the white noise
newVars
into the belief state as a
directed child of vars
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 