Changeset 970 for library/bdm/stat/exp_family.cpp
- Timestamp:
- 05/23/10 11:39:58 (14 years ago)
- Files:
-
- 1 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 }