Changeset 1014 for library/bdm/estim/mixtures.cpp
- Timestamp:
- 05/27/10 23:07:57 (14 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/estim/mixtures.cpp
r1013 r1014 18 18 // Coms(0)->set_evalll(false); 19 19 Coms ( 0 )->bayes_batch ( Data ); 20 // Flatten it to its original shape 21 shared_ptr<BMEF> SharpCom((BMEF*)Coms(0)->_copy()); 20 22 21 Coms ( 0 )->flatten ( Com0 ); 23 22 … … 34 33 } else { // pick at random 35 34 int ind = (int) floor ( ndat * UniRNG.sample() ); 36 Coms ( i )->bayes_weighted ( Data.get_col ( ind ), empty_vec, ndat/Coms.length() ); 35 Coms ( i )->bayes_weighted ( Data.get_col ( ind ), empty_vec, ndat ); 36 Coms (i)->flatten(Com0,ndat/Coms.length()); 37 37 } 38 38 //sharpen to the sharp component 39 39 //Coms ( i )->flatten ( SharpCom.get(), 1.0/Coms.length() ); 40 40 } 41 MixEF_options old_opt =options; 42 MixEF_options ini_opt=options; 43 ini_opt.method = EM; 44 ini_opt.max_niter= 1; 45 bayes_batch(Data, empty_vec); 46 47 for ( i = 0; i < Coms.length(); i++ ) { 48 Coms (i)->flatten(Com0); 49 } 50 51 options = old_opt; 41 52 } 42 53 … … 83 94 84 95 maxll = max ( ll, maxi ); 85 switch ( method ) {96 switch ( options.method ) { 86 97 case QB: 87 98 w = exp ( ll - maxll );