de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.impl
Class MultiObsDistributionIndepGaussians<T extends Copyable<?>>

java.lang.Object
  extended by de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.abstracts.AbstractMultiObservationDistribution<S,T>
      extended by de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.abstracts.AbstractMultiObservationDistributionIndep<T,T>
          extended by de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.impl.MultiObsDistributionIndepGaussians<T>
Type Parameters:
T - class type of the observations' and states' discrete variables
All Implemented Interfaces:
ConditionalDistribution<AbstractMultiState<T>>, EvaluatableDistribution<AbstractMultiState<T>>, FirstOrderMoment<AbstractMultiState<T>>, IndependentlyEvaluatableDistribution<AbstractMultiState<T>>, LogEvaluatableDistribution<AbstractMultiState<T>>, LogIndependentlyEvaluatableDistribution<AbstractMultiState<T>>, SamplingDistribution<AbstractMultiState<T>>, SecondOrderCentralMoment<Jama.Matrix[]>

@ALDMetaInfo(export=ALLOWED)
public class MultiObsDistributionIndepGaussians<T extends Copyable<?>>
extends AbstractMultiObservationDistributionIndep<T,T>
implements SamplingDistribution<AbstractMultiState<T>>, FirstOrderMoment<AbstractMultiState<T>>, SecondOrderCentralMoment<Jama.Matrix[]>

A simple multi observation density, which assumes independence of the single observations with multivariate Gaussian noise. Further, the noise covariance matrices are identical for each object. Number of targets in observation and state must be equal!

Author:
Oliver Gress

Field Summary
protected  GaussianDistribution[] gaussian
          multivariate gaussian density object for evaluation
protected  Jama.Matrix[] H
          state-to-observation-space linear transform matrix
protected  Jama.Matrix[] R
          Gaussian measurement noise covariance matrix
 
Fields inherited from class de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.abstracts.AbstractMultiObservationDistribution
condX, factoryX, factoryZ
 
Constructor Summary
MultiObsDistributionIndepGaussians(Random rand, Jama.Matrix[] H, Jama.Matrix[] R, AbstractMultiState<T> X, AbstractMultiStateFactory<T> factoryX, AbstractMultiStateFactory<T> factoryZ)
           
MultiObsDistributionIndepGaussians(Random rand, Jama.Matrix[] H, Jama.Matrix[] R, MultiStateDistributionIndepGaussians<T> distribX, AbstractMultiStateFactory<T> factoryX, AbstractMultiStateFactory<T> factoryZ)
           
MultiObsDistributionIndepGaussians(Random rand, Jama.Matrix[] H, Jama.Matrix[] R, MultiStateLinTransDistributionIndepGaussians<T> transdistribX, AbstractMultiStateFactory<T> factoryX, AbstractMultiStateFactory<T> factoryZ)
           
MultiObsDistributionIndepGaussians(Random rand, Jama.Matrix H, Jama.Matrix R, AbstractMultiState<T> X, AbstractMultiStateFactory<T> factoryX, AbstractMultiStateFactory<T> factoryZ)
           
MultiObsDistributionIndepGaussians(Random rand, Jama.Matrix H, Jama.Matrix R, MultiStateDistributionIndepGaussians<T> distribX, AbstractMultiStateFactory<T> factoryX, AbstractMultiStateFactory<T> factoryZ)
           
MultiObsDistributionIndepGaussians(Random rand, Jama.Matrix H, Jama.Matrix R, MultiStateLinTransDistributionIndepGaussians<T> transdistribX, AbstractMultiStateFactory<T> factoryX, AbstractMultiStateFactory<T> factoryZ)
           
 
Method Summary
 AbstractMultiState<T> drawSample()
          Generate a new sample from this density.
 Jama.Matrix[] getCovariance()
           
 AbstractMultiState<T> getMean()
           
 int getNumOfIndeps()
           
 Jama.Matrix[] getObservationMatrices()
           
 double log_p(AbstractMultiState<T> Z)
          Evaluate natural logarithm of p(X) at location x. log(P(X=x))
 double log_p(AbstractMultiState<T> Z, int i)
          Evaluate the density independently for observation i in Z conditional on state i in X
 double log_p(AbstractMultiState<T> Z, int i, int j)
          Evaluate the density independently for observation i in Z conditional on state j in X
 double logp(AbstractMultiState<T> Z)
           
 double p(AbstractMultiState<T> Z)
          Evaluate p(X) at location x.
 double p(AbstractMultiState<T> Z, int i)
          Evaluate the density independently for observation i in Z conditional on state i in X
 double p(AbstractMultiState<T> Z, int i, int j)
          Evaluate the density independently for observation i in Z conditional on state j in X
 void setCondition(AbstractMultiState<T> X)
          Set the conditional variable
 
Methods inherited from class de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.abstracts.AbstractMultiObservationDistribution
getCondition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

H

protected Jama.Matrix[] H
state-to-observation-space linear transform matrix


R

protected Jama.Matrix[] R
Gaussian measurement noise covariance matrix


gaussian

protected GaussianDistribution[] gaussian
multivariate gaussian density object for evaluation

Constructor Detail

MultiObsDistributionIndepGaussians

public MultiObsDistributionIndepGaussians(Random rand,
                                          Jama.Matrix H,
                                          Jama.Matrix R,
                                          AbstractMultiState<T> X,
                                          AbstractMultiStateFactory<T> factoryX,
                                          AbstractMultiStateFactory<T> factoryZ)
                                   throws IllegalArgumentException
Parameters:
H - state-to-observation-space linear transform matrix
R - Gaussian noise covariance matrix
X - condition state
factoryX - factory to determine multi-target state layout
factoryZ - factory to determine multi-target observation layout
Throws:
IllegalArgumentException - if any dimensions of the input objects do not match

MultiObsDistributionIndepGaussians

public MultiObsDistributionIndepGaussians(Random rand,
                                          Jama.Matrix[] H,
                                          Jama.Matrix[] R,
                                          AbstractMultiState<T> X,
                                          AbstractMultiStateFactory<T> factoryX,
                                          AbstractMultiStateFactory<T> factoryZ)
                                   throws IllegalArgumentException
Parameters:
H - state-to-observation-space linear transform matrices
R - Gaussian noise covariance matrices
X - condition state
factoryX - factory to determine multi-target state layout
factoryZ - factory to determine multi-target observation layout
Throws:
IllegalArgumentException - if any dimensions of the input objects do not match

MultiObsDistributionIndepGaussians

public MultiObsDistributionIndepGaussians(Random rand,
                                          Jama.Matrix H,
                                          Jama.Matrix R,
                                          MultiStateDistributionIndepGaussians<T> distribX,
                                          AbstractMultiStateFactory<T> factoryX,
                                          AbstractMultiStateFactory<T> factoryZ)
                                   throws IllegalArgumentException
Parameters:
H - state-to-observation-space linear transform matrix
R - Gaussian noise covariance matrix
distribX - A Gaussian state distribution
factoryX - factory to determine multi-target state layout
factoryZ - factory to determine multi-target observation layout
Throws:
IllegalArgumentException - if any dimensions of the input objects do not match

MultiObsDistributionIndepGaussians

public MultiObsDistributionIndepGaussians(Random rand,
                                          Jama.Matrix[] H,
                                          Jama.Matrix[] R,
                                          MultiStateDistributionIndepGaussians<T> distribX,
                                          AbstractMultiStateFactory<T> factoryX,
                                          AbstractMultiStateFactory<T> factoryZ)
                                   throws IllegalArgumentException
Parameters:
H - state-to-observation-space linear transform matrices
R - Gaussian noise covariance matrices
X - condition state
factoryX - factory to determine multi-target state layout
factoryZ - factory to determine multi-target observation layout
Throws:
IllegalArgumentException - if any dimensions of the input objects do not match

MultiObsDistributionIndepGaussians

public MultiObsDistributionIndepGaussians(Random rand,
                                          Jama.Matrix H,
                                          Jama.Matrix R,
                                          MultiStateLinTransDistributionIndepGaussians<T> transdistribX,
                                          AbstractMultiStateFactory<T> factoryX,
                                          AbstractMultiStateFactory<T> factoryZ)
                                   throws IllegalArgumentException
Parameters:
H - state-to-observation-space linear transform matrix
R - Gaussian noise covariance matrix
transdistribX - A Gaussian state distribution
factoryX - factory to determine multi-target state layout
factoryZ - factory to determine multi-target observation layout
Throws:
IllegalArgumentException - if any dimensions of the input objects do not match

MultiObsDistributionIndepGaussians

public MultiObsDistributionIndepGaussians(Random rand,
                                          Jama.Matrix[] H,
                                          Jama.Matrix[] R,
                                          MultiStateLinTransDistributionIndepGaussians<T> transdistribX,
                                          AbstractMultiStateFactory<T> factoryX,
                                          AbstractMultiStateFactory<T> factoryZ)
                                   throws IllegalArgumentException
Parameters:
H - state-to-observation-space linear transform matrices
R - Gaussian noise covariance matrices
X - condition state
factoryX - factory to determine multi-target state layout
factoryZ - factory to determine multi-target observation layout
Throws:
IllegalArgumentException - if any dimensions of the input objects do not match
Method Detail

logp

public double logp(AbstractMultiState<T> Z)
            throws IllegalArgumentException
Throws:
IllegalArgumentException

p

public double p(AbstractMultiState<T> Z)
         throws IllegalArgumentException
Description copied from interface: EvaluatableDistribution
Evaluate p(X) at location x. P(X=x)

Specified by:
p in interface EvaluatableDistribution<AbstractMultiState<T extends Copyable<?>>>
Specified by:
p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Parameters:
Z - realization of random variable X
Returns:
value of p(X) at x
Throws:
IllegalArgumentException

p

public double p(AbstractMultiState<T> Z,
                int i)
Description copied from class: AbstractMultiObservationDistributionIndep
Evaluate the density independently for observation i in Z conditional on state i in X

Specified by:
p in interface IndependentlyEvaluatableDistribution<AbstractMultiState<T extends Copyable<?>>>
Specified by:
p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Parameters:
Z - realization of random variable X
i - i-th element in x
Returns:
value of p_i(X_i) at x_i

p

public double p(AbstractMultiState<T> Z,
                int i,
                int j)
Description copied from class: AbstractMultiObservationDistributionIndep
Evaluate the density independently for observation i in Z conditional on state j in X

Specified by:
p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Returns:

log_p

public double log_p(AbstractMultiState<T> Z)
Description copied from interface: LogEvaluatableDistribution
Evaluate natural logarithm of p(X) at location x. log(P(X=x))

Specified by:
log_p in interface LogEvaluatableDistribution<AbstractMultiState<T extends Copyable<?>>>
Specified by:
log_p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Parameters:
Z - realization of random variable X
Returns:
value of log(p(X)) at x

log_p

public double log_p(AbstractMultiState<T> Z,
                    int i)
Description copied from class: AbstractMultiObservationDistributionIndep
Evaluate the density independently for observation i in Z conditional on state i in X

Specified by:
log_p in interface LogIndependentlyEvaluatableDistribution<AbstractMultiState<T extends Copyable<?>>>
Specified by:
log_p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Parameters:
Z - realization of random variable X
i - i-th element in x
Returns:
value of log(p_i(X_i)) at x_i

log_p

public double log_p(AbstractMultiState<T> Z,
                    int i,
                    int j)
Description copied from class: AbstractMultiObservationDistributionIndep
Evaluate the density independently for observation i in Z conditional on state j in X

Specified by:
log_p in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>
Returns:

getMean

public AbstractMultiState<T> getMean()
Specified by:
getMean in interface FirstOrderMoment<AbstractMultiState<T extends Copyable<?>>>

drawSample

public AbstractMultiState<T> drawSample()
Description copied from interface: SamplingDistribution
Generate a new sample from this density. This method should create a new object.

Specified by:
drawSample in interface SamplingDistribution<AbstractMultiState<T extends Copyable<?>>>
Returns:
new sample object

getCovariance

public Jama.Matrix[] getCovariance()
Specified by:
getCovariance in interface SecondOrderCentralMoment<Jama.Matrix[]>

setCondition

public void setCondition(AbstractMultiState<T> X)
Description copied from interface: ConditionalDistribution
Set the conditional variable

Specified by:
setCondition in interface ConditionalDistribution<AbstractMultiState<T extends Copyable<?>>>
Overrides:
setCondition in class AbstractMultiObservationDistribution<T extends Copyable<?>,T extends Copyable<?>>
Parameters:
X - conditional variable

getObservationMatrices

public Jama.Matrix[] getObservationMatrices()

getNumOfIndeps

public int getNumOfIndeps()
Specified by:
getNumOfIndeps in class AbstractMultiObservationDistributionIndep<T extends Copyable<?>,T extends Copyable<?>>


Copyright © 2010–2015 Martin Luther University Halle-Wittenberg. All rights reserved.