Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/home/mistis/jblanche/DEV/NEM/include/Normal_DMRF.hpp

00001 #define __cplusplus__
00002 #ifndef __GAUSSDMRF__
00003 #define __GAUSSDMRF__
00004 
00005 #include<iostream>
00006 #include<istream>
00007 #include<fstream>
00008 #include<string>
00009 #include<vector>
00010 #include<sstream>
00011 #include <cmath>
00012 
00013 #include <DHMRF.hpp>
00014 #include <Spatial_Data.hpp>
00015 #include <Normal.hpp>
00016 
00017 using namespace std;
00018 
00019 
00028 class Normal_DMRF : public DHMRF{
00029   
00030   vector<Normal *> Gaussians;
00031 
00033   void cholesky_all();
00034 
00035   
00036 
00037 public :
00038   
00039 
00041   Normal_DMRF();
00043   Normal_DMRF(vector<uint> subk, uint dim, Neighborhood_System *nhs );  
00045   Normal_DMRF(MRF *y, Conditional_MRF *z, vector<Normal *> const & gaussians);  
00047   ~Normal_DMRF();
00048 
00050   void DeleteAll();
00051 
00052   
00054   uint Get_D();
00055 
00057   void Simulate(Data *dat, uint gibbs_sampler_nbiter);
00058 
00060   void Simulate(Data *dat, double grad_tol);
00061 
00062   uint Degrees_Of_Freedom();
00063 
00065   virtual double Density(vector<double> const &  X, uint k);
00067   virtual double Density(uint i, vector<double> const &  xi, uint l);
00069   virtual double Density(uint i, vector<double> const & xi, vector<uint> const & z, uint l);
00070 
00071   // I/O Functions
00073   void ReadFromFile(string filename); 
00075   void WriteToFile(string filename); 
00076 
00078   void Info();
00079 
00081   void NREM_E(Spatial_Data *spatd, vector<double> & tip);
00083   void NREM_M(Spatial_Data *spatd, vector<double> const &   tip);
00084 
00085 
00086 };
00087 
00088 
00089 #endif

Generated on Tue Nov 8 14:55:45 2005 for NEM by doxygen1.2.18