indii/ml/filter/flags.hpp

Go to the documentation of this file.
00001 #ifndef INDII_ML_FILTER_FLAGS_HPP
00002 #define INDII_ML_FILTER_FLAGS_HPP
00003 
00004 /**
00005  * @file flags.hpp
00006  *
00007  * Optimisation flags for KernelForwardBackwardSmoother and
00008  * KernelTwoFilterSmoother.
00009  */
00010 
00011 namespace indii {
00012   namespace ml {
00013     namespace filter {
00014   /**
00015    * Optimisation flags. These may be ORed and passed to the smooth()
00016    * methods to trigger optimisations relevant in specific circumstances.
00017    */
00018   enum Flags {
00019     /**
00020      * Do not standardise kernel density evaluations.
00021      *
00022      * The support of \f$p(\mathbf{x}_{n+1}\,|\,\mathbf{y}_{1:n})\f$ and
00023      * \f$p(\mathbf{x}_{n+1}\,|\,\mathbf{y}_{1:T})\f$ is assumed equivalent.
00024      */
00025     NO_STANDARDISATION = 1,
00026     
00027     /**
00028      * Assume no resampling was performed by the %filter between times
00029      * \f$t_n\f$ and \f$t_{n+1}\f$.
00030      *
00031      * In the case that the %filter density is used as proposal distribution,
00032      * this allows reuse of the components supporting \f$p(\mathbf{x}_{n+1}\,
00033      * |\,\mathbf{y}_{1:n})\f$ as the propagations of the proposal particles
00034      * from \f$q(\mathbf{x}_n) = p(\mathbf{x}_n\,|\,\mathbf{y}_{1:n})\f$.
00035      * In addition, if NO_STANDARDISATION is set, a self-tree kernel density
00036      * evaluation is performed.
00037      */
00038     NO_RESAMPLING = 2,
00039     
00040     /**
00041      * Assume that the proposal distribution is the same as the last call
00042      * to smooth().
00043      *
00044      * In this case, samples from the proposal distribution are reused from
00045      * the last call.
00046      */
00047     SAME_PROPOSAL = 4,
00048     
00049     /**
00050      * If SAME_PROPOSAL is set, additionally reuse the propagations of the
00051      * proposal samples from the last call.
00052      */
00053     SAME_PROPAGATIONS = 8,
00054 
00055     /**
00056      * Use filter-smoother when applicable. This is significantly faster,
00057      * but may reduce sampling effectiveness.
00058      */
00059     FILTER_SMOOTHER = 16
00060     
00061   };
00062 
00063     }
00064   }
00065 }
00066 
00067 #endif
00068 

Generated on Wed Dec 17 15:11:57 2008 for dysii Dynamical Systems Library by  doxygen 1.5.3