Changeset 713 for library/bdm/base/bdmbase.h
- Timestamp:
- 11/10/09 11:03:09 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/base/bdmbase.h
r712 r713 429 429 430 430 //! Returns \param N samples from the density conditioned on \c cond, \f$x \sim epdf(rv|cond)\f$. \param cond is numeric value of \c rv 431 virtual mat samplecond_m ( const vec &cond, int N );431 virtual mat samplecond_mat ( const vec &cond, int N ); 432 432 433 433 //! Shortcut for conditioning and evaluation of the internal epdf. In some cases, this operation can be implemented efficiently. … … 438 438 439 439 //! Matrix version of evallogcond 440 virtual vec evallogcond_m ( const mat &Yt, const vec &cond ) {440 virtual vec evallogcond_mat ( const mat &Yt, const vec &cond ) { 441 441 vec v ( Yt.cols() ); 442 442 for ( int i = 0; i < Yt.cols(); i++ ) { … … 447 447 448 448 //! Array<vec> version of evallogcond 449 virtual vec evallogcond_m ( const Array<vec> &Yt, const vec &cond ) {449 virtual vec evallogcond_mat ( const Array<vec> &Yt, const vec &cond ) { 450 450 bdm_error ( "Not implemented" ); 451 451 return vec(); … … 534 534 535 535 //! Returns N samples, \f$ [x_1 , x_2 , \ldots \ \f$ from density \f$ f_x(rv)\f$ 536 virtual mat sample_m ( int N ) const;536 virtual mat sample_mat ( int N ) const; 537 537 538 538 //! Compute log-probability of argument \c val … … 544 544 545 545 //! Compute log-probability of multiple values argument \c val 546 virtual vec evallog_m ( const mat &Val ) const;546 virtual vec evallog_mat ( const mat &Val ) const; 547 547 548 548 //! Compute log-probability of multiple values argument \c val 549 virtual vec evallog_m ( const Array<vec> &Avec ) const;549 virtual vec evallog_mat ( const Array<vec> &Avec ) const; 550 550 551 551 //! Return conditional density on the given RV, the remaining rvs will be in conditioning … … 669 669 double evallogcond ( const vec &val, const vec &cond ); 670 670 //! Efficient version of evallogcond for matrices 671 virtual vec evallogcond_m ( const mat &Dt, const vec &cond );671 virtual vec evallogcond_mat ( const mat &Dt, const vec &cond ); 672 672 //! Efficient version of evallogcond for Array<vec> 673 virtual vec evallogcond_m ( const Array<vec> &Dt, const vec &cond );673 virtual vec evallogcond_mat ( const Array<vec> &Dt, const vec &cond ); 674 674 //! Efficient version of samplecond 675 virtual mat samplecond_m ( const vec &cond, int N );675 virtual mat samplecond_mat ( const vec &cond, int N ); 676 676 677 677 void validate() { … … 1117 1117 1118 1118 //! Matrix version of logpred 1119 vec logpred_m ( const mat &Yt ) const {1119 vec logpred_mat ( const mat &Yt ) const { 1120 1120 vec tmp ( Yt.cols() ); 1121 1121 for ( int i = 0; i < Yt.cols(); i++ ) { … … 1253 1253 1254 1254 template<class EPDF> 1255 mat pdf_internal<EPDF>::samplecond_m ( const vec &cond, int N ) {1255 mat pdf_internal<EPDF>::samplecond_mat ( const vec &cond, int N ) { 1256 1256 condition ( cond ); 1257 1257 mat temp ( dimension(), N ); … … 1274 1274 1275 1275 template<class EPDF> 1276 vec pdf_internal<EPDF>::evallogcond_m ( const mat &Yt, const vec &cond ) {1276 vec pdf_internal<EPDF>::evallogcond_mat ( const mat &Yt, const vec &cond ) { 1277 1277 condition ( cond ); 1278 return iepdf.evallog_m ( Yt );1278 return iepdf.evallog_mat ( Yt ); 1279 1279 } 1280 1280 1281 1281 template<class EPDF> 1282 vec pdf_internal<EPDF>::evallogcond_m ( const Array<vec> &Yt, const vec &cond ) {1282 vec pdf_internal<EPDF>::evallogcond_mat ( const Array<vec> &Yt, const vec &cond ) { 1283 1283 condition ( cond ); 1284 return iepdf.evallog_m ( Yt );1284 return iepdf.evallog_mat ( Yt ); 1285 1285 } 1286 1286