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

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

00001 #define __cplusplus__
00002 #ifndef __POSSPOTTSMRF__
00003 #define __POSSPOTTSMRF__
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 <Possibility_MRF.hpp>
00014 
00015 using namespace std;
00016 
00027 class Possibility_Potts : public Possibility_MRF {
00029   double Beta ; 
00030   
00032   vector<double> S_mf;
00034   bool precomputed_smf;
00035 
00036   void Precompute_Smf( );
00037 
00038 public :
00040   Possibility_Potts();
00042   Possibility_Potts(Neighborhood_System *nhs, vector<uint> const& subk);
00044   Possibility_Potts(Neighborhood_System *nhs, vector<uint> const& subk, double bet, vector<uint> const & y );
00046   ~Possibility_Potts();
00047   
00049   void DeleteAll();
00050 
00052   double Get_Beta();
00053 
00055   void Set_Beta(double beta);
00056 
00058   void Gradient(vector<double> const &  tik, vector<double> & Q);
00059   
00061   double H(uint i, uint k, vector<uint>  const &  Z);
00063   double Hmf(uint i, uint k);
00064   
00066   void ReadFromFile(string filename);
00068   void WriteToFile(string filename);
00069 
00071   void Read_Params(istream & is);
00073   void Write_Params(ostream & os);
00074 
00076   uint Degrees_Of_Freedom();
00077 
00079   void Info();
00080 
00081 };
00082 
00083 #endif

Generated on Thu Oct 27 17:58:45 2005 for NEM by doxygen1.2.18