Changeset 907 for library/bdm/stat/exp_family.cpp
- Timestamp:
- 04/19/10 12:44:57 (14 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/stat/exp_family.cpp
r889 r907 298 298 299 299 void egiw::log_register ( bdm::logger& L, const string& prefix ) { 300 if ( log_level[ tri] ) {300 if ( log_level[logmean] || log_level[logvariance] ) { 301 301 root::log_register ( L, prefix ); 302 logrec->ids.set_length ( 2 );303 302 int th_dim = dimension() - dimx * ( dimx + 1 ) / 2; 304 logrec->ids ( 0 ) = L.add_vector ( RV ( "", th_dim ), prefix, "mean" ); 305 logrec->ids ( 1 ) = L.add_vector ( RV ( "", th_dim * th_dim ), prefix, "variance" ); 303 304 if ( log_level[logmean] ) 305 registered_logger->add_vector( log_level, logmean, RV ( th_dim ), prefix ); 306 if ( log_level[logvariance] ) 307 registered_logger->add_vector( log_level, logvariance, RV ( th_dim * th_dim ), prefix ); 306 308 } else { 307 309 epdf::log_register ( L, prefix ); … … 310 312 311 313 void egiw::log_write() const { 312 if ( log_level[ tri] ) {314 if ( log_level[logmean] || log_level[logvariance] ) { 313 315 mat M; 314 316 ldmat Lam; 315 317 ldmat Vz; 316 318 factorize ( M, Vz, Lam ); 317 logrec->L.log_vector ( logrec->ids ( 0 ), est_theta() ); 318 logrec->L.log_vector ( logrec->ids ( 1 ), cvectorize ( est_theta_cov().to_mat() ) ); 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() ) ); 319 323 } else { 320 324 epdf::log_write(); 321 325 } 322 323 326 } 324 327