Changeset 970 for library/bdm/stat
- Timestamp:
- 05/23/10 11:39:58 (14 years ago)
- Location:
- library/bdm/stat
- Files:
-
- 2 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/stat/exp_family.cpp
r957 r970 298 298 299 299 void egiw::log_register ( bdm::logger& L, const string& prefix ) { 300 if ( log_level[logmean] || log_level[logvariance] ) { 301 root::log_register ( L, prefix ); 302 int th_dim = dimension() - dimx * ( dimx + 1 ) / 2; 303 304 if ( log_level[logmean] ) 305 L.add_vector( log_level, logmean, RV ( th_dim ), prefix ); 306 if ( log_level[logvariance] ) 307 L.add_vector( log_level, logvariance, RV ( th_dim * th_dim ), prefix ); 308 } else { 309 epdf::log_register ( L, prefix ); 300 epdf::log_register ( L, prefix ); 301 if ( log_level[logvartheta] ) { 302 int th_dim = dim - dimx*dimx; // dimension - dimension of cov 303 L.add_vector( log_level, logvartheta, RV ( th_dim ), prefix ); 310 304 } 311 305 } 312 306 313 307 void egiw::log_write() const { 314 if ( log_level[logmean] || log_level[logvariance] ) { 308 epdf::log_write(); 309 if ( log_level[logvartheta] ) { 315 310 mat M; 316 311 ldmat Lam; 317 312 ldmat Vz; 318 313 factorize ( M, Vz, Lam ); 319 if( log_level[logmean] ) 320 log_level.store( logmean, est_theta() ); 321 if( log_level[logvariance] ) 322 log_level.store( logvariance, cvectorize ( est_theta_cov().to_mat() ) ); 323 } else { 324 epdf::log_write(); 314 if( log_level[logvartheta] ) 315 log_level.store( logvartheta, cvectorize ( est_theta_cov().to_mat() ) ); 325 316 } 326 317 } -
library/bdm/stat/exp_family.h
r964 r970 296 296 297 297 vec mean() const {return mu;} 298 mat covariance() const {return delta/(delta-2)*H.to_mat();} 298 mat covariance() const { 299 return delta/(delta-2)*H.to_mat(); 300 } 299 301 vec variance() const {return diag(covariance());} 300 302 //! \name access … … 338 340 */ 339 341 class egiw : public eEF { 340 //! \var log_level_enums logvariance 341 //! TODO DOPLNIT 342 343 //! \var log_level_enums logmean 344 //! TODO DOPLNIT 345 LOG_LEVEL(egiw,logmean, logvariance); 342 //! \var log_level_enums logvartheta 343 //! Log variance of the theta part 344 345 LOG_LEVEL(egiw,logvartheta); 346 346 347 347 protected: