work/mixpp/libBM.h

Go to the documentation of this file.
00001 
00013 #ifndef BM_H
00014 #define BM_H
00015 
00016 #include <itpp/itbase.h>
00017 //#include <std>
00018 
00019 using namespace itpp;
00020 
00026 class RV {
00027         int len;
00028         ivec ids;
00029         ivec sizes;
00030         ivec times;
00031         ivec obs;
00032         Array<std::string> names;
00033 
00034 private:
00035         void init ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times, ivec in_obs );
00036 public:
00038         RV ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times, ivec in_obs );
00040         RV ( ivec ids );
00042         RV ();
00043         
00045         friend std::ostream &operator<< ( std::ostream &os, const RV &rv );
00046 
00048         int length();
00050         ivec rvfind(RV rv2);
00052         RV rvadd(RV rv2);
00054         RV rvsubt(RV rv2);
00056         RV rvsubselect(ivec ind);
00058         RV operator()(ivec ind);
00060         void t(int delta);
00061 };
00062 
00063 
00064 
00065 
00067 class fnc {
00068         RV rv;
00069 };
00070 
00072 class BM {
00073 public:
00075         double ll;
00076 
00081         virtual void bayes ( const vec &dt, bool evall=true ) = 0;
00083         void bayes ( mat Dt );
00084 };
00085 
00087 class epdf {
00088         RV rv;
00089 public:
00091 //      virtual vec moment ( const int order = 1 );
00093         virtual vec sample (){};
00094         virtual double eval(const vec &val){};
00095 };
00096 
00098 class mpdf {
00100         RV rv;
00102         RV rvc;
00103 public:
00104 
00106 //      virtual fnc moment ( const int order = 1 );
00108         virtual vec samplecond (vec &cond, double lik){};
00109         virtual void condition (vec &cond){};
00110 };
00111 
00112 #endif // BM_H

Generated on Wed Jan 23 11:30:10 2008 for mixpp by  doxygen 1.5.3